Compartir a través de


Descripción de las funciones de las jerarquías de elementos primarios y secundarios en DAX

DAX proporciona cinco funciones para ayudar a los usuarios a administrar los datos que se presentan como una jerarquía de elementos primarios y secundarios en sus modelos. Con esta función, un usuario puede obtener todo el linaje de los elementos primarios que tiene una fila, cuántos niveles tienen el linaje al elemento primario superior, que es el n-niveles primarios por encima de la fila actual, que es el n-descendiente de la parte superior de la jerarquía de filas actual and es cierto primario en la jerarquía de filas actual?

Funciones de elementos primarios y secundarios en DAX

En la tabla siguiente se contains una jerarquía de Parent-Child en las columnas: EmployeeKeyandParentEmployeeKey que se usa en all los ejemplos de funciones.

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

En la tabla anterior puede ver que el empleado 112 no tiene definido ningún padre, el empleado 14 tiene empleado 112 como administrador (ParentEmployeeKey), el empleado 3 tiene empleado 14 como administrador and empleados 11, 13, and 162 tienen empleado 3 como administrador. Lo anterior ayuda a comprender que el empleado 112 no tiene ningún jefe por encima de ella/él and ella/él es el jefe superior para all empleados mostrados aquí; además, el empleado 3 informa al empleado 14 and empleados 11, 13, 162 a 3.

En la tabla siguiente se presentan las funciones disponibles, una breve descripción de la función and un ejemplo de la función sobre los mismos datos mostrados anteriormente.

PATH función: devuelve un texto delimitado con los identificadores de all los elementos primarios a la fila actual, empezando por el or más antiguo hasta el actual.

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 función: devuelve el número de niveles de un PATHdeterminado (), comenzando en el nivel actual hasta el nivel más antiguo or nivel primario más antiguo. En la columna de ejemplo siguiente PathLength se define como "= PATHLENGTH([Path])"; El ejemplo incluye all datos del ejemplo de Path() para ayudar a comprender cómo funciona esta función.

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 función: devuelve el elemento en la posición especificada de un PATH() como resultado, contando de left a right. En la columna de ejemplo siguiente PathItem - 4 de left se define como "= PATHITEM([Path], 4)"; En este ejemplo se devuelve la clase EmployeKey en la cuarta posición de la cadena Path del left, utilizando los mismos datos de sample del ejemplo de Path().

EmployeeKey ParentEmployeeKey Path PathItem- 4 de 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 función: devuelve el elemento en position de un PATH() como resultado de la función, contando hacia atrás de right a left. En la siguiente columna de ejemplo PathItemReverse - 3rd de right se define como "= PATHITEMREVERSE([Path], 3)"; En este ejemplo se devuelve la clase EmployeKey en la tercera posición de la cadena Path del right, utilizando los mismos datos de sample del ejemplo de Path().

EmployeeKey ParentEmployeeKey Path PathItemReverse: 3 de 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 función: devuelve TRUEif existe el item especificado en el pathespecificado. En la siguiente columna de ejemplo PathContains - empleado 162 se define como "= PATHCONTAINS([Path], "162")"; en este ejemplo se devuelve TRUEif el empleado de pathcontains especificado 162. En este ejemplo se usan los resultados del ejemplo de Path() anterior.

EmployeeKey ParentEmployeeKey Path PathContains - empleado 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