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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Medida para calcular el percentil de los valores crecientes

Hola, necesito ayuda con un cálculo que es muy difícil para mí personalmente. Tengo una tabla con una columna de fecha y hora y columnas con valores numéricos. Necesito calcular el percentil para el 95% de los valores, pero no uno simple, sino solo para valores crecientes .
RAMPA - MÁXIMO (Esta es exactamente la configuración instalada en el equipo con la que comparo los valores)
Gracias

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola @username99880,
Gracias por ponerse en contacto con el foro de la comunidad de Microsoft Fabric.

Después de revisar minuciosamente los detalles que proporcionó, volví a reproducir el escenario y funcionó de mi parte. Lo utilicé como datos de muestra y lo implementé con éxito.

Medida para la columna calculada:

IsIncreasing =

VAR CurrentIndex = 'SensorReadings'[Index]

VAR CurrentValue = 'SensorReadings'[Value]

VAR MaxPrevValue =

    CALCULATE(

        MAX('SensorReadings'[Value]),

        FILTER(

            'SensorReadings',

            'SensorReadings'[Index] < CurrentIndex

        )

    )

RETURN

    IF(CurrentIndex = 1 || CurrentValue >= MaxPrevValue, 1, 0)

Medir:

P95_Increasing =

PERCENTILEX.INC(

    FILTER('SensorReadings', 'SensorReadings'[IsIncreasing] = 1),

    'SensorReadings'[Value],

    0.95

)


resultado:

vkpolojumsft_0-1749530243514.png


También incluyo el archivo .pbix para su mejor comprensión, por favor échele un vistazo:

Si esta publicación ayuda, entonces por favor danos 'Felicitaciones' y considera Acéptalo como una solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias por usar el Foro de la comunidad de Microsoft.

Él @username99880

¿Puedo preguntarle si ha resuelto este problema? Si es así, marque la respuesta útil y acéptela como la solución. Esto será útil para que otros miembros de la comunidad que tengan problemas similares lo resuelvan más rápido.

Gracias.

Hola @username99880,

Quería comprobar si ha tenido la oportunidad de revisar la información proporcionada. No dude en ponerse en contacto con nosotros si tiene más preguntas. Si mi respuesta ha abordado su consulta, acéptela como una solución y dé un 'Felicitaciones' para que otros miembros puedan encontrarla fácilmente.
Gracias.

Gracias por sus soluciones, todos los que respondieron me ayudaron a resolver el problema de una forma u otra, gracias 😃

Syndicate_Admin
Administrator
Administrator

Él vosotros @username99880

1. Cree la columna Valores crecientes (como lo ha hecho con éxito)

IncreasingValue = 
VAR CurrentValue = 'Table'[Value]
VAR PreviousValue =
    CALCULATE(
        MAX('Table'[Value]),
        FILTER(
            'Table',
            'Table'[Datetime] < EARLIER('Table'[Datetime])
        )
    )
RETURN
    IF(CurrentValue > PreviousValue, CurrentValue, BLANK())

2 Medida corregida del percentil 95

Percentile_95 = 
VAR FilteredTable = 
    FILTER(
        'Table',
        NOT(ISBLANK('Table'[IncreasingValue]))
    )
VAR ValuesToUse = 
    SELECTCOLUMNS(
        FilteredTable,
        "Values", 'Table'[IncreasingValue]
    )
RETURN
    PERCENTILE.INC(ValuesToUse[Values], 0.95)

Solución alternativa (más eficiente) de una sola medida

Percentile_95_Increasing = 
VAR CurrentTable = 
    FILTER(
        ADDCOLUMNS(
            'Table',
            "IsIncreasing", 
            VAR CurrentValue = 'Table'[Value]
            VAR PrevValue = 
                CALCULATE(
                    MAX('Table'[Value]),
                    FILTER(
                        'Table',
                        'Table'[Datetime] < EARLIER('Table'[Datetime])
                    )
                )
            RETURN 
                CurrentValue > COALESCE(PrevValue, -INFINITY)
        ),
        [IsIncreasing] = TRUE()
    )
RETURN
    PERCENTILE.INC(SELECTCOLUMNS(CurrentTable, "Values", 'Table'[Value]), 0.95)
Syndicate_Admin
Administrator
Administrator

@username99880

Asegúrese de que los datos estén ordenados por la columna de fecha y hora. Esto se puede hacer en Power Query o directamente en Power BI.

Cree una columna calculada para identificar valores crecientes. Suponiendo que la columna numérica se denomina Valor, puede usar la siguiente fórmula DAX:

ValorCreciente =
VAR CurrentValue = 'Tabla'[Valor]
VAR AnteriorValor =
CALCULAR(
MAX('Tabla'[Valor]),
FILTRO(
'Mesa',
'table'[datetime] < BEFORE('table'[datetime])
)
)
DEVOLUCIÓN
IF(CurrentValue > PreviousValue, CurrentValue, BLANK())

Ahora, cree una medida para calcular el percentil 95 de los valores crecientes:

Percentile_95 =
PERCENTIL. INC(
FILTRO(
'Mesa',
NOT(ISBLANK('Tabla'[ValorCreciente]))
),
'Tabla' [ValorCreciente],
0.95
)

Gracias por una respuesta tan rápida, la columna calculada funciona bien, pero hay algunos errores con una medida que compartimos
"Se pasaron demasiados argumentos al PERCENTIL. Función INC. El número máximo de argumentos para esta función es 2".

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors