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

Cálculo del número de filas hasta que alcanza 80, ordenado descendente

Hola equipo,

He hecho lo siguiente conjunto de datos:

ClienteValorVentas
A1113.61%4200
A1212.97%4000
A1311.99%3700
A1411.67%3600
A159.08%2800
A88.10%2500
A107.46%2300
A76.48%2000
A96.48%2000
A64.86%1500
A53.24%1000
A31.62%500
A21.30%400
A10.65%200
A40.49%150

Quiero crear una medida que me dé cuenta de filas hasta que llegue a 80.

Intenté seguir a dax:

Recuento de productos que fabrican el 80% del margen de
COUNTROWS(FILTER(Sales,Sales[Value]<-80))
Pero me da la respuesta 15, ya que calcula todas esas filas que suma < 80.
Quiero ordenar la columna porcentual (valor) en orden descendente y contar las filas hasta que mi suma sea <-80.
En el caso anterior, debería darme el conde 5.
Necesito una medida ya que quiero usarla en una tarjeta.
Gracias de antemano!
1 ACCEPTED SOLUTION
calerof
Impactful Individual
Impactful Individual

Hola @valentina14 ,

Necesitas el %de ventas cummulatvie, no el único. Puedes seguir la gran publicación de @AlbertoFerrari para calcular la Clasificación ABC en Patrones DAX para productos y adaptarla a tus necesidades.

Debe agregar 4 columnas:

1) Customer Sales = Valentina[Sales]

2) Cummulative Sales = 
VAR CurrentCustomerSales = Valentina[Customer Sales]
VAR BetterCustomers =
    FILTER (
        Valentina,
        Valentina[Customer Sales] >= CurrentCustomerSales
    )
VAR Result =
    SUMX (
        BetterCustomers,
        Valentina[Customer Sales]
    )
RETURN
    Result

3) Cummulative Pct = 
DIVIDE (
    Valentina[Cumulated Sales],
    SUM ( Valentina[Customer Sales] )
)

4) Pareto Class = 
SWITCH (
    TRUE,
    Valentina[Cummulative Pct] <= 0.8, "80% Pareto",
    Valentina[Cummulative Pct] <= 1, "20% Rest"
)

Y entiendes esto:

Vale.png

Espero que ayude.

Salud

Fernando

P.S. Si ayudó, por favor considere gustarle el post y marcarlo como una respuesta!

View solution in original post

4 REPLIES 4
v-deddai1-msft
Community Support
Community Support

Hola @valentina14 ,

Sugiero crear dos columnas calculadas una para el rango y la otra para el valor acumulado:

Rank = RANKX('Table','Table'[Value],,DESC) 
Cvalue = CALCULATE(SUM('Table'[Value]),FILTER('Table','Table'[Rank]<=EARLIER('Table'[Rank]))) 

Capture1.PNG

A continuación, puede crear una medida para que la tarjeta visual me dé recuento de filas hasta que el valor acumulado alcance el 80%.

Measure = CALCULATE(MAX('Table'[Rank]),FILTER('Table','Table'[Cvalue]<=0.8))

Capture2.PNG

Para obtener más información, consulte el archivo pbix: https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/EambX0CGNMlFq-kc-7...

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

He pasado la mayor parte de mi día rastreando foros, YouTube y blogs para obtener esta respuesta. GRACIAS. Sé que las columnas calculadas no son recomendables, pero esto hace el trabajo mucho más rápido que intentar una salida similar en una medida. Mis imágenes ni siquiera se cargarían debido al volumen de datos con los que estoy trabajando, pero al menos mis imágenes se renderizan una vez que se calcula por fila y se estampa en la tabla. ¡Gracias de nuevo!

Ashish_Mathur
Super User
Super User

Hola

La respuesta debe ser 7. Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Customers that make up 80% of sales.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
calerof
Impactful Individual
Impactful Individual

Hola @valentina14 ,

Necesitas el %de ventas cummulatvie, no el único. Puedes seguir la gran publicación de @AlbertoFerrari para calcular la Clasificación ABC en Patrones DAX para productos y adaptarla a tus necesidades.

Debe agregar 4 columnas:

1) Customer Sales = Valentina[Sales]

2) Cummulative Sales = 
VAR CurrentCustomerSales = Valentina[Customer Sales]
VAR BetterCustomers =
    FILTER (
        Valentina,
        Valentina[Customer Sales] >= CurrentCustomerSales
    )
VAR Result =
    SUMX (
        BetterCustomers,
        Valentina[Customer Sales]
    )
RETURN
    Result

3) Cummulative Pct = 
DIVIDE (
    Valentina[Cumulated Sales],
    SUM ( Valentina[Customer Sales] )
)

4) Pareto Class = 
SWITCH (
    TRUE,
    Valentina[Cummulative Pct] <= 0.8, "80% Pareto",
    Valentina[Cummulative Pct] <= 1, "20% Rest"
)

Y entiendes esto:

Vale.png

Espero que ayude.

Salud

Fernando

P.S. Si ayudó, por favor considere gustarle el post y marcarlo como una respuesta!

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.

Top Kudoed Authors