Office

Логика операций со временем в PowerPivot для Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Выражения анализа данных (DAX) имеют 35 функций для статистической обработки и сравнения данных с течением времени. В отличие от функций даты и времени DAX функции анализа времени не имеют ничего похожих в Excel. Это связано с тем, что функции логики операций со временем работают с данными, которые постоянно меняются в зависимости от контекста, выбранного в сводных таблицах и визуализациях Power View.

Для работы с функциями логики операций со временем необходимо включить таблицу дат в модель данных. Таблица дат должна включать столбец с одной строкой для каждого дня каждого года, включенного в данные. Этот столбец считается столбцом "Дата" (хотя его можно назвать как угодно). Многие функции операций со временем используют столбец "Дата" для вычисления в соответствии с датами, выбранными в качестве полей в отчете. Например, если у вас есть мера, которая вычисляет баланс на конец периода с помощью функции КЛОСИНГБАЛАНЦЕКТР, чтобы Power Pivot знали, когда вы действительно хотите завершить работу с кварталом, он должен ссылаться на столбец "Дата" в таблице дат, чтобы узнать, когда квартал Начало и завершение. Дополнительные сведения о таблицах дат см. в статье понимание и создание таблиц дат в Power Pivot в Excel.

Функции

Функции, возвращающие одну дату

Функции этой категории возвращают отдельную дату. Результат можно использовать в качестве аргументов для других функций.

Первые две функции этой категории возвращают первую или последнюю дату в Дате_колумн в текущем контексте. Это может быть полезно, если вы хотите найти первую или последнюю дату выполнения транзакции определенного типа. Эти функции принимают только один аргумент — имя столбца "Дата" в таблице дат.

Следующие две функции в этой категории находят первую или последнюю дату (или любое другое значение столбца также), где выражение содержит непустое значение. Чаще всего это используется в таких ситуациях, как запасы, в которых вы хотите получить последнюю сумму запасов, и вы не знаете, когда выполнялись последние запасы.

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

Функции, возвращающие таблицу дат

Существует шестнадцать функций обработки времени, возвращающих таблицу дат. Чаще всего эти функции будут использоваться в качестве аргумента SetFilter для функции Calculate . Как и все функции логики операций со временем в DAX, каждая функция принимает столбец Date в качестве одного из аргументов.

Первые восемь функций этой категории начинаются со столбца Date в текущем контексте. Например, при использовании показателя в сводной таблице может быть месяц или год в названиях столбцов или названиях строк. "Чистый" — столбец "Дата" фильтруется, чтобы он включил только даты текущего контекста. Начиная с текущего контекста эти восемь функций вычисляют предыдущий (или следующий) день, месяц, квартал или год и возвращают эти даты в виде таблицы с одним столбцом. Функции "назад" работают назад от первой даты текущего контекста, а функции "Далее" — вперед от последней даты в текущем контексте.

Следующие четыре функции в этой категории аналогичны, но вместо вычисления предыдущего (или следующего) периода вычисляется набор дат в периоде "с начала месяца" (или с начала квартала или за год или за тот же период прошлого года). Все эти функции выполняют вычисления с использованием последней даты в текущем контексте. Обратите внимание, что для SAMEPERIODLASTYEAR требуется, чтобы текущий контекст содержал непрерывный набор дат. Если текущий контекст не является непрерывным набором дат, SAMEPERIODLASTYEAR возвращает ошибку.

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

  • DateAdd (Дате_колумн, Нумбер_оф_интервалс, интервал)

  • DATESBETWEEN (Дате_колумн, нач_дата, кон_дата)

  • DATESINPERIOD (Дате_колумн, нач_дата, Нумбер_оф_интервалс, Interval)

  • PARALLELPERIOD (Дате_колумн, Нумбер_оф_интервалс, интервал)

DATESBETWEEN вычисляет набор дат между указанной датой начала и датой окончания. Остальные три функции изменяют некоторые интервалы времени из текущего контекста. Интервал может быть "день", "месяц", "квартал" или "год". Эти функции упрощают изменение интервала времени для вычислений одним из следующих способов:

  • Назад на два года

  • Переход назад на один месяц

  • Переход на три квартала вперед

  • Назад на 14 дней

  • Назад на 28 дней

В каждом случае необходимо указать, какой интервал и сколько этих интервалов нужно сдвинуть. Положительный интервал переместится вперед по времени, в то время как отрицательный интервал перейдет назад. Сам интервал определяется ключевым словом "день", "месяц", "квартал" или "год". Эти ключевые слова не являются строками, поэтому они не должны быть заключены в кавычки.

Функции, которые вычисляются выражения за период времени

Эта категория функций вычисляет выражение для определенного периода времени. То же самое можно сделать с помощью вычислений и других функций анализа времени. Например:

= TOTALMTD (выражение, Дате_колумн [, SetFilter])

точно так же, как:

= CALCULATE (выражение, DATESMTD (Дате_колумн) [, SetFilter])

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

  • TOTALMTD (Выражение, Дате_колумн [, SetFilter])

  • TOTALQTD (Выражение, Дате_колумн [, SetFilter])

  • TOTALYTD (Выражение, Дате_колумн [, SetFilter] [, Е_дате]) *

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

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

Дополнительные ресурсы

Статьи: Знакомство с таблицами дат в Power Pivot в Excel

Справка: функция DAX Referenceson Office.com

Примеры: моделирование и анализ данных о прибылях и убытках с помощью Microsoft PowerPivot в Excel

Совершенствование навыков работы с Office
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×