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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Medida máxima de rango

Tengo la siguiente medida para dar formato condicional a una tabla.

Medir
2 =
FUERON Períodos = TODO('Calendario'[Período del año])
FUERON Total = [Lavandería]
FUERON Clasificación = RANKX(Períodos, [Lavandería], Total, DESC)
FUERON Resultado = SI(Total = 0, 0, SI(Clasificación <= 5, 1, 0))
DEVOLUCIÓN
Resultado

Esta clasificación es descendente, lo que significa que los valores más bajos para la lavandería en los períodos seleccionados se clasificarán como los más altos.
Si un número del ranking está por debajo de 5 devolverá 1 y lo colorearé de rojo.

Ahora quiero que los 3 valores superiores del rango devuelvan 2 para poder colorearlo en verde.
Lo primero que se me ocurrió fue hacer esto:

Medir 2 =
FUERON Períodos = TODO('Calendario'[Período del año])
FUERON Total = [Lavandería]
FUERON Clasificación = RANKX(Períodos, [Lavandería], Total, DESC)
FUERON Resultado = SI(Total = 0, 0, SI(Clasificación <= 5, 1,
IF(Y(Clasificación >= 12, Clasificación <= 14), 2, 0)))
DEVOLUCIÓN
Resultado
Tengo 14 períodos en la mesa, por lo que el máximo siempre sería 14 y si quiero los 3 últimos sería del número 12 al 14.
Sin embargo, esto no funcionará si he duplicado valores para diferentes períodos, porque el máximo ya no será 14.

Así que pensé en calcular el valor máximo que tengo en el rango y restar 3 para tener los 3 valores inferiores, pero
No sé cómo conseguir el máximo del rango.
1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hola, @llealsantos

Puede hacerlo utilizando esta función MAXX para iterar a través de los ciclos y encontrar la clasificación máxima. Para ello, modifique la métrica de las siguientes maneras:

Measure 2 =
VAR Periods = ALL('Calendar'[Year Period])
VAR Total = [Laundry]
VAR Ranking = RANKX(Periods, [Laundry], Total, DESC)

// Calculate the maximum rank
VAR MaxRank =
    MAXX(
        Periods,
        RANKX(Periods, [Laundry], [Laundry], DESC)
    )

// Determine the result based on the rank
VAR Result =
    IF(
        Total = 0,
        0,
        IF(
            Ranking <= 5,
            1,
            IF(
                Ranking <= (MaxRank - 2), // Top 3 values
                2,
                0
            )
        )
    )

RETURN
    Result

Saludos

hackcrr

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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

Top Solution Authors
Top Kudoed Authors