Агрегирование нескольких уровней иерархии «ребенок-родитель» - PullRequest
0 голосов
/ 26 апреля 2019

Я составляю часть работы, которая показывает, насколько хорошо работают разные менеджеры. Каждый менеджер имеет разное количество сотрудников, и многие из них тоже менеджеры, которые также управляют менеджерами. От верха организации до низа - не более 9 уровней управления.

То, чего я хочу достичь, это фигура менеджера А, показывающая его личную фигуру, а также всех, кто под ним. Типичные способы показывают только совокупность людей непосредственно под ним, а не всех людей под этим менеджером.

Уже пытались определить путь к каждому сотруднику, чтобы все ссылались на «команду» (например, 1, 1.1, 1.2, 1.3 представляет менеджера, а затем его трех сотрудников). Это была идея такого рода:

CAST(ROW_NUMBER() OVER (ORDER BY m.[Line Manager]) AS VARCHAR(MAX)) COLLATE Latin1_General_BIN

Именно здесь у меня закончились идеи о том, как это расширить.

Ожидается, что Менеджер 1.1 будет дополнением к 1.1.1, 1.1.2 и т. Д., Где 1.1.1 - это сумма к 1.1.1.1, 1.1.1.2 и т. Д. С которыми я столкнулся, это то, что Менеджер 1.1 .1 ТАКЖЕ есть свой личный показатель, который играет роль.

Я учитывал, что сотрудник с путем 1.1.1.1 и 1.1.1.2 принадлежит к команде 1.1.1, а затем принудительно вводит это вместе с идентификатором менеджера, который ставит его как 1.1.1.

Любая помощь будет решительно оценена!

...