DAX – Jerarquías Padre-Hijo (Parte2)

Al naturalizar una jerarquía Padre-Hijo con las funciones PATH, PATHITEM y LOOKUPVALUE debemos resolver la navegación, buscando evitar se muestren niveles vacíos cuando no hay mas descendientes.

image

Si estamos trabajando con Analysis Services Tabular podemos hacer uso del complemento BIDS Helper y configurar la propiedad HideMemberIf.

Otra alternativa es agregar un poco de complejidad al campo calculado para lograr el efecto buscado. Esta opción es válida también para Power Pivot donde no tenemos la posibilidad de configurar la propiedad HideMemberIf.

Primero debemos determinar el Nivel de cada elemento de la jerarquía con la función PATHLENGTH.

=PATHLENGTH([Path])

image

Debemos crear dos campos calculados que serán utilizados por el campo calculado Monto.

MaxNivel:=MAX(Organization[Nivel])

BrowseNivel:=ISFILTERED(Organization[Level 0])+ISFILTERED(Organization[Level 1])+ISFILTERED(Organization[Level 2])+ISFILTERED(Organization[Level 3])

Ahora debemos crear el campo calculado o medida condicionando cuando retornar un valor Nulo o un valor

Monto:=IF( [BrowseNivel]> [MaxNivel];BLANK();SUM([Amount]))

 

Antes
image

Después
image