Forum Discussion
Total acumulado
- 6 years ago
@ElliotP Lamento lo del post original. Era de mi teléfono y tenía errores tipográficos
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!
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...
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] ) ) )
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.
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:
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
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.