DAX: FUNCIONES DE INTELIGENCIA DE TIEMPO 1 Calendario y comparacion de periodos y % - Galaz666/Power-Bi GitHub Wiki

Para empezar a aprovechar las funciones de inteligencia de tiempo, vamos a crear una medida que nos permita comprar las ventas de un periodo con las ventas del mismo período del año anterior.

Volvemos a Datos, seleccionamos la tabla facturas ventas, modelado y creamos una nueva medida

Importe Anterior = CALCULATE([Importe];SAMEPERIODLASTYEAR(Calendario[Date]))

Y le ponemos formato con separador de miles y dos decimales.

Hemos usado la función CALCULATE, que tiene varios parámetros. El primero es una expresión, en este caso hemos usado una medida que ya tenemos definida, el Importe. Igualmente hubiésemos podido poner SUM(NETO), pero esa es la ventaja de definir la medida, nos olvidamos de arrastrar su fórmula. Y los siguientes parámetros son filtros, en este caso usamos la función SAMEPERIODLASTYEAR donde le indicamos que busque la fecha en el Calendario, NO en Facturas ventas, dado que necesita un intervalo continuo de fechas.

Para verificarlo, creamos una nueva página, ponemos una tabla con los campos Date, del Calendario, e Importe e Importe anterior de facturas ventas.

Veremos que al poner date se nos desglosa en Año, trimestre, mes y día. Quitemos el mes y el día, quedando

Si observamos bien la tabla veremos que a partir del 2014, en la columna importe anterior aparecen las ventas del mismo trimestre del año anterior

Vemos que en el tercer trimestre de 2015 no hay ventas, pero si nos muestra a su derecha las el tercer trimestre de 2014

Por supuesto si activamos los meses, pasara lo mismo.

Y si queremos saber el incremento de un periodo respecto a otro, basta con crear una medida que relacione las dos que ya tenemos

% Importe s/Anterior = [Importe]/[Importe Anterior]

A la que podemos poner formato porcentaje, y añadirla a nuestra tabla

Obteniendo así el aumento de un trimestre respecto a al mismo del año anterior.

Otra función muy útil es la YearToDate, que nos permite saber valores acumulados hasta una fecha

Creemos una nueva medida y ponemos

Importe Acumulado = TOTALYTD([Importe];Calendario[Date])

Con formato separador de miles y dos decimales, y la añadimos a la tabla

Vemos que el 2013 empieza a sumar, y cada trimestre es la suma de sí mismo con el anterior. Y que al cambiar de año, empieza a sumar de nuevo.

Le propongo crear una tabla que nos muestre los meses, y tres columnas con los años que tenemos datos, y los acumulados de los meses, así cuando miremos un mes, no vemos sus ventas, sino lo que llevamos de acumulado y es más fácil saber si vamos bien o mal, pues eso compensa si un mes hay más o menos ventas que los anteriores.

En la misma página podemos hacer más pequeña la fuente, y más estrecha la tabla para dejar espacio debajo

Y añadimos una Matriz, con en Valores, el importe acumulado, en filas el mes, en columnas el año

Y obtenemos una tabla con las ventas acumuladas mes a mes.