Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Elementos de cálculo primarios (para segmentación de datos jerárquica)

Hola

Actualmente estoy usando grupos de cálculo para controlar una segmentación de datos que selecciona entre diferentes medidas con diferentes opciones de formato y esto está funcionando muy bien hasta ahora.

Sin embargo, me gustaría ir un paso más allá y cambiar mi segmentación de datos para que sea jerárquica con 2 niveles, cuando se selecciona el nivel superior me gustaría mostrar una medida diferente (que podría ser una suma o un promedio de los elementos secundarios, o algo completamente diferente dependiendo del contexto).

Por ejemplo, vamos a crear estas medidas simples:

M_1_1 = 1000
M_1_2 = 2000
M_2_1 = 100
M_2_2 = 200
M1_Total = [M_1_1] + [M_1_2]
M2_Total = [M_2_1] + [M_2_2]
M_Value = BLANK()

A continuación, un cálculo de grupos muy simple que básicamente solo devuelve la medida adecuada:

JeanMartinL_0-1653930018636.png

Esto funciona bien con una cortadora estándar.

JeanMartinL_1-1653930070997.png

Sin embargo, lo que estoy tratando de hacer es reagrupar "1_1" y "1_2" bajo un nivel "M1" y así sucesivamente.

Al agregar una columna calculada a "CG" puedo mostrar la segmentación de datos como la quiero e incluso funciona a nivel secundario, pero por supuesto no hace nada cuando seleccionas el padre:

JeanMartinL_2-1653930410402.png

Lo que me gustaría en este escenario sería mostrar la medida "M1_Total" cuando se selecciona el padre.

Probé un par de ideas para que esto funcionara, por ejemplo tener 2 Grupos de Cálculo diferentes con una relación entre ellos (no está permitido) pero solo salí con 2 opciones que funcionan pero no son perfectas.

1) Tener el total como un elemento secundario
JeanMartinL_3-1653930795137.png
Este trabajo pero no lo encuentro realmente elegante, si el padre es seleccionado todavía obtenemos un BLANK()

2) Enrutamiento a la medida apropiada en la medida M_Value medida.

M_Value = 
    SWITCH(SELECTEDVALUE(CG[Parent]), 
        "M1", [M1_Total], 
        "M2", [M2_Total], 
        BLANK())

JeanMartinL_4-1653931001945.png

Una vez más, esto funciona y esta vez incluso a nivel de padres. Pero parece que estoy usando 2 técnicas diferentes para lograr un solo objetivo. Además, otro problema con este método es que no puedo usar diferentes opciones de formato para M1_Total y M2_Total, una de las razones por las que estoy usando Grupos calculados en primer lugar.

Todavía soy nuevo en los grupos de cálculo, así que me preguntaba si alguien tiene una mejor idea de cómo lograr esto.

¡Gracias!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@JeanMartinL , Puede usar isfiltered. Pero en orden inverso. Cuando se filtra el hijo, el padre es

Cambiar (True() ,

isfiltered(Tabla[Nombre]), [Suma medida],

isfiltered(Tabla[Padre]), [Medida media]

)

Recomienda

https://powerpivotpro.com/2013/03/hasonevalue-vs-isfiltered-vs-hasonefilter/

https://www.kasperonbi.com/use-isinscope-to-get-the-right-hierarchy-level-in-dax/

Hola @amitchandak,

Gracias por su respuesta. Por favor, dime si estoy malinterpretando tu publicación, pero eso solo parece una variación de mi segunda solución sin abordar sus deficiencias.

Puede que no haya sido lo suficientemente claro en mi publicación, especialmente porque no lo implementé en el ejemplo, pero una de las grandes razones por las que estoy usando un Grupo de Cálculo en primer lugar es usar formato variable en la medida seleccionada. Por ejemplo, algunos serían enteros, algunos mostrarían 2 decimales, algunos serían porcentajes, algunos estarían en Ks o Ms, etc.

Puedo lograr este objetivo con los elementos de cálculo a nivel secundario, pero no con los padres, por lo que esta publicación se titula "Elementos de cálculo padre (para segmentación de datos jerárquica)". Mi primera solución funciona porque está a nivel infantil, pero me parece poco elegante. Mi segunda solución (y si no me equivoco la tuya también) funciona para los valores pero no para el formato, ya que no está utilizando un elemento de cálculo.

¡Gracias de nuevo por su ayuda!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.