Поделиться через


Общие сведения о функциях иерархий родительского-дочернего элемента в DAX

DAX предоставляет пять функций, помогающих пользователям управлять данными, представленными в качестве иерархии родительского-дочернего элемента в своих моделях. С помощью этих функций пользователь может получить всю строку происхождения родителей, сколько уровней имеет происхождение верхнего родительского элемента, который является родительским n-уровнем над текущей строкой, который является n-потомком из верхней части текущей иерархии строк, and является определенным родительским родителем в текущей иерархии строк?

Родительские дочерние функции в DAX

Следующая таблица contains иерархию Parent-Child столбцов: EmployeeKeyandParentEmployeeKey, которая используется в all примерах функций.

EmployeeKey ParentEmployeeKey
112
14 112
3 14
11 3
13 3
162 3
117 162
221 162
81 162

В приведенной выше таблице видно, что у сотрудника 112 нет родительского определения, сотрудник 14 имеет сотрудников 112 в качестве руководителя (ParentEmployeeKey), сотрудник 3 имеет сотрудников 14 в качестве руководителя and сотрудников 11, 13, and 162 имеют сотрудников 3 в качестве руководителя. Выше показано, что сотрудник 112 не имеет руководителя над ней или его and она /он является топ-менеджером для all сотрудников, показанных здесь; кроме того, сотрудник 3 сообщает сотрудникам 14 and сотрудникам 11, 13, 162 отчета до 3.

В следующей таблице представлены доступные функции, краткое описание функции and пример функции над теми же данными, которые показаны выше.

функции — возвращает разделенный текст с идентификаторами родители в текущую строку, начиная с самого старого сверху до текущего.

EmployeeKey ParentEmployeeKey Path
112 112
14 112 112|14
3 14 112|14|3
11 3 112|14|3|11
13 3 112|14|3|13
162 3 112|14|3|162
117 162 112|14|3|162|117
221 162 112|14|3|162|221
81 162 112|14|3|162|81

PATHLENGTH функция . Возвращает количество уровней в заданной PATH(), начиная с текущего уровня до самого старого or верхнего родительского уровня. В следующем примере столбец PathLength определяется как '= PATHLENGTH([Path])'; В этом примере содержатся all данные из примера Path(), которые помогут понять, как работает эта функция.

EmployeeKey ParentEmployeeKey Path PathLength
112 112 1
14 112 112|14 2
3 14 112|14|3 3
11 3 112|14|3|11 4
13 3 112|14|3|13 4
162 3 112|14|3|162 4
117 162 112|14|3|162|117 5
221 162 112|14|3|162|221 5
81 162 112|14|3|162|81 5

функции — возвращает элемент в указанной позиции из (например, результат, подсчет от до ). В следующем примере столбец PathItem - 4 из left определяется как "= PATHITEM([Path], 4)"; в этом примере возвращается значение "НанимайКи" в четвертой позиции в строке Path из left, используя те же sample данные из примера Path().

EmployeeKey ParentEmployeeKey Path PathItem - 4-е из left
112 112
14 112 112|14
3 14 112|14|3
11 3 112|14|3|11 11
13 3 112|14|3|13 13
162 3 112|14|3|162 162
117 162 112|14|3|162|117 162
221 162 112|14|3|162|221 162
81 162 112|14|3|162|81 162

PATHITEMREVERSE функция — возвращает элемент position из результата PATH(), например результата функции, подсчет обратно от right до left. В следующем примере столбец PathItemReverse - 3-й из right определяется как "= PATHITEMREVERSE([Path], 3)"; В этом примере возвращается значение "Нанимайки" в третьей позиции в строке Path из right, используя те же sample данные из примера Path().

EmployeeKey ParentEmployeeKey Path PathItemReverse - 3-е из right
112 112
14 112 112|14
3 14 112|14|3 112
11 3 112|14|3|11 14
13 3 112|14|3|13 14
162 3 112|14|3|162 14
117 162 112|14|3|162|117 3
221 162 112|14|3|162|221 3
81 162 112|14|3|162|81 3

функция PATHCONTAINS — возвращает TRUEif указанное item существует в пределах указанного path. В следующем примере столбца PathContains — employee 162 определяется как "= PATHCONTAINS([Path], "162")"; в этом примере возвращается TRUEif заданного pathcontains сотрудника 162. В этом примере используются результаты из приведенного выше примера Path().

EmployeeKey ParentEmployeeKey Path PathContains - сотрудник 162
112 112 FALSE
14 112 112|14 FALSE
3 14 112|14|3 FALSE
11 3 112|14|3|11 FALSE
13 3 112|14|3|13 FALSE
162 3 112|14|3|162 TRUE
117 162 112|14|3|162|117 TRUE