다음을 통해 공유


DAX 부모-자식 계층 구조에 대한 함수 이해

DAX 사용자가 모델에서 부모-자식 계층 구조로 표시되는 데이터를 관리하는 데 도움이 되는 5가지 함수를 제공합니다. 이 함수를 사용하면 사용자가 행에 있는 부모의 전체 계보를 가져올 수 있으며, 현재 행 위의 상위 n-수준인 상위 상위 부모에 대한 계보가 있는 수준은 몇 개입니까? 현재 행 계층 구조의 맨 위에서 n-하위 항목인 and 현재 행 계층 구조에서 부모가 특정 부모인가요?

DAX 부모-자식 함수

다음 표에서는 열의 Parent-Child 계층 구조를 contains 있습니다. 함수 예제를 데 사용되는 andall.

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 위에 표시된 동일한 데이터에 대한 함수의 예를 보여 줍니다.

PATH 함수 - 부모 all 식별자가 있는 구분된 텍스트를 현재 행으로 반환하며, 가장 오래된 or 맨 위로부터 시작합니다.

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 함수 - 결과와 같은 PATH()에서 지정된 위치에 있는 항목을 leftright계산하여 반환합니다. 다음 예제 열 PathItem - left 4번째 열은 '= PATHITEM([Path], 4)'으로 정의됩니다. 이 예제에서는 Path() 예제의 동일한 left 데이터를 사용하여 samplePath 문자열의 네 번째 위치에 있는 EmployeKey를 반환합니다.

EmployeeKey ParentEmployeeKey Path PathItem - left 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 항목을 반환하고 rightleft뒤로 계산합니다. 다음 예제 열 PathItemReverse - right 3번째 열은 '= PATHITEMREVERSE([Path], 3)'으로 정의됩니다. 이 예제에서는 Path() 예제의 동일한 right 데이터를 사용하여 samplePath 문자열의 세 번째 위치에 있는 EmployeKey를 반환합니다.

EmployeeKey ParentEmployeeKey Path PathItemReverse - right 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내에 지정된 if 존재하는 itempath 반환합니다. 다음 예제 열 PathContains - 직원 162는 '= PATHCONTAINS([Path], "162")'으로 정의됩니다. 이 예제에서는 지정된 TRUEif 직원 162를 pathcontains 반환합니다. 이 예제에서는 위의 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