Expresiones de análisis de datos (DAX) tiene 35 funciones específicas para agregar y comparar datos a lo largo del tiempo. A diferencia de las funciones de fecha y hora de DAX, las funciones de inteligencia de tiempo realmente no tienen nada similar en Excel. Esto se debe a que las funciones de inteligencia de tiempo trabajan con datos que cambian constantemente, según el contexto que seleccione en las visualizaciones de tablas dinámicas y Power View.
Para trabajar con funciones de inteligencia de tiempo, necesita tener una tabla de fechas incluida en su modelo de datos. La tabla de fechas debe incluir una columna con una fila para cada día de cada año incluido en los datos. Esta columna se considera la columna de fecha (aunque se puede llamar como se desee). Muchas funciones de inteligencia de tiempo necesitan la columna de fecha para realizar el cálculo según las fechas seleccionadas como campos en un informe. Por ejemplo, si tiene una medida que calcula un saldo de cierre de fin de trimestre mediante la función CLOSINGBALANCEQTR, para que Power Pivot sepa cuándo es realmente el final del trimestre, debe hacer referencia a la columna de fecha en la tabla de fechas para saber cuándo comienza y termina el trimestre. Para obtener más información sobre las tablas de fechas, eche un vistazo a Descripción y creación de tablas de fechas en Power Pivot en Excel.
Funciones
Funciones que devuelven una sola fecha
Las funciones de esta categoría devuelven una sola fecha. El resultado se puede usar como argumento para otras funciones.
Las dos primeras funciones de esta categoría devuelven la primera o la última fecha del Date_Column en el contexto actual. Esto puede ser útil cuando desea buscar la primera o la última fecha en la que tuvo una transacción de un tipo determinado. Estas funciones toman solo un argumento, el nombre de la columna de fecha en la tabla de fechas.
- PRIMERA FECHA (Date_Column)
- FECHA ÚLTIDA (Date_Column)
Las dos funciones siguientes de esta categoría buscan la primera o la última fecha (o también cualquier otro valor de columna) en la que una expresión no tenga un valor en blanco. Esto se usa con mayor frecuencia en situaciones como el inventario, donde desea obtener la última cantidad de inventario y no sabe cuándo se tomó el último inventario.
- FIRSTNONBLANK (Date_Column, Expression)
- LASTNONBLANK (Date_Column, Expression)
Seis funciones más que devuelven una sola fecha son las que devuelven la primera o la última fecha de un mes, trimestre o año dentro del contexto actual del cálculo.
- INICIO DEL MES (Date_Column)
- STARTOFQUARTER (Date_Column)
- INICIODELAÑO (Date_Column [,YE_Date])
- ENDOFMONTH (Date_Column)
- ENDOFQUARTER (Date_Column)
- ENDOFYEAR (Date_Column [,YE_Date])
Funciones que devuelven una tabla de fechas
Hay dieciséis funciones de inteligencia de tiempo que devuelven una tabla de fechas. Con frecuencia, estas funciones se usarán como argumento SetFilter para la función CALCULAR . Al igual que todas las funciones de inteligencia de tiempo en DAX, cada función toma una columna de fecha como uno de sus argumentos.
Las primeras ocho funciones de esta categoría comienzan con una columna de fecha en un contexto actual. Por ejemplo, si se usa una medida en una tabla dinámica, podría haber un mes o un año en las etiquetas de columna o de fila. El efecto neto es que la columna de fecha se filtra para incluir solo las fechas del contexto actual. Partiendo de ese contexto actual, estas ocho funciones calculan el día, mes, trimestre o año anterior (o siguiente) y devuelven esas fechas en forma de tabla de una sola columna. Las funciones "anterior" funcionan hacia atrás desde la primera fecha en el contexto actual y las funciones "siguiente" avanzan desde la última fecha en el contexto actual.
- DÍAANTERIOR (Date_Column)
- MONTHUSMONTH (Date_Column)
- TRIMESTREANTERIOR (Date_Column)
- AÑOANTERIOR (Date_Column [,YE_Date])
- DÍA SIGUIENTE (Date_Column)
- PRÓXIMO MES (Date_Column)
- PRÓXIMO TRIMESTRE (Date_Column)
- PRÓXIMO AÑO (Date_Column [,YE_Date])
Las cuatro funciones siguientes en esta categoría son similares, pero en lugar de calcular un período anterior (o siguiente), calculan el conjunto de fechas en el período que es "mes hasta la fecha" (o trimestre hasta la fecha, o año hasta la fecha, o en el mismo período del año anterior). Todas estas funciones realizan sus cálculos utilizando la última fecha en el contexto actual. Tenga en cuenta que SAMEPERIODLASTYEAR requiere que el contexto actual contenga un conjunto de fechas contiguas. Si el contexto actual no es un conjunto de fechas contiguas, SAMEPERIODLASTYEAR devolverá un error.
- DATESMTD (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [,YE_Date])
- SAMEPERIODLASTYEAR (Date_Column)
Las últimas cuatro funciones de esta categoría son un poco más complejas y también un poco más potentes. Estas funciones se usan para desplazarse del conjunto de fechas que se encuentran en el contexto actual a un nuevo conjunto de fechas.
- DATEADD (Date_Column, Number_of_Intervals, Intervalo)
- FECHASENTRE (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, intervalo)
- PARALLELPERIOD (Date_Column, Number_of_Intervals, Interval)
DATESBETWEEN calcula el conjunto de fechas entre la fecha de inicio y finalización especificadas. Las tres funciones restantes desplazan cierto número de intervalos de tiempo del contexto actual. El intervalo puede ser día, mes, trimestre o año. Estas funciones facilitan el desplazamiento del intervalo de tiempo de un cálculo por cualquiera de las siguientes opciones:
- Volver dos años atrás
- Volver un mes atrás
- Avanzar tres cuartos
- Volver 14 días
- Avanzar 28 días
En cada caso, solo necesita especificar qué intervalo y cuántos de esos intervalos cambiar. Un intervalo positivo avanzará en el tiempo, mientras que un intervalo negativo retrocederá en el tiempo. El intervalo en sí se especifica mediante una palabra clave de DÍA, MES, TRIMESTRE o AÑO. Estas palabras clave no son cadenas, por lo que no deben ir entre comillas.
Funciones que evalúan expresiones durante un período de tiempo
Esta categoría de funciones evalúa una expresión durante un período de tiempo especificado. Puede lograr lo mismo usando CALCULAR y otras funciones de inteligencia de tiempo. Por ejemplo,
= TOTALMTD (Expression, Date_Column [, SetFilter])
es precisamente lo mismo que:
= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])
Sin embargo, es más fácil usar estas funciones de inteligencia de tiempo cuando son adecuadas para el problema que debe resolverse:
- TOTALMTD (Expression, Date_Column [, SetFilter])
- TOTALQTD (Expression, Date_Column [, SetFilter])
- TOTALYTD (Expression, Date_Column [, SetFilter] [,YE_Date]) *
También en esta categoría hay un grupo de funciones que calculan los saldos de apertura y cierre. Hay ciertos conceptos que debes entender con estas funciones en particular. Primero, como puede pensar obvio, el saldo inicial para cualquier período es el mismo que el saldo final para el período anterior. El saldo de cierre incluye todos los datos hasta el final del período, mientras que el saldo de apertura no incluye ningún dato de dentro del período actual.
Estas funciones siempre devuelven el valor de una expresión evaluada para un momento específico en el tiempo. El punto en el tiempo que nos importa es siempre el último valor de fecha posible de un período de calendario. El saldo de apertura se basa en la última fecha del período anterior, mientras que el saldo de cierre se basa en la última fecha del período actual. El período actual siempre está determinado por la última fecha en el contexto de fecha actual.
- OPENINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
- OPENINGBALANCEQUARTER Quarter (Expression, Date_Column [,SetFilter])
- OPENINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
- CLOSINGBALANCEMONTH (Expression, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (Expression, Date_Column [,SetFilter])
- CLOSINGBALANCEYEAR (Expression, Date_Column [,SetFilter] [,YE_Date])
Recursos adicionales
Artículos: Comprender y crear tablas de fechas en Power Pivot en Excel
Referencia: Referencia de la función DAX en Office.com
Ejemplos: Modelado y análisis de datos de pérdidas y ganancias con Microsoft PowerPivot en Excel