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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Línea constante basada en el nivel de jerarquía

Hola a todos,

Tengo un gráfico de dispersión con una jerarquía como valores (digamos País / Región / Ciudad).

Quiero agregar una línea constante en este gráfico basada en el nivel de jerarquía que el usuario está viendo. Por ejemplo, si el usuario está en el nivel de país, la línea constante sería el resultado del cálculo A, en el nivel de región sería el resultado del cálculo B y en el nivel de ciudad sería el resultado del cálculo C.

He creado una medida que hace el trabajo usando la función ISINSCOPE() y se ve así:

ConstantLine =
VAR ResultCountry =
MEDIANX(
    CALCULATETABLE(
        VALUES( 'Location'[Country] ),
        ALL(
            'Location'[Country],
            'Location'[Region],
            'Location'[City]
        )
    ),
    CALCULATE(
        DISTINCTCOUNT( Sales[ID] ),
        Sales[HasDiscount] = TRUE()
    )
)
VAR ResultRegion =
MEDIANX(
    CALCULATETABLE(
        VALUES( 'Location'[Region] ),
        ALL(
            'Location'[Country],
            'Location'[Region],
            'Location'[City]
        )
    ),
    CALCULATE(
        DISTINCTCOUNT( Sales[ID] ),
        Sales[HasDiscount] = TRUE()
    )
)
VAR ResultCity =
MEDIANX(
    CALCULATETABLE(
        VALUES( 'Location'[City] ),
        ALL(
            'Location'[Country],
            'Location'[Region],
            'Location'[City]
        )
    ),
    CALCULATE(
        DISTINCTCOUNT( Sales[ID] ),
        Sales[HasDiscount] = TRUE()
    )
)

VAR Result =
SWITCH(
    TRUE(),
    ISINSCOPE( 'Location'[Country] ),
    ResultCountry,
    ISINSCOPE( 'Location'[Region] ),
    ResultRegion,
    ISINSCOPE( 'Location'[City] ),
    ResultCity
)

RETURN
Result

Mi problema es que simplemente no funciona 😞

Quiero decir que el easure parece funcionar porque cuando lo uso como información sobre herramientas en mi diagrama de dispersión veo el valor correcto cuando paso un punto.

Pero cuando uso la medida como una línea constante dinámica, devuelve un resultado vacío. Traté de reemplazar ISINSCOPE con ISFILTERED pero el resultado es el mismo. Así que la medida está funcionando, pero no puedo encontrar una manera de hacer que el ISINSCOPE funcione en el contexto de una línea constante. ¿Alguien puede ayudarme con esto? ¿Hay alguna solución?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Akad , creo que puede usar el parámetro de campo en valores de dispersión, debería poder cambiar la medida como lo he hecho en TOPN

Parámetros de campo de Power BI: una forma rápida de obtener objetos visuales dinámicos: https://amitchandak.medium.com/power-bi-field-parameters-a-quick-way-for-dynamic-visuals-fc4095ae9af...
Parámetros de campo de Power BI: segmentación de datos de medida y segmentación de eje/dimensión: https://youtu.be/lqF3Wa1FllE
Cambiar TOPN con parámetros de campo: https://amitchandak.medium.com/switch-topn-with-field-parameters-299a0ae3725f

¡Gracias @amitchandak su solución funciona bien!

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors