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

DAX proporciona cinco funciones para ayudar a los usuarios a administrar los datos que se muestran como una jerarquía de elementos primarios y secundarios en los modelos. Con estas funciones, un usuario puede obtener el linaje completo de elementos primarios de una fila o el número de niveles del linaje hasta el elemento primario superior. Puede averiguar cuál es el elemento primario del nivel n por encima de la fila actual, cual es el descendiente n desde la parte superior de la jerarquía de filas actual, y si un elemento primario determinado es un elemento primario de la jerarquía de fila actual.

En este artículo

Funciones de elemento primario y secundario en DAX

Funciones de elemento primario y secundario en DAX

La tabla siguiente contiene una jerarquía de elementos primarios y secundarios en las columnas EmployeeKey y ParentEmployeeKey, que se utiliza en todos 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 se ve que el empleado 112 no tiene definido ningún elemento primario, el empleado 14 tiene al empleado 112 como jefe (ParentEmployeeKey), el empleado 3 tiene al empleado 14 como jefe, y los empleados 11, 13 y 162 tienen al empleado 3 como jefe. La tabla hace más fácil ver que el empleado 112 no tienen un jefe por encima, y que es el jefe superior de todos los empleados de la tabla. También, que el empleado 3 está por debajo del empleado 14, y que los empleados 11, 13 y 162 están por debajo del empleado 3.

En la tabla siguiente se muestran las funciones disponibles, una breve descripción de la función y un ejemplo de la función con los mismos datos anteriores.

Función

Descripción y ejemplo

Función PATH

Devuelve una cadena de texto delimitada con los identificadores de todos los elementos primarios de la fila actual, comenzando con el más antiguo o superior y continuando hasta el actual.

En la siguiente columna de ejemplo, ‘Path’ se define como '=PATH(EmployeeKey, ParentEmployeeKey)'

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

Función PATHLENGTH

Devuelve el número de niveles de una función PATH() determinada, empezando en el nivel actual y continuando hasta el nivel primario más antiguo o superior.

En el ejemplo siguiente, la columna PathLength se define como ‘=PATHLENGTH([Path])’; en el ejemplo se incluyen todos los datos del ejemplo de Path() para que sea más fácil entender la 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

Función PATHITEM (DAX)

Devuelve el elemento de la posición especificada de una función PATH() como resultado, contando de izquierda a derecha.

En el siguiente ejemplo, la columna PathItem - 4th from left se define como ‘=PATHITEM([Path], 4)’; este ejemplo devuelve el valor de EmployeKey de la cuarta posición de la cadena de Path desde la izquierda, utilizando los mismos datos del ejemplo de Path().

EmployeeKey

ParentEmployeeKey

Path

PathItem - 4th leftright

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

Función PATHITEMREVERSE (DAX)

Devuelve el elemento de la position de una función PATH() como resultado, contando hacia atrás, de derecha a izquierda.

En el siguiente ejemplo, la columna PathItemReverse - 3rd from right se define como ‘=PATHITEMREVERSE([Path], 3)’; este ejemplo devuelve EmployeKey de la tercera posición de la cadena de Path desde la derecha, usando los mismos datos del ejemplo de Path().

EmployeeKey

ParentEmployeeKey

Path

PathItemReverse - 3rd from 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

Función PATHCONTAINS (DAX)

Devuelve TRUE si el item especificado existe en la path especificada

En el ejemplo siguiente, la columna PathContains - employee 162 se define como ‘=PATHCONTAINS([Path], "162")’; este ejemplo devuelve TRUE si el empleado 162 está en la ruta dada. En este ejemplo se usan los resultados del ejemplo de Path() anterior.

EmployeeKey

ParentEmployeeKey

Path

PathContains - employee 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

Precaución   En SQL Server 2012 Analysis Services, el motor VertiPaq no admite la definición de jerarquías de elementos primarios y secundarios. Sin embargo, el lenguaje DAX proporciona varias funciones que permiten que los usuarios exploren ese tipo de jerarquías y las usen en fórmulas.

Principio de página

Se aplica a: Power BI Designer, Excel 2013



¿Le ha sido útil esta información?

No

¿Cómo podemos mejorarlo?

255 caracteres restantes

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!

Recursos de soporte técnico

Cambiar idioma