Функция PARALLELPERIOD

Возвращает таблицу, содержащую столбец с датами, представляющими период, параллельный датам в указанном столбце dates, в текущем контексте; даты смещены на несколько интервалов вперед или назад во времени.

Синтаксис

PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)

Параметры

Элемент

Определение

dates

Столбец, содержащий даты.

number_of_intervals

Целое число, указывающее количество интервалов, которые необходимо добавить к датам или вычесть из дат.

interval

Интервал, на который необходимо сдвинуть даты. Интервал может быть следующим: year, quarter, month.

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

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

Замечания

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

Примечание

Дополнительные сведения о влиянии контекста на результаты формул см. в разделе Context.

Аргументом dates может быть любой из следующих объектов:

  • Ссылка на столбец значений даты-времени.

  • Табличное выражение, возвращающее один столбец значений даты-времени.

  • Логическое выражение, определяющее таблицу из одного столбца со значениями даты-времени.

Примечание

Ограничения, применяемые к логическим выражениям, описаны в разделе CALCULATE, функция.

Если для number_of_intervals задано положительное число, даты в dates сдвигаются вперед, а если число отрицательное, то даты в dates сдвигаются назад.

Параметр interval является перечислением, а не набором строк, и, следовательно, значения не нужно заключать в кавычки. Кроме того, если используются значения year, quarter, month, они должны указываться полностью, без сокращений.

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

Функция PARALLELPERIOD похожа на функцию DATEADD, но PARALLELPERIOD всегда возвращает полные периоды на данном уровне гранулярности, а не частичные периоды, как DATEADD. Например, если имеется набор дат, который начинается 10 июня и кончается 21 июня того же года, и нужно сместить этот набор на один месяц вперед, функция PARALLELPERIOD возвращает все даты следующего месяца (с 1 июля по 31 июля) а функция DATEADD — только даты с 10 июля по 21 июля.

Если даты в текущем контексте не составляют непрерывный интервал, функция возвращает ошибку.

Использование этой функции DAX в режиме DirectQuery не поддерживается. Дополнительные сведения об ограничениях моделей в режиме DirectQuery см. по ссылке https://go.microsoft.com/fwlink/?LinkId=219172.

Пример

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

Чтобы увидеть работу образца, создайте сводную таблицу и добавьте поля CalendarYear и CalendarQuarter в область Метки строк сводной таблицы. Затем добавьте меру с именем «Продажи за прошлый год», используя формулу, определенную в разделе кода, в область Значения сводной таблицы.

Примечание

В указанном выше примере используется таблица DateTime из образца книги DAX.Дополнительные сведения об образцах см. в разделе Получение образца данных.

=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))

См. также

Справочник

Функция DATEADD

Другие ресурсы

Функции логики операций со временем (DAX)

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

Получение образца данных