DATESINPERIOD
Se aplica a:columna Calculadatabla calculadaMedidacálculo visual
Nota
No se recomienda usar esta función en cálculos visuales, ya que probablemente devuelva resultados sin sentido.
Devuelve una tabla que contiene una columna de fechas que comienza con una fecha de inicio especificada y continúa para el número especificado y el tipo de intervalos de fecha.
Esta función es adecuada para pasar como filtro a la función CALCULATE. Úselo para filtrar una expresión por intervalos de fecha estándar, como días, meses, trimestres o años.
Sintaxis
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Parámetros
Término | Definición |
---|---|
dates |
Una columna de fecha. |
start_date |
Expresión de fecha. |
number_of_intervals |
Entero que especifica el número de intervalos que se van a agregar o restar de las fechas. |
interval |
Intervalo por el que se van a desplazar las fechas. El valor del intervalo puede ser uno de los siguientes: DAY , MONTH , QUARTER y YEAR |
Valor devuelto
Tabla que contiene una sola columna de valores de fecha.
Observaciones
En el caso de uso más común,
dates
es una referencia a la columna de fecha de una tabla de fechas marcada.Si el número especificado para
number_of_intervals
es positivo, las fechas se mueven hacia delante en el tiempo; si el número es negativo, las fechas se desplazan hacia atrás en el tiempo.El parámetro
interval
es una enumeración. Los valores válidos sonDAY
,MONTH
,QUARTER
yYEAR
. Dado que es una enumeración, los valores no se pasan como cadenas. Así que no los incluya entre comillas.La tabla devuelta solo puede contener fechas almacenadas en la columna
dates
. Por ejemplo, si la columnadates
comienza desde el 1 de julio de 2017 y el valor destart_date
es el 1 de julio de 2016, la tabla devuelta comenzará desde el 1 de julio de 2017.Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).
Ejemplo
La siguiente definición de medida Sales tabla usa la función DATESINPERIOD para calcular los ingresos del año anterior (PY).
Observe que la fórmula usa la función MAX. Esta función devuelve la fecha más reciente que se encuentra en el contexto de filtro. Por lo tanto, la función DATESINPERIOD devuelve una tabla de fechas a partir de la fecha más reciente del año pasado.
Los ejemplos de este artículo se pueden usar con el modelo de Power BI Desktop de Adventure Works 2020 de ejemplo. Para obtener el modelo, consulte DAX modelo de ejemplo.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Tenga en cuenta que el informe se filtra por el mes de junio de 2020. La función MAX devuelve el 30 de junio de 2020. A continuación, la función DATESINPERIOD devuelve un intervalo de fechas comprendido entre el 1 de julio de 2019 y el 30 de junio de 2020. Es un año de valores de fecha a partir del 30 de junio de 2020 para el último año.
Contenido relacionado
funciones de inteligencia de tiempo (DAX)funciones de fecha y hora (DAX)DATESBETWEEN (DAX)