¿Cómo se calcula el total acumulado y el% en DAX? - powerbi, dax, run-total, suma acumulativa, pareto-chart

Esto podría ser muy simple ...

Tengo la tabla de resumen a continuación en Power BI y necesito crear un diagrama de Pareto, lo que estoy buscando es una forma de crear las columnas "D" y "E" ... ¡Gracias de antemano!

El conteo de la columna "B" es una medida que he creado en PBI basada en múltiples filtros. Ya he probado algunas expresiones de tipo Calcular / Sumar / Filtrar sin suerte.

enter image description here

Mis datos en bruto se parecen a la Imagen # 2 ... Tengo las medidas para construir la tabla de resumen con la excepción de la columna "I" - Ejecutando% - (para lo cual también necesitaré el total acumulativo de eventos por segmento).

Desafortunadamente, no he podido aplicar con éxito los cálculos de DAXPATTERNS.

enter image description here

Respuestas

2 para la respuesta № 1

Existe un patrón bien conocido para los cálculos acumulativos en el PATRONES DE DAX Blog.

Prueba esta expresión para Running % medida:

Running % =
CALCULATE (
SUM ( [Percentage] ),
FILTER ( ALL ( YourTable), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)

Y pruebe esto para la medida de conteo acumulativo:

Cumulative Count =
CALCULATE (
SUM ( [Count] ),
FILTER ( ALL ( YourTable ), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)

Básicamente, en cada fila está sumando esos valores de conteo o porcentaje que son menores o iguales que el valor del depósito en la fila evaluada, lo que produce el total acumulativo.

ACTUALIZAR: Una posible solución que se adapta a su modelo.

Asumiendo que su medida de Conteo de eventos se define de la siguiente manera:

Event Count = COUNT(EventTable[Duration_Bucket])

Puede crear un recuento acumulativo usando CALCULATE función, que nos permite calcular el Running % medida:

Cumulative Count =
CALCULATE (
[Event Count],
FILTER (
ALL ( EventTable ),
[Duration_Bucket] <= MAX ( EventTable[Duration_Bucket] )
)
)

Ahora calcule la medida del% en ejecución usando:

Running % =
DIVIDE (
[Cumulative Count],
CALCULATE ( [Event Count], ALL ( EventTable ) ),
BLANK ()
)

Debería obtener algo como esto en Power BI:

Visualización de la tabla

enter image description here

Visualización de gráfico de barras

enter image description here

Tenga en cuenta que mis expresiones usan un EventTable que debes reemplazar por el nombre de tu tabla. También tenga en cuenta el running % la línea comienza de 0 a 1 y solo hay un eje Y a la izquierda.

Déjeme saber si esto ayuda.


Menú