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
Anonymous
Not applicable

Límite para Percentile.exc

Hola, chicos. Necesito ayuda para calcular el percentil.

Tengo un conjunto de datos con las ventas para los clientes, mes a mes. Quiero obtener un punto de referencia de ventas para cada cliente. Defloqué que el punto de referencia será el cuarto cuartil de ventas (percentil de 0.75).

El percentil de función de Power BI tiene una limitación de cálculo de percentile.exc para un conjunto de datos con 0,75 < n/ (n +1).

Sé que algún cliente tendrá un conjunto de datos más pequeño que ese. Así que calculo el límite y traté de crear un cheque antes de pedir el percentil.

VAR LIMIT = N / (N + 1)

IF(LIMIT > 0.75, PERCENTILE)

Pero incluso tratando de detectar el error de esa manera, no estoy siendo capaz de eliminar el error. ¿Puedes ayudarme, por favor?


Este es mi código:

Benchmark = 
VAR CURRENTPERIOD = 'BD PCA'[PERIOD]
VAR COUNTROWS = CALCULATE(COUNT('BD PCA'[VOLUME]), ALLEXCEPT('BD PCA', 'BD PCA'[NR CLIENTE]), 'BD PCA'[Period] <= CURRENTPERIOD, 'BD PCA'[ACTIVITY] = "Active")
VAR SUPERIORLIMIT = DIVIDE(COUNTROWS, (CONTROWS + 1))
VAR Q3 = CALCULATE(PERCENTILE.EXC('BD PCA'[VOLUME], 0.75), ALLEXCEPT('BD PCA', 'BD PCA'[NR CLIENTE]), 'BD PCA'[PERIOD] <= CURRENTPERIOD, 'BD PCA'[ACTIVITY] = "Active")
VAR VOLMAX = CALCULATE(MAX('BD PCA'[VOLUME]), ALLEXCEPT('BD PCA', 'BD PCA'[NR CLIENTE]), 'BD PCA'[Period] <= CURRENTPERIOD)
RETURN IF(SUPERIORLIMIT > 0.75, Q3, VOLMAX)

Le agradezco su ayuda.

2 REPLIES 2
v-shex-msft
Community Support
Community Support

Hola @victorarnaud,

Tal vez usted puede tratar de mover su cálculo en if statement, evitará los cálculos en los rangos que no se adecuadan a las condiciones:

Benchmark =
VAR CURRENTPERIOD = 'BD PCA'[PERIOD]
RETURN
    CALCULATE (
        IF (
            CALCULATE ( COUNT ( 'BD PCA'[VOLUME] ), 'BD PCA'[ACTIVITY] = "Active" ) > 3,
            CALCULATE (
                PERCENTILE.EXC ( 'BD PCA'[VOLUME], 0.75 ),
                'BD PCA'[ACTIVITY] = "Active"
            ),
            MAX ( 'BD PCA'[VOLUME] )
        ),
        VALUES ( 'BD PCA'[NR CLIENTE] ),
        'BD PCA'[Period] <= CURRENTPERIOD
    )

Si arriba no ayuda, por favor comparta algunos datos ficticios para probar.

Cómo obtener respuestas a su pregunta rápidamente

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
Anonymous
Not applicable

Gracias, Sheng. ¡Esto resolvió el problema!

¿Puede explicar por qué el uso del cálculo dentro de la sentencia IF es diferente de usar una variable? Pensé que Power BI solo computaba la variable una vez indicada.

Otra pregunta que tengo es: ¿Cuál es la diferencia de usar estas líneas dentro de un filtro?

ALLEXCEPT('BD PCA', 'BD PCA'[NR CLIENT])
VALUES('BD PCA'[NR CLIENT])

¡Muchas gracias!

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.