DATESINPERIOD
применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления
Заметка
Эта функция не рекомендуется использовать в визуальных вычислениях, так как, скорее всего, возвращает бессмысленные результаты.
Возвращает таблицу, содержащую столбец дат, начинающихся с указанной даты начала, и продолжается для указанного числа и типа интервалов даты.
Эта функция подходит для передачи в качестве фильтра в функцию CALCULATE. Используйте его для фильтрации выражения по стандартным интервалам даты, таким как дни, месяцы, кварталы или годы.
Синтаксис
DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)
Параметры
Срок | Определение |
---|---|
dates |
Столбец даты. |
start_date |
Выражение даты. |
number_of_intervals |
Целое число, указывающее количество интервалов для добавления или вычитания из дат. |
interval |
Интервал, с помощью которого необходимо переместить даты. Значение интервала может быть одним из следующих: DAY , MONTH , QUARTER и YEAR |
Возвращаемое значение
Таблица, содержащая один столбец значений даты.
Замечания
В наиболее распространенном случае использования
dates
является ссылкой на столбец даты помеченной таблицы дат.Если число, указанное для
number_of_intervals
положительно, даты перемещаются вперед в течение времени; Если число отрицательное, даты сдвигаются назад во времени.Параметр
interval
является перечислением. Допустимые значения:DAY
,MONTH
,QUARTER
иYEAR
. Так как это перечисление, значения не передаются в виде строк. Поэтому не заключайте их в кавычки.Возвращаемая таблица может содержать только даты, хранящиеся в столбце
dates
. Например, если столбецdates
начинается с 1 июля 2017 года, а значениеstart_date
— 1 июля 2016 года, возвращаемая таблица начнется с 1 июля 2017 года.Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Пример
В приведенном ниже определении меры продаж таблица использует функцию DATESINPERIOD для вычисления выручки за предыдущий год (PY).
Обратите внимание, что формула использует функцию MAX. Эта функция возвращает последнюю дату, которая находится в контексте фильтра. Таким образом, функция DATESINPERIOD возвращает таблицу дат, начиная с последней даты в прошлом году.
Примеры в этой статье можно использовать с примером модели Adventure Works DW 2020 Power BI Desktop. Сведения о получении модели см. в разделе DAXпримера модели.
Revenue PY =
CALCULATE(
SUM(Sales[Sales Amount]),
DATESINPERIOD(
'Date'[Date],
MAX('Date'[Date]),
-1,
YEAR
)
)
Рассмотрим, что отчет фильтруется по месяцам июня 2020 года. Функция MAX возвращается 30 июня 2020 г. Функция DATESINPERIOD возвращает диапазон дат от 1 июля 2019 г. до 30 июня 2020 г. Это год значений дат, начиная с 30 июня 2020 года за последний год.
Связанное содержимое
функции аналитики времени (DAX)функции даты и времени (DAX)DATESBETWEEN (DAX)