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
dragonus
Helper III
Helper III

¿Puede alguien ayudar a arreglar mi fórmula de PERCENTil DAX?

Mi fórmula actual a continuación me permitió calcular los percentiles para los valores que tengo. Sin embargo, tuvo en cuenta toda la gama de valores y rango dentro de mi tabla y no sólo dentro de sus propias categorías. Así que en lugar de crear percentiles dentro de A/B/C por separado, creó percentiles que abarcan todo el A/B/C.

¿Cómo debo arreglar esto para que los percentiles se calculen dentro de sus propias categorías?

Percentile = DIVIDE(
CALCULATE (
COUNTX( 'Z-Table', 'Z-Table'[Value]),
FILTER('Z-Table','Z-Score'[Rank] > EARLIER ('Z-Score'[Rank]))),
CALCULATE(COUNT('Z-Score'[Value]),ALL('Z-Score')))

2 ACCEPTED SOLUTIONS

@dragonus

Percentile = DIVIDE(
CALCULATE (
COUNTX( 'Z-Table', 'Z-Table'[Value]),
FILTER('Z-Table','Z-Score'[Rank] > EARLIER ('Z-Score'[Rank]))),
CALCULATE(COUNT('Z-Score'[Value]),ALL('Z-Score')))

parece que hay 2 tablas a las que se hace referencia en su medida: Z-Table (COUNTX ('Z-Table'...) y Z-Score (ALL('Z-Score')

puede publicar una tabla de muestra con datos falsos?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






View solution in original post

Hola @dragonus ,

¿Está intentando calcular Percentil por categoría? Si es así, consulte:

Percentile =
DIVIDE (
    CALCULATE (
        COUNT ( 'Z-Table'[Value] ),
        FILTER (
            ALLEXCEPT ( 'Z-Table', 'Z-Table'[Category] ),
            'Z-Score'[Rank] > EARLIER ( 'Z-Score'[Rank] )
        )
    ),
    CALCULATE (
        COUNT ( 'Z-Score'[Value] ),
        ALLEXCEPT ( 'Z-Score', 'Z-Score'[Category] )
    )
)

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

View solution in original post

10 REPLIES 10
PaulDBrown
Community Champion
Community Champion

@dragonus

Intente usar ALLSELECTED en lugar de ALL:

Percentil - DIVIDE(
CALCULAR (
COUNTX( 'Z-Table', 'Z-Table'[Valor]),
FILTER('Z-Table','Z-Score'[Rank] > EARLIER ('Z-Score'[Rank])),
CALCULATE(COUNT('Z-Score'[Value]),ALLSELECTED('Z-Score', Z-Score[Category])))





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






@PaulDBrown @nandic

He intentado usar ALLEXCEPT, pero el resultado final me devolvió números que son de los 0.000 a los miles.... No estoy muy seguro de por qué es así!

@dragonus

¿cómo se configura el modelo y cuáles son la estructura de las tablas?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






@PaulDBrown

No muy seguro de lo que quiere decir, esta tabla es una tabla independiente, no conectada con ninguna otra tabla.

Mi tabla tiene 6 columnas, a saber, Date/Category/Value/Rank (Created Column)/Percentile (Created Column)/ Bins (columna creada).

Fecha: Histórico, desde el año 2000 hasta hoy, de forma semanal

Categoría: Nombres de diferentes estados (por ejemplo, Alabama/Florida/Wisconsin/etc)

Valor: cuánto ganan en una semana, como valores

Rango: RANKX usado para crear una clasificación dentro de cada estado, por lo que Alabama tendrá su propio 1 a X por ejemplo

Percentil: Se busca usarlo para medir cómo el rango en una tarifa de fecha en particular contra los rangos de otras fechas en un determinado estado

Bins: Esto se basa en Percentil, donde se asignan a ubicaciones de 10 (por ejemplo, 0 - 10/10-20/etc)

Espero que esto esté lo suficientemente claro..

@dragonus

Percentile = DIVIDE(
CALCULATE (
COUNTX( 'Z-Table', 'Z-Table'[Value]),
FILTER('Z-Table','Z-Score'[Rank] > EARLIER ('Z-Score'[Rank]))),
CALCULATE(COUNT('Z-Score'[Value]),ALL('Z-Score')))

parece que hay 2 tablas a las que se hace referencia en su medida: Z-Table (COUNTX ('Z-Table'...) y Z-Score (ALL('Z-Score')

puede publicar una tabla de muestra con datos falsos?





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






@PaulDBrown Disculpas, ambos son la misma mesa. Puntuación mal escrita como tabla jajaja

Hola @dragonus ,

¿Está intentando calcular Percentil por categoría? Si es así, consulte:

Percentile =
DIVIDE (
    CALCULATE (
        COUNT ( 'Z-Table'[Value] ),
        FILTER (
            ALLEXCEPT ( 'Z-Table', 'Z-Table'[Category] ),
            'Z-Score'[Rank] > EARLIER ( 'Z-Score'[Rank] )
        )
    ),
    CALCULATE (
        COUNT ( 'Z-Score'[Value] ),
        ALLEXCEPT ( 'Z-Score', 'Z-Score'[Category] )
    )
)

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Dedmon Dai

nandic
Memorable Member
Memorable Member

@dragonus ,
En el último paso en el que se calcula el denominador, se debe utilizar la función AllExcept para agrupar valores por categoría.
Si desea calcular el denominador por grupo, utilice AllExcept(tabla, categoría).
Ejemplo de cuándo usarlo: tiene valores por mes y desea encontrar el porcentaje de cada mes en total del año.
Numerador - suma (cantidad) - mensual
Enumerador: calculate([Numerator], AllExcept(table, year)) -- anual
% del año - división ([Numerator],[Itemumr])

divide denumanator.PNG

AllisonKennedy
Super User
Super User

Ayudaría saber cuáles son las columnas de datos, pero básicamente necesita cambiar el denominador de la función de división.

Usando https://www.daxformatter.com/ para formatear tu fórmula actual puedes ver mejor dónde comienza el denominador y que he actualizado ALL() para eliminar solo los filtros de la categoría actual, no toda la tabla Z.

Percentil ?
DIVIDE (
CALCULAR (
COUNTX (
'Mesa Z',
'Z-Table'[Valor]
),
FILTRO (
'Mesa Z',
'Z-Score'[Rank]
> ANTERIOR ( 'Puntuación Z'[Rank] )
)
),
CALCULAR (
COUNT ( 'Z-Score'[Valor] ),
ALL ( 'Puntuación Z'[Categoría] )
)
)


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

@AllisonKennedy

Mis columnas de datos son Fecha/Categoría/Valor/Rank (Columna creada)/Porcentaje (Columna creada)/ Bins (columna creada)

Las Papeleras están esencialmente categorizando los percentiles en contenedores de +10 percentiles

Hice lo que mencionaste (añadiendo en [Categoría] para TODO), pero volvió que había una dependencia circular... Extraño

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