Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DAX предоставляет пять функций, помогающих пользователям управлять данными, представленными в качестве иерархии родительского-дочернего элемента в своих моделях. С помощью этих функций пользователь может получить всю строку происхождения родителей, сколько уровней имеет происхождение верхнего родителя, который является родительским n-уровнем над текущей строкой, который является n-потомком из верхней части текущей иерархии строк и является родительским родителем в текущей иерархии строк?
Родительские дочерние функции в DAX
В следующей таблице содержится иерархия Parent-Child столбцов: EmployeeKey и ParentEmployeeKey, которая используется во всех примерах функций.
| 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 в качестве руководителя и сотрудников 11, 13 и 162 имеют сотрудников 3 в качестве руководителя. Приведенный выше помогает понять, что у сотрудника 112 нет руководителя над ней/ей, и она/она является топ-менеджером для всех сотрудников, показанных здесь; кроме того, сотрудник 3 сообщает сотрудникам 14 и сотрудникам 11, 13, 162 отчета до 3.
В следующей таблице представлены доступные функции, краткое описание функции и пример функции над теми же данными, которые показаны выше.
PATH функция — возвращает разделенный текст с идентификаторами всех родителей в текущую строку, начиная с самого старого или верхнего до текущего.
| EmployeeKey | ParentEmployeeKey | Путь |
|---|---|---|
| 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(), начиная с текущего уровня до самого старого или верхнего родительского уровня. В следующем примере столбец PathLength определяется как "= PATHLENGTH([Path])"; В этом примере содержатся все данные из примера Path(), которые помогут понять, как работает эта функция.
| EmployeeKey | ParentEmployeeKey | Путь | 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 функция — возвращает элемент в указанной позиции из PATH(например, результат, подсчет слева направо). В следующем примере столбец PathItem — 4-й слева определяется как "= PATHITEM([Path], 4)"; В этом примере возвращается значение "Нанимайки" в четвертой позиции в строке пути слева, используя те же образцы данных из примера Path().
| EmployeeKey | ParentEmployeeKey | Путь | PathItem — 4-й слева |
|---|---|---|---|
| 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(например, результата функции), подсчитывая обратно справа налево.
В следующем примере столбец PathItemReverse — 3rd from right определяется как "= PATHITEMREVERSE([Path], 3)"; в этом примере возвращается функция UsingeKey в третьей позиции в строке path справа, используя те же примеры данных из примера Path().
| EmployeeKey | ParentEmployeeKey | Путь | PathItemReverse — 3-е место справа |
|---|---|---|---|
| 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 — возвращает TRUE, если указанный item существует в пределах указанного path. В следующем примере столбец PathContains — employee 162 определяется как "= PATHCONTAINS([Path], "162")"; в этом примере возвращается TRUE, если заданный путь содержит сотрудник 162. В этом примере используются результаты из приведенного выше примера Path().
| EmployeeKey | ParentEmployeeKey | Путь | 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 |