Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):


Антон БудуевПриветствую Вас, дорогие друзья, с Вами Будуев Антон. Этой статьей мы заканчиваем рассматривать функции в DAX из категории time intelligence (логики операций с датами и временем). А конкретно, мы разберем работу двух достаточно простых функций FIRSTDATE и LASTDATE, возвращающих первую (последнюю) известную дату в Power BI и Power Pivot.

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.

 

DAX функции FIRSTDATE и LASTDATE в Power BI и Power Pivot

FIRSTDATE () — возвращает первую известную дату для указанного столбца дат в текущем контексте.
LASTDATE () — возвращает последнюю известную дату для указанного столбца дат в текущем контексте.

Иногда я встречаю, что пользователи языка DAX в Power BI или Power Pivot пишут данные функции в два раздельных слова: FIRST DATE или LAST DATE, что, естественно, неправильно.

Синтаксис:

FIRSTDATE ([Дата])
LASTDATE ([Дата])

 

Пример формул на основе DAX функций FIRSTDATE и LASTDATE

Разберем формулы с участием DAX функций FIRSTDATE и LASTDATE на основе примера продажи некого товара.

В Power BI имеется исходная таблица «Продажи товара», где содержится информация по дате сделки продажи:

Исходная таблица в Power BI, содержащая дату сделки продажи

 

Для тех или иных задач, для построения каких-то исследовательских отчетов в Power BI, на основании имеющихся данных по продажам, нам требуется получить даты первой и последней сделки по продаже товара. Как Вы понимаете, для этих целей нам подойдут рассматриваемые в этой статье time intelligence функции FIRSTDATE и LASTDATE, так как они, как раз таки, и возвратят нам эти даты первой и последней продажи.

Итак, составим соответствующие формулы мер в Power BI Desktop:

Первая Продажа = FIRSTDATE ('ПродажиТовара'[ДатаСделки])
Последняя Продажа = LASTDATE ('ПродажиТовара'[ДатаСделки])

И в отчетах Power BI мы можем пронаблюдать работу формул этих мер:

Результат работы формул в Power BI на основе DAX функций FIRSTDATE и LASTDATE

 

Теперь, больше не для того, чтобы понять работу функций FIRSTDATE и LASTDATE (они и так простые и с ними все понятно), а для тренировки составления формул на языке DAX, рассмотрим пример с формулой, несколько сложнее предыдущих.

Итак, нам требуется составить такой код формулы, чтобы получить дату последней сделки, но только для тех продаж, которые были совершены до 25 января.

То есть, в нашу исходную прошлую формулу нужно вставить каким-то образом фильтр, который отфильтрует все даты продаж до 25 января. Код формулы будет таким:

Последняя Продажа = 
LASTDATE (
    FILTER (
        ALL ('ПродажиТовара'[ДатаСделки]);
        'ПродажиТовара'[ДатаСделки] < DATE (2018; 01; 25)
    )
)

Где, в качестве параметра столбца с датами в функции LASTDATE мы вставили функцию FILTER, которая и отфильтровывает даты сделок до 25 января следующим условием:

'ПродажиТовара'[ДатаСделки] < DATE (2018; 01; 25)

Для сравнения в условии даты сделок с 25 января мы воспользовались еще одной DAX функцией DATE, которая позволила в этом условии записать саму дату.

Также, пришлось использовать еще одну DAX функцию — ALL. Потому как, функция FILTER, если в ее первый параметр вставить просто таблицу «Продажи Товара», то она возвратит отфильтрованную таблицу, что не подойдет для функции LASTDATE, так как в параметре LASTDATE — должен быть столбец, а не таблица. И функция ALL, внутрь которой мы вставили ссылку на столбец [Дата Сделки], в результате возвратила столбец в виде таблицы. Что подошло как и для FILTER (так как в ней нужна ссылка именно на таблицу), так и для LASTDATE (так как для нее нужна ссылка на столбец).

Итог работы этой формулы мы можем наблюдать в отчетах Power BI:

Результат работы формулы в Power BI на основе DAX функций LASTDATE, FILTER, ALL и DATE

 

Как мы видим из этой визуализации в Power BI, дата последней продажи у нас вывелась не 28 января, как в первом примере, а 23 января.

На этом в этой статье, с разбором DAX функций FIRSTDATE и LASTDATE, возвращающих первую (последнюю) известные даты в Power BI или PowerPivot, все.

Успехов Вам, друзья!

 

Антон БудуевС уважением, Будуев Антон.
Проект «BI — это просто»

 

 

Присоединяйтесь к нашим социальным сетям

Именно в них оперативно и каждый день Вам будут доступны наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи 

по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel...)

Наша группа Вконтакте Мы в Инстаграме Наша группа в Фейсбук Наш YouTube канал
Наша группа VK
Подписаться на наш YouTube канал
 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.

Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.

 

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


Вам это может быть интересно. Другие статьи нашего обучающего портала:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Заполняя форму отправки комментария своими персональными данными (имя, email, сайт и др.), Вы автоматически подтверждаете свое согласие на обработку своих персональных данных