DATESINPERIOD

Применяется к:вычисляемой таблице вычисляемой таблицы Вычисление визуального элемента измерениявычисляемой таблицы

Примечание.

Эта функция не рекомендуется использовать в визуальных вычислениях , так как, скорее всего, возвращает бессмысленные результаты.

Возвращает таблицу, содержащую столбец дат, начинающихся с указанной даты начала, и продолжается для указанного числа и типа интервалов даты.

Эта функция подходит для передачи в качестве фильтра функции CALCULATE . Используйте его для фильтрации выражения по стандартным интервалам даты, таким как дни, месяцы, кварталы или годы.

Синтаксис

DATESINPERIOD(<dates>, <start_date>, <number_of_intervals>, <interval>)

Параметры

Термин Определение
Даты Столбец даты.
start_date Выражение даты.
number_of_intervals Целое число, указывающее количество интервалов для добавления или вычитания из дат.
interval Интервал, с помощью которого необходимо переместить даты. Значение интервала может быть одним из следующих: DAY, , MONTHQUARTERиYEAR

Возвращаемое значение

Таблица, содержащая один столбец значений даты.

Замечания

  • В большинстве случаев использования даты являются ссылкой на столбец дат помеченной таблицы дат.

  • Если число, указанное для number_of_intervals положительно, даты перемещаются вперед во времени; если число отрицательное, даты сдвигаются назад во времени.

  • Параметр интервала — это перечисление. Допустимые значения: DAY, MONTH, QUARTER и YEAR. Так как это перечисление, значения не передаются в виде строк. Поэтому не заключайте их в кавычки.

  • Возвращаемая таблица может содержать только даты, хранящиеся в столбце дат . Например, если столбец дат начинается с 1 июля 2017 года, а значение start_date — 1 июля 2016 года, возвращаемая таблица начнется с 1 июля 2017 года.

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

В следующем определении меры "Продажи" используется функция DATEINPERIOD для вычисления выручки за предыдущий год (PY).

Обратите внимание, что формула использует функцию MAX . Эта функция возвращает последнюю дату, которая находится в контексте фильтра. Таким образом, функция DATEINPERIOD возвращает таблицу дат, начиная с последней даты в прошлом году.

Примеры в этой статье можно использовать с примером модели 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 г. Затем функция DATEINPERIOD возвращает диапазон дат от 1 июля 2019 г. до 30 июня 2020 г. Это год значений дат, начиная с 30 июня 2020 года за последний год.

Функции аналитики времени (DAX)
Функции даты и времени (DAX)
Функция DATEBETWEEN (DAX)