DAX – Introducción – Parte 7 – Medidas de tiempo

Antes de trabajar con medidas que lleven aparejado cálculos de tiempo, es importante hayamos resuelto nuestra estrategia de tabla de fechas. El siguiente articulo parte de la premisa que están trabajando con una tabla de fechas creada explícitamente y no con columnas fecha, aunque solo requieren pequeños ajustes o consideraciones.

La forma mas sencilla de armar cálculos de fechas sigue la siguiente sintaxis en la mayoría de los casos.

NombreDeMedida=
VAR variableFechas = FuncionInteligenciaTiempo( TablaFecha[ColumnaFecha)
RETURN
CALCULATE( ExpresiónoMedida, variableFechas)

 

Ejemplos

Acumulado del Año (YTD)

SalesAmount YTD = 
VAR vFechas = DATESYTD( 'Date'[Date] )
RETURN
CALCULATE( SUM( 'BI Sales'[SalesAmount]), vFechas )

Mismo Periodo Año Anterior (SPLY)

SalesAmount SPLY = 
VAR vFechas = SAMEPERIODLASTYEAR( 'Date'[Date] )
RETURN
CALCULATE( SUM( 'BI Sales'[SalesAmount]), vFechas )

Mes Previo (PM)

SalesAmount PM = 
VAR vFechas = DATEADD( 'Date'[Date], -1, MONTH)
RETURN
CALCULATE( SUM( 'BI Sales'[SalesAmount]), vFechas )

En lugar de escribir la expresión de calculo, podemos utilizar una medida, quedándonos de la siguiente manera

SalesAmount YTD = 
VAR vFechas = DATESYTD( 'Date'[Date] )
RETURN
CALCULATE( [Sales], vFechas )

SalesAmount SPLY = 
VAR vFechas = SAMEPERIODLASTYEAR( 'Date'[Date] )
RETURN
CALCULATE( [Sales], vFechas )

SalesAmount PM = 
VAR vFechas = DATEADD( 'Date'[Date], -1, MONTH)
RETURN
CALCULATE( [Sales], vFechas )

DAX - Tabla TI 1

Tambien podríamos hacer otros cálculos adicionales siguiendo es mismo patron:

Acumulado del Año – Año Previo

SalesAmount YTD - SPLY = 
VAR vFechas = SAMEPERIODLASTYEAR( DATESYTD( 'Date'[Date] ))
RETURN
CALCULATE( [Sales], vFechas )

Acumulado Últimos 12 meses

SalesAmount L12M = 
VAR vFechas = DATESINPERIOD('Date'[Date], LASTDATE( 'Date'[Date]), -12, MONTH)
RETURN
CALCULATE( [Sales], vFechas )

 

Deja un comentario