SAMEPERIODLASTYEAR

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

Примечание.

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

Для входных данных столбца даты возвращает таблицу, содержащую столбец дат, сменяющихся один год назад с дат в указанном dates столбце в текущем контексте.

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

Синтаксис

SAMEPERIODLASTYEAR(<dates> or <calendar>)

Параметры

Термин Определение
dates or calendar Столбец, содержащий даты или ссылку на календарь

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

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

Замечания

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

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

  • Возвращаемые даты совпадают с датами, возвращаемыми этой эквивалентной формулой: DATEADD(dates, -1, year)

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

Пример

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

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), SAMEPERIODLASTYEAR(DateTime[DateKey]))

Специальное поведение

Если выбор включает последние два дня месяца, SAMEPERIODLASTYEAR будет использовать семантику расширения и будет включать дни до конца месяца. Например, когда 27 и 28 февраля 2009 года включены в выборку, SAMEPERIODLASTYEAR возвращается 27 февраля до 29 февраля 2008 года.

Это поведение происходит только в том случае, если последние два дня месяца включены в выборку. Если выбрано только 27 февраля, он перейдет к 27 февраля.

= SAMEPERIODLASTYEAR(DateTime[DateKey])

Пример для аналитики времени на основе календаря

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

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), SAMEPERIODLASTYEAR(FiscalCalendar))

Различия в поведении между классической и календарной аналитикой времени

Некоторые сценарии могут дать разные результаты при сравнении классической и календарной аналитики времени. Например, в лунном году, SamePeriodLastYear будет производить различные результаты по гранулярности дат. В аналитике времени на основе календаря, сдвиг 29 февраля 2008 года назад один год приводит к марту 1 2007 года, потому что он рассматривается как 60-й день года. В классической аналитике времени та же смена возвращается 28 февраля 2007 года. Обходной путь — использовать DATEADD(календарь,< число в год>, месяц). Например, если год имеет 13 месяцев в календаре, используйте DATEADD(Календарь, -13, месяц). Этот подход изменится на месяц, так что февраль 2008 будет переходить к февралю 2007 года.