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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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

80 REPLIES 80
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!

Anonymous
Not applicable

@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

Hola @Sean ,

También estoy tratando de crear un total acumulado de las fechas pasadas y tengo dos condiciones:

1) si la fecha de entrega <=Hoy(), entonces debe completar el total acumulado de la columna Cantidad hasta la fecha de hoy.

2) Si la fecha de entrega >Hoy, entonces debería darme solo el valor que está presente en la columna de entrega.
He intentado crear una medida, pero me da un total acumulado de datos completos, sin embargo, mi resultado esperado está a continuación:
Medida 1

YD de ventas = CALCULAR([sum_of_MGO1],
FILTRO(TODOS SELECCIONADOS(ZIBP_PO_MGRTN),
ZIBP_PO_MGRTN[DELIVERY_DATE]<=MÁXIMO(ZIBP_PO_MGRTN[DELIVERY_DATE])))



Column.JPGCapture_111.JPGCapture_11.JPG
Realmente aprecio si puede ayudarme a obtener este resultado.

Gracias

Ceniza

Tuve problemas con esta fórmula, y el problema era que la declaración ALL() requería mi columna de fecha nuevamente. Un saludo a este sitio web por mostrarme.

https://powerbidocs.com/2020/11/08/cumulative-total-running-total-in-power-bi/

Running Total MEASURE = 
CALCULATE (
    SUM ( 'All Web Site Data (2)'[UniquePageviews] ),
    FILTER (
        ALL ( 'All Web Site Data (2)'[Fecha] ),
        'All Web Site Data (2)'[Date] <= MAX ( 'All Web Site Data (2)'[Date] )
    )
)

¡Gracias, necesitaba esto!

¿Hay alguna manera de hacer esto que mantenga los filtros aplicados a la tabla original? Por ejemplo, si hubiera otro filtro llamado 'PageViewsFromCountry', para el que nos gustaría aplicar un filtro o segmentación visual. He intentado usar filtros Keep sin éxito:

Running Total MEASURE = 
CALCULATE (
    SUM ( 'All Web Site Data (2)'[UniquePageviews] ),
    FILTER (
        KEEPFILTERS( 'All Web Site Data (2)' ),
        'All Web Site Data (2)'[Date] <= MAX ( 'All Web Site Data (2)'[Date] )
    )
)

No funciona en el gráfico de líneas si hay 0 valores para algunos períodos

Oleh116611_0-1658313312442.png

Oleh116611_1-1658313362434.png

He seguido un enfoque idéntico al que ha proporcionado aquí, pero me encuentro con este problema cuando se trata del contexto del año en curso y el año anterior calculando el total completo en lugar de solo los cuatro meses de este año.

seancasey_1-1650453552578.png

¿ @seancasey

Asegúrese de que el código que está utilizando tiene ALLSELECTED en lugar de solo ALL en la parte de filtro de la expresión. Esto debería reflejar las diversas segmentaciones de datos que ha empleado en la página.

Saludos

Neil

Sí, ya tengo esa parte en

Acumulación de aplicaciones =
CALCULAR(
[# Aplicaciones],
FILTRO(
ALLSELECTED( 'Aplicaciones' ),
«Aplicaciones»[APM_CREATED_DATE] <= MAX(Aplicaciones[APM_CREATED_DATE])
)
)

Hola @seancasey, aquí hay un ejemplo que estoy usando que funciona para todas las selecciones de filtros en tablas relacionadas. Estoy haciendo mi segmentación de fechas basada en una tabla de calendario.
CumulativeInvoiceQty =
CALCULAR
( SUMA ( FACT_SalesOrderLines[InvoicedSOQty] ),
FILTRO
(
TODOSSELECCIONADOS ( 'DATE_TABLE' ),
(«DATE_TABLE»[Fecha]) <= MÁXIMO ( DATE_TABLE[Fecha] )
)
)

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.