Функция PARALLELPERIOD
Возвращает таблицу, содержащую столбец с датами, представляющими период, параллельный датам в указанном столбце dates, в текущем контексте; даты смещены на несколько интервалов вперед или назад во времени.
Синтаксис
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
Параметры
Элемент |
Определение |
dates |
Столбец, содержащий даты. |
number_of_intervals |
Целое число, указывающее количество интервалов, которые необходимо добавить к датам или вычесть из дат. |
interval |
Интервал, на который необходимо сдвинуть даты. Интервал может быть следующим: year, quarter, month. |
Возвращаемое значение
Таблица, содержащая один столбец со значениями даты.
Замечания
Эта функция принимает текущий набор дат в столбце, указанном аргументом dates, смещает первую и последнюю дату на указанное количество интервалов, а затем возвращает все последовательные даты между двумя смещенными датами. Если интервал представляет собой часть месяца, квартала или года, то любые неполные месяцы в результате также заполняются, чтобы завершить интервал.
![]() |
---|
Дополнительные сведения о влиянии контекста на результаты формул см. в разделе Контекст в формулах DAX. |
Аргументом 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))