DAX의 부모-자식 계층에 대한 함수 이해
DAX는 해당 모델에서 부모-자식 계층으로 제공되는 데이터를 관리할 수 있도록 다섯 가지 함수를 제공합니다. 이러한 함수를 사용하면 행에 포함된 부모 항목의 전체 계보를 가져올 수 있으며, 최상위 항목에 대한 계보가 포함된 수준 수, 현재 행에서 n 수준 위에 있는 부모 항목, 현재 행 계층의 최상위 항목으로부터 n 수준 아래의 하위 항목, 현재 행 계층에 있는 특정 부모 항목을 확인할 수 있습니다.
DAX의 부모-자식 함수
다음 표에는 모든 함수 예에 사용된 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' 열은 '=PATH(EmployeeKey, ParentEmployeeKey)'로 정의됩니다.
|
|||||||||||||||||||||||||||||||||||||||||
현재 수준에서 시작하여 가장 오래되었거나 가장 위에 있는 부모 수준까지 제공된 PATH()에 있는 수준 수를 반환합니다. 다음 예에서 PathLength 열은 '=PATHLENGTH([Path])'로 정의됩니다. 이 예에는 이 함수의 작동 방식을 이해할 수 있도록 Path() 예의 모든 데이터가 포함되어 있습니다.
|
|||||||||||||||||||||||||||||||||||||||||
왼쪽부터 오른쪽의 순서로 PATH()와 비슷한 결과에서 지정된 위치에 있는 항목을 반환합니다. 다음 예에서 PathItem - 4th from left 열은 '=PATHITEM([Path], 4)'으로 정의됩니다. 이 예에서는 Path() 예의 동일 예제 데이터를 사용하여 Path 문자열에서 왼쪽부터 네 번째 위치에 있는 EmployeKey를 반환합니다.
|
|||||||||||||||||||||||||||||||||||||||||
오른쪽부터 왼쪽의 순서로 PATH()와 비슷한 함수 결과에서 position에 있는 항목을 반환합니다. 다음 예에서 PathItemReverse - 3rd from right 열은 '=PATHITEMREVERSE([Path], 3)'로 정의됩니다. 이 예에서는 Path() 예의 동일 예제 데이터를 사용하여 Path 문자열에서 오른쪽부터 세 번째 위치에 있는 EmployeKey를 반환합니다.
|
|||||||||||||||||||||||||||||||||||||||||
지정된 item이 지정된 path 내에 있는 경우 TRUE를 반환합니다. 다음 예에서 PathContains - employee 162 열은 '=PATHCONTAINS([Path], "162")'로 정의됩니다. 이 예에서는 지정된 경로에 직원 162가 포함된 경우 TRUE를 반환합니다. 이 예에서는 위의 Path() 예에서 가져온 결과가 사용됩니다.
|
주의 |
---|
SQL Server 2012 Analysis Services에서 xVelocity 메모리 내 엔진(VertiPaq)은 부모-자식 계층에 대한 정의를 지원하지 않습니다. 하지만 DAX 언어는 사용자가 부모-자식 계층을 탐색하고 이러한 계층을 수식에 사용할 수 있도록 하는 일련의 함수를 제공합니다. |