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 características, 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.
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 |
||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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)'
|
|||||||||||||||||||||||||||||||||||||||||
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.
|
|||||||||||||||||||||||||||||||||||||||||
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 EmployeKey de la cuarta posición de la cadena de Path desde la izquierda, utilizando los mismos datos del ejemplo de Path().
|
|||||||||||||||||||||||||||||||||||||||||
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().
|
|||||||||||||||||||||||||||||||||||||||||
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.
|
Advertencia |
---|
En SQL Server 2012, el motor analítico en memoria xVelocity (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. |