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

Get inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.

Reply
Syndicate_Admin
Administrator
Administrator

Recuento distinto: acumulativo para Pareto

Tengo una tabla como la siguiente:

AñoMesRegiónProductoArtículoValor
20251AsiaProducto ATema A1100
20251AsiaProducto ATema A2100
20251AsiaProducto AArtículo A3200
20251AsiaProducto BTema B1100
20251AsiaProducto BTema B2200
20251EuropaProducto ATema A1200
20251EuropaProducto ATema A2220
20251EuropaProducto AArtículo A3240
20251EuropaProducto ATema A4260
20251EuropaProducto ATema A5280
20251EuropaProducto BTema B3300
20251AméricaProducto BTema B1320
20251AméricaProducto BTema B4340
20251AméricaProducto BTema B3360


Que quiero contar elementos distintos en cada región mensualmente, y quiero crear un gráfico de Pareto para la viz. Y quiero obtener una tabla como la siguiente:

FiltroMes1
RegiónElemento de recuentoArtículo totalPct**Bleep**. Pct
Asia51435.71%36%
Europa61442.86%79%
América31421.43%100%


¿Me puede ayudar con el dax para este caso cuenta la suma distinta y acumulativa

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

He resuelto una pregunta similar en los archivos adjuntos.

Syndicate_Admin
Administrator
Administrator

No estaba muy seguro de cómo quería definir su SalesCount, por lo que podría necesitar un pequeño ajuste.
Utilicé:

Sales Count = COUNTROWS(Sales)

y:

Pareto % = 
IF(
    ISINSCOPE( Sales[Region]),
    VAR __AllSelectedReg = ALLSELECTED( Sales[Region] )
    VAR __RegTable = ADDCOLUMNS( __AllSelectedReg, "@Count", [Sales Count])
    VAR __CurrentCount = [Sales Count]
    VAR __CumSalesTable = FILTER(__RegTable, [@Count] >= __CurrentCount)
    VAR __CumSales = SUMX( __CumSalesTable, [@Count])
    VAR __AllSelectedSalesCount = CALCULATE( [Sales Count] , __AllSelectedReg)
    VAR __Result = DIVIDE(__CumSales, __AllSelectedSalesCount)
    RETURN
        __Result)

y luego un gráfico de líneas y columnas apiladas estándar con región en el eje X y porcentaje de Pareto en el eje y de línea

Corey_M_0-1741893310817.png

Su dax bastante bueno pero aún no se resuelve, ya que la tabla que mostré antes está enmascarada. Mi recuento de DAX a distinto es como el siguiente:

Recuento = CALCULAR(DISTINCTCOUNT(Tabla1[artículo]),FILTRO('Tabla 1','Tabla 1'[valor] <> 0),FILTRO('Tabla 1',NO('Tabla 1'[mercado] = "ABC" && 'Tabla 1'[Producto] = "Producto B")))

Así que obtuve un resultado fallido como este
Recuento de regiones de Pareto
Eropa 124 0.84
Asia 18 0.96
América 5 0.99
África 3 1.01

El total de Pareto es superior al 100 por ciento y el cálculo PCT es ligeramente erróneo.
Creo que deberíamos cambiar esta parte, porque mi conteo usa algún tipo de filtro
 VAR __AllSelectedSalesCount = CALCULATE( [Sales Count] , __AllSelectedReg)

¿El problema no es cómo está utilizando el conteo distinto?

la parte Distinct solo comprueba la distinción dentro del contexto de la fila actual (por ejemplo, la región actual), pero cuando se observa un valor acumulativo allí, el contexto es en todas las regiones.

Vea a continuación dónde enfiné el conteo de ventas usando distinctcount, observe en particular que el total del recuento de ventas es 10 a pesar de que los valores individuales cuando se suman son mayores que 10

Corey_M_0-1742407763222.png

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

March2025 Carousel

Fabric Community Update - March 2025

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

Top Solution Authors
Top Kudoed Authors