cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ElliotP
Post Prodigy
Post Prodigy

Total acumulado

Hola

Estoy en una pérdida absoluta en cuanto a cómo calcular un total acumulado. He intentado el googling, leer los foros, seguir la documentación, descomponer el cálculo, probarlo como una medida y una columna calc'd; Siempre parece referirme al mismo número. Así, por ejemplo; Marzo será 10, 12 de abril, pero en lugar de mostrarme 10 para marzo y 22 para abril, me muestra 10 para marzo y 12 para abril.

Por ejemplo: https://gyazo.com/41bd333cedac290e6980772906ff0034 con una medida

Yo mi columna Mes como una columna de fecha, he intentado usar todo tipo de características incluyendo, calc, sum, sumx, funciones basadas en el tiempo.

El filtro comúnmente recomendado de [Fecha] <-MAX [Fecha] siempre devuelve un error. La función Earlier devuelve errores con preocupaciones que no hay una función por encima de ella. Cualquier ayuda sería muy apreciada; He pasado horas hoy tratando de resolver esto y tengo la sensación de que hay una diferencia en pivottable dax y powerbi dax. Quiero ser capaz de dar forma y transformar mis datos en powerbi, usando dax in powerbi.

Cualquier ayuda sería muy apreciada.

1 ACCEPTED SOLUTION
Sean
Community Champion
Community Champion

@ElliotP Lamento lo del post original. Era de mi teléfono y tenía errores tipográficos Smiley Wink

Bien, aquí está la fórmula para Ejecutar Total como una Columna Calculada (con formato prorerly)

Columna total en ejecución :
CALCULATE ( SUM (
    'Todos los datos del sitio web (2)'[UniquePageviews] ),
    ALL ( 'Todos los datos del sitio web (2)' ),
    'Todos los datos del sitio web (2)'[Fecha] <- ANTERIOR ( 'Todos los datos del sitio web (2)'[Fecha] )
)

¡Y como puedes ver, funciona! Smiley Happy

Running Total 2.png

Y aquí está la fórmula MEASURE

Medición total en ejecución : 
CALCULATE ( SUM (
    'Todos los datos del sitio web (2)'[UniquePageviews] ),
    FILTER ( ALL (
        'Todos los datos del sitio web (2)'),
        'Todos los datos del sitio web (2)'[Fecha] <- MAX ( 'Todos los datos del sitio web (2)'[Fecha] )
)

Lo que también funciona...

Running Total 3.png

View solution in original post

53 REPLIES 53
Syndicate_Admin
Administrator
Administrator

Hola

Lo intenté como se me sugirió, pero sólo conseguir que funcione casi.

pfabra_0-1614130420025.png

Dado que no hay datos reales a partir del 01/01/2021, se mostrará el último valor. ¿Cómo puedo mostrar el acumulado solo si hay un valor real?

Reales acumulativos =
CALCULAR(
SUM(«Previsión de ingresos por contrato»[Real]),
FILTRO(
ALL('Previsión de ingresos por contrato'),
'Previsión de ingresos por contrato'[Mes] <= ANTERIOR ( 'Previsión de ingresos por contrato'[Mes])
))

¡Gracias de antemano!

Salud

BrentonC
Helper I
Helper I

Utilicé las soluciones proporcionadas aunque necesitaba restablecer la suma cada semana, esto funcionó bien para mí. Se ha añadido una variable para el número de semana con el que comparar. Añade cada día a medida que va hasta que llega a una nueva semana, comienza de nuevo.

Running SOP = 
var x = SOP[Week Number]

return
CALCULATE (
    SUM ( 'SOP'[Production Tonnes])
    , ALL (SOP),
    ('SOP'[Date] <= EARLIER ( 'SOP'[Date]) && weeknum(SOP[Date],2) == x))

running total.PNG
ajj263
New Member

¿Alguien sabe cómo obtener el total acumulado por sitio?

Date_TimeSitioNúmero
1/01/2015 6:00AA35
1/01/2015 6:00Bb22
1/01/2015 6:00Cc47
1/01/2015 18:00AA12
1/01/2015 18:00Bb65
1/01/2015 18:00Cc24
2/01/2015 6:00AA35
2/01/2015 6:00Bb78
2/01/2015 6:00Cc65
2/01/2015 18:00AA12
2/01/2015 18:00Bb45
2/01/2015 18:00Cc68
3/01/2015 6:00AA66
3/01/2015 6:00Bb74
3/01/2015 6:00Cc32
3/01/2015 18:00AA36
3/01/2015 18:00Bb54
3/01/2015 18:00Cc69
4/01/2015 6:00AA24
4/01/2015 6:00Bb56
4/01/2015 6:00Cc35
4/01/2015 18:00AA45
4/01/2015 18:00Bb39
4/01/2015 18:00Cc57
5/01/2015 6:00AA78
5/01/2015 6:00Bb35
5/01/2015 6:00Cc15

@drnareshchauhan

Es un poco hacky aunque se podría crear referencias de la tabla y filtrar en cada sitio (Si no había demasiados) Utilice la solución suministrada a la suma acumulativa basada en la fecha. Entonces une todas las mesas... aunque estoy seguro de que debe haber una mejor manera...
Editar:
Estoy avergonzado de que incluso pensé en eso, una manera mucho mejor de sumar en dos columnas en su situación es el uso de Python

# 'dataset' holds the input data for this script
dataset['cumsum'] = dataset.groupby(['site','datepd'])['number'].cumsum()



Notas:

Pandas no le gusta devolver las fechas correctamente, crear una columna duplicada que es el tipo de fecha datepd de su columna de fecha.
Cambie la fecha original al texto para que tenga una referencia de la fecha después.
Utilice el código anterior.

Seleccione el conjunto de datos.

Quite la columna datepd

Vuelva a cambiar la columna de fecha al tipo de fecha.

Debería estar listo para irnos.



Capture.PNG

Gracias por la solución. ¿Podría sugerir cómo podemos usar la fórmula DAX / Measure para obtener una suma acumulativa como esta?

Zhengy
Frequent Visitor

¿Por qué en medida usamos MAX () pero usamos anteriormente () en la columna calculada? ¿Son intercambiables?

serh2
New Member

Hola

He estado tratando de suma acumulada durante mucho tiempo, pero no pude. Doy el ejemplo a continuación, si me puedes ayudar, en serio estaré agradecido. Gracias por su considiración. Que dios te bendiga.

Trato de 2017-01 + 2017-02 y trato de escribir nueva hoja . Les doy un ejemplo de excelencia.

1.JPG2.JPG

Syndicate_Admin
Administrator
Administrator

Hola

Me enfrento a problemas para obtener las expresiones DAX correctas.

La columna Total en ejecución se calcula manualmente... este es el resultado que quiero lograr con la Medida Total corriente. El total de ejecución se resume para cada equipo y a través de las fechas.

Capture.PNG

Estoy usando la expresión DAX actual, pero se está ejecutando total independientemente del equipo.

Medición total en ejecución ( Running Total Measure)
CALCULATE(
SUM(Sheet1[Cantidad]),FILTER(ALL(Sheet1),Sheet1[Date]<-MAX(Sheet1[Fecha])))

¿Alguien puede ayudar? Gracias.

Syndicate_Admin
Administrator
Administrator

Hola

Tengo esta expresión trabajando en un gráfico de barras para que muestre el total de ejecución correctamente cuando el campo [Fecha] está seleccionado como eje X. Sin embargo, si uso la jerarquía de fechas como eje X, ya no funcionará. En lugar de correr total, da el total del período. Por ejemplo, si el total de ventas en enero es 100 y 200 en febrero, muestra 100 para enero y 200 para febrero, en lugar de 100 para enero y 300 para febrero como debería. ¿Alguien sabe cuál podría ser el problema?

CALCULAR (
    SUM ( [TotalSales] );
    FILTRO(
	TODOS ( [Ventas] );
        Ventas[Fecha] <-MAX( Ventas[Fecha] )
) )

Syndicate_Admin
Administrator
Administrator

Mientras trato de aprender Power BI,

Me he enfrentado a la misma pregunta también, pero los datos que tengo pueden tener ligeramente diferentes de la situación anterior.

Tengo un ejemplo de datos que son los datos de ventas de algunos países.

Quiero encontrar las ventas totales acumuladas, pero tengo ventas que ocurren más de una vez en el mismo día.

He trate de aplicar la fórmula anterior, pero su sólo se aplica en el nivel 'año', pero aún así el valor también es incorrecto.

Esto es lo que pretendo obtener: Gráfico que quiero tener

Estos son los datos de ejemplo: Imagen de datos de ejemplo

Esta es la fórmula que trato de aplicar: Fórmula del total acumulado que traté de aplicar

(donde la fecha aquí es la 'Fecha de pedido' y con el valor que es 'Ventas')

Realmente apreciamos si alguien puede tener respuesta, si hay algo que quieras, te lo siento.

¡Muchas gracias!

rdurkin
Advocate V
Advocate V

@ElliotP

Una medida común que probablemente encontrará útil en PowerPivot o SSAS Tabular Models es encontrar totales en ejecución. Por ejemplo, es posible que desee ver las ventas totales de un producto a medida que se acumula con el tiempo, o para los modelos de inventario el total disponible en un momento dado. Puedes encontrar más consejos y trucos en mi blog, www.bipatterns.com.

Comencemos con una medida base en una tabla dinámica muy simple.
Total de Ventas :
CALCULAR ( SUM ( FactSales[SalesAmount] ) ) )

Total Sales

Ahora vamos a tomar nuestro primer intento de calcular un total en ejecución. Esta es la fórmula más intuitiva, pero tiene un escollo común que no es necesariamente fácil de ver de inmediato.
Ventas totales acumuladas:
CALCULAR (
[Ventas totales],
FILTRO (
ALL ( DimDate[Datekey] ),
DimDate[Fecha clave] <- MAX ( ( DimDate[Datekey] ) )
)
)
Partes clave de la fórmula: el uso de ALL(DimDate[DateKey]) da como resultado que se ignore el contexto actual, por lo que se analizarán las fechas fuera del contexto de fila dinámica actual. El segundo paso clave es la comparación de DimDate[Datekey] <- MAX ( ( DimDate[Datekey] ). Esto significa que se calcularán todas las fechas de la columna DateKey anteriores al contexto de fila de la tabla dinámica actual.

Si ponemos esta medida en una mesa, obtendremos los números correctos, pero tendremos un problema restante.

Cumalative Total Sales

La fórmula devuelve un número para las fechas que no tienen ventas. Necesitamos agregar un poco de manejo de errores, que se describe a continuación.
Ventas acumuladas (correctas) :
SI (
COUNTROWS ( FactSales ) > 0,
CALCULAR (
[Ventas totales],
FILTRO (
ALL ( DimDate[Datekey] ),
DimDate[Fecha clave] <- MAX ( ( DimDate[Datekey] ) )
)
),
BLANK ()
)

La función IF comprueba que hay ventas en el contexto seleccionado actual, devolviendo de lo contrario en blanco. Puede ver la diferencia entre las dos medidas siguientes:

Cumalative Total Sales (Correct)

Si tiene alguna pregunta para mí, puede comunicarse conmigo a través de LinkedIn o en la comunidad de PowerBI.

Por favor, márquelo como una solución o dar un kudo si funciona para usted, de lo contrario hágamelo saber si se encuentra con un problema y voy a hacer todo lo posible para ayudar.

Gracias

Ryan Durkin

Hola @rdurkin , no soy capaz de entender cómo la instrucción IF está manejando el error? Por favor, explique de una manera un poco más clara. Gracias.

Hola
Intento la fórmula anterior, pero no puedo obtener resultados, no sé por qué. ¿Puedes ayudar?
CALCULAR (
SUM ( vwExecucaoMensalItem[BudgetPurchaseValue] ),
FILTRO (
ALL (vwExecucaoMensalItem[Fecha] ),
vwExecucaoMensalItem[Fecha] < MAX ( vwExecucaoMensalItem[Fecha] )
)
)
sdjensen
Solution Sage
Solution Sage

¿Leíste este artículo? Realmente explica todo lo que necesita saber sobre el total acumulado

/sdjensen

@sdjensen He leído ese artículo y esa es la base con la que he estado trabajando, pero en vano. Cuando intento imponer la medida en una tabla o crear una nueva columna con esos datos, simplemente me da el mismo valor que corresponde a los datos.

Fotos para demostrar mejor el problema:

https://gyazo.com/ca41ce0b2d8ec572608d4afda4cffd32

https://gyazo.com/4e8d9b3e1cc38c514048272ced01a534

https://gyazo.com/14a6089654df6e90e7fd5595fd842ebd

La columna De fecha se establece en una fecha, las vistas de página únicas se establecen en Números enteros. Estoy honestamente perdido en este punto.

Vvelarde
Community Champion
Community Champion

@ElliotP

Reemplace esto:

All(Allwebsitedata(2) [Fecha]),

Por

All(Allwebsitedata(2)),

La razón es que está utilizando el campo de fecha en la tabla de datos, si va a usar una tabla de calendario, la fórmula funciona perfectamente.




Lima - Peru

@Vvelarde

Muchas gracias, estamos progresando.

Lo he probado como una medida, así como una nueva columna calculada, sin embargo, muestra el total acumulado en cada fila; fotos para demostrar;

https://gyazo.com/0d365fcaaba2507bca2dffe1177837eb

https://gyazo.com/37b810f7b9f4659492b405b3362106db

Además, ¿qué quiere decir con respecto a la tabla de fechas de campo de fecha. ¿Debo establecerlo en otro tipo de tabla?

Vvelarde
Community Champion
Community Champion

@ElliotP

Para una columna calculada:

CumulativeQuantity2 ?
VAR CURRENTDATE'Todos los datos del sitio web (2) '[Fecha]
devolución
CALCULATE(SUM('All Web Site Data (2) '[UniquePagePreviews]); FILTER(all('All Web Site Data (2)');' Todos los datos del sitio web (2) '[Fecha]<-CURRENTDATE))

cumu.png

Para una medida:

CumulativeQuantity-M ?
CALCULATE(SUM('All Web Site Data (2) '[UniquePagePreviews]); FILTER(all('All Web Site Data (2) ');' Todos los datos del sitio web (2) '[Fecha]<-MAX('Todos los datos del sitio web (2) '[Fecha])))

Espero que esto te ayude.




Lima - Peru
Sean
Community Champion
Community Champion

@ElliotP Lamento lo del post original. Era de mi teléfono y tenía errores tipográficos Smiley Wink

Bien, aquí está la fórmula para Ejecutar Total como una Columna Calculada (con formato prorerly)

Columna total en ejecución :
CALCULATE ( SUM (
    'Todos los datos del sitio web (2)'[UniquePageviews] ),
    ALL ( 'Todos los datos del sitio web (2)' ),
    'Todos los datos del sitio web (2)'[Fecha] <- ANTERIOR ( 'Todos los datos del sitio web (2)'[Fecha] )
)

¡Y como puedes ver, funciona! Smiley Happy

Running Total 2.png

Y aquí está la fórmula MEASURE

Medición total en ejecución : 
CALCULATE ( SUM (
    'Todos los datos del sitio web (2)'[UniquePageviews] ),
    FILTER ( ALL (
        'Todos los datos del sitio web (2)'),
        'Todos los datos del sitio web (2)'[Fecha] <- MAX ( 'Todos los datos del sitio web (2)'[Fecha] )
)

Lo que también funciona...

Running Total 3.png

View solution in original post

¡Muchas gracias por la fórmula!

Hice un ajuste para que varios filtros aplicados en la página funcionaran: en lugar de ALL(), he usado ALLSELECTED([Date]).

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.