Россия Нет

Как в Power BI (Power Pivot) получить первую (последнюю) известную дату? DAX функции FIRSTDATE и LASTDATE

 
   
   

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


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

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

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

Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)

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

Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее

до конца распродажи осталось:

 

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, на основании имеющихся данных по продажам, нам требуется получить даты первой и последней сделки по продаже товара. Как Вы понимаете, для этих целей нам подойдут рассматриваемые в этой статье time intelligence функции FIRSTDATE и LASTDATE, так как они, как раз таки, и возвратят нам эти даты первой и последней продажи.

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

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

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

 

Теперь, больше не для того, чтобы понять работу функций 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, дата последней продажи у нас вывелась не 28 января, как в первом примере, а 23 января.

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



 

Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?

 
акция действует до 29 ноября


 

 


 
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
 

Узнать подробнее и заказать курс всего за 5000 руб.

Пожалуйста, оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(14 голосов, в среднем: 5 из 5 баллов)
[Экспресс-видеокурс] Быстрый старт в языке DAX

 
 
Антон БудуевУспехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
 
 
 
 

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

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

Автор статьи:
Категория: Язык функций и формул DAX для Power BI и Excel (Power Pivot)

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

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