Convertir acumulados a valores diarios con Power BI

Lo habitual es disponer de los datos como valores diarios y utilizar Time Intelligence para calcular acumulados. Pero puede suceder que te encuentres con que los datos que te proporcionan son acumulados diarios y necesitas deshacer esos acumulados y convertirlos a su valor diario para analizarlos.
Esto…:

Vamos a ver cómo mediante un caso práctico.

La información de partida

Un Excel que se genera y sobrescribe diariamente con dos columnas, la fecha y el valor acumulado de unos consumos hasta la misma. Como salvedad, los datos de sábados y domingos (y festivos) se acumulan con los del lunes o siguiente día hábil…

Así es como quedarían representados los datos si los utilizásemos tal cual:

Columnas índice para poder combinar

Una vez cargado el fichero en Power Query ordenaremos por columna fecha ascendente y duplicaremos la tabla. A cada una de las tablas le vamos a añadir una columna índice. Una comenzará en cero y la otra en uno.

La idea es relacionar estas tablas por ese índice, de modo que obtengamos para una fecha, la fecha anterior.

Y es lo que haremos Combinando ambas tablas por esas columnas:

Tras expandir, eliminar las columnas innecesarias y reordenarlas, tenemos todos los desde-hasta y vamos añadir una columna que calcule el número de días entre intervalos:

Restar días

Operador de Listas {..}

Para convertir las fechas desde-hasta a filas usaremos el operador de listas {desde..hasta}. En estos posts encontrarás información detallada sobre casos de uso:

Convertir desde-hasta en filas (otro modo, con operador de listas y con ejemplos)

Transformar columnas desde-hasta en filas

Como paso previo hay que convertir las fechas a tipo dato entero y después añadiremos un columna personalizada que cree un lista entre ambos números:

Esto crea un columna tipo con datos tipo “List”. Expandimos como nuevas filas y creará tantas líneas como elementos en cada lista.

Si convertimos esta columna y las de fecha a tipo datos fecha de nuevo, apreciaremos mejor el resultado. Además, observamos que haya fechas repetidas, pues el inicio de un día es el fin del anterior:

Creamos una columna que permitan identificar las fechas repetidas para filtrarlas y filtraremos:

Calcular el valor diario

Finalmente, vamos a calcular el valor diario. Tenemos todas las piezas para hacerlo: el valor final, el valor anterior y el número de días entre el cual hay que dividir. Añadimos un columna personalizada:

Ya tenemos el valor diario y la fecha a la que corresponde, pudiendo eliminar el resto de columnas innecesarias:

Y este es el resultado….

Ya tenemos los valores diarios, y tras agregar una tabla de fechas, con un simple Dax podremos reconstruir el acumulado, aprovechando las ventajas de Time Intelligence.

Espero que te sea útil.

Si quieres los archivos puedes descargarlos:

Archivos convertir acumulados a valores diarios

Te puede interesar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada.