Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы обсудим DAX функции DATESBETWEEN и DATESINPERIOD, создающие в Power BI и PowerPivot ограниченные таблицы из дат.
Эти функции не создают непрерывный календарь, они, всего лишь, берут именно тот перечень дат, который содержится в исходном столбце и ограничивают его. Если в исходной таблице имеются пропуски, то DATESBETWEEN или DATESINPERIOD вернут ограниченный столбец из дат, также, с этими же пропусками.
Чтобы создавать непрерывные календари, для этого в языке DAX имеются другие функции, о которых Вы можете прочитать в этой статье.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее
DAX функция DATESBETWEEN в Power BI и Power Pivot
DATESBETWEEN () — ограничитель календаря по произвольным датам. Создает ограниченную таблицу из дат, начиная со стартовой и заканчивая конечной датами, расположенными в исходном столбце.
Синтаксис:
DATESBETWEEN ([Дата]; Стартовая Дата; Конечная Дата)
Где:
- [Дата] — столбец дат в исходной таблице
- Стартовая и Конечная Даты — дата в формате datetime
! — Стартовые и конечные даты, указанные в параметрах функции, входят в состав выводимых дат.
Пример формулы на основе DAX функции DATESBETWEEN.
В Power BI имеется исходная таблица «Продажи», содержащая даты и сумму продаж за 2 года с 1.01.2017 по 31.12.2018. Но, продажи имеются не за каждый день. Обратите внимание, что 30 декабря 2018 года отсутствует, потому что продаж не было:
В определенных расчетах нам могут понадобиться даты этих продаж, но не все, а ограниченные, например, только за 2018 год. Ограничить даты можно многими способами, начиная от пользовательских фильтров в разделе «Отчеты» в Power BI Desktop, заканчивая разнообразными формулами и функциями внутри самого языка DAX.
Так как в этой статье мы разбираем DATESBETWEEN, то давайте разберем пример ограничения при помощи этой функции, тем более, что она, как раз, для этого и существует.
Создадим во вкладке «Моделирование» в Power BI Desktop вычисляемую таблицу по следующей формуле на основе DATESBETWEEN:
ДатаПродажи = DATESBETWEEN ( 'Продажи'[ДатаПродажи]; "1.01.2018"; "31.12.2018" )
Этой формулой мы создали таблицу с датами продаж, ограниченными только 2018 годом:
Обратите внимание, что DATESBETWEEN возвратила именно тот набор дат, который был в исходном столбце, то есть, 30 декабря 2018 года в этой таблице тоже нет.
DAX функция DATESINPERIOD в Power BI и Power Pivot
DATESINPERIOD () — ограничитель календаря по типовым интервалам. Создает ограниченную таблицу из дат, начиная со стартовой даты, расположенной в исходном столбце и продолжая в течение указанного типового интервала (количеством дней, месяцев, кварталов, лет).
Синтаксис:
DATESINPERIOD ([Дата]; Стартовая Дата; Количество Интервалов; Интервал)
Где:
- [Дата] — столбец дат в исходной таблице
- Стартовая Дата — дата в формате datetime (указанная дата входит в состав выводимых дат)
- Количество Интервалов — целое число, характеризующее количество интервалов
- Интервал — наименование интервала: year (год), quarter (квартал), month (месяц), day (день)
DATESINPERIOD очень похожа на выше рассматриваемую функцию в первом разделе этой статьи. Разница заключается лишь в том, что DATESINPERIOD ограничивает исходный набор дат именно определенными целыми интервалами.
Продолжая рассматривать практический пример, который мы разбирали с первой функцией выше, давайте напишем, формулу, ограничивающую даты продажи 2018 годом, но теперь, на основе DAX функции DATESINPERIOD:
ДатаПродажи = DATESINPERIOD ( 'Продажи'[ДатаПродажи]; "1.01.2018"; 12; MONTH )
В первом параметре мы указали исходный столбец, во втором — стартовую дату, с которой нужно начать ограничение, в третьем — количество периодов, в нашем случае, 12. Ну и, в четвертом — наименование самого периода — я выбрал «MONTH», то есть, месяц.
Результатом выполнения этой формулы на основе DATESINPERIOD, получился столбец из дат, начиная с 1 января 2018 года и далее, продолжая на период в 12 месяцев, до 31 декабря 2018 года:
Обращаю Ваше внимание, что и в данном случае, как это было и с первой рассматриваемой функцией, 30 декабря здесь также отсутствует, так как рассматриваемые в этой статье обе функции не выводят список из непрерывных дат, а выводят именно то, что имеется в исходном столбце.
Сами по себе DATESBETWEEN и DATESINPERIOD обычно просто так не используют. А вставляют их в другие формулы в сочетании с другими функциями.
Также, не нужно путать столбцы из дат, которые создают DATESBETWEEN либо DATESINPERIOD с календарем. Для создания календаря есть специализированные функции, ссылку на них я уже давал выше. А рассматриваемые функции в этой статье — являются именно ограничителем либо исходного столбца дат, либо большого непрерывного календаря.
На этом, с функциями ограничивающими таблицу дат в Power BI и Power Pivot, в этой статье все.
Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?
акция действует до 29 ноября
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D