Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В этой статье мы разберем две небольшие функции FIRSTNONBLANK и LASTNONBLANK, входящие в состав языка DAX, которые способны возвращать первое (последнее) известное значение в рамках непустого результата вычисления выражения.
В частности, эти функции позволяют, например, в Power BI (Power Pivot) узнать первую (последнюю) дату продажи.
Давайте разберем эти функции подробно.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
DAX функции FIRSTNONBLANK и LASTNONBLANK в Power BI и Power Pivot
FIRSTNONBLANK () — возвращает первое известное значение из столбца, где вычисленное выражение является непустым.
LASTNONBLANK () — возвращает последнее известное значение из столбца, где вычисленное выражение является непустым.
Синтаксис:
FIRSTNONBLANK ([Столбец]; Выражение) LASTNONBLANK ([Столбец]; Выражение)
Пример формул на основе DAX функций FIRSTNONBLANK и LASTNONBLANK.
В Power BI Desktop имеется исходная таблица «Продажи», в которой находится информация по дате и сумме продажи:
Требуется в отчетах Power BI вывести даты первой и последней продажи. И сделать это, буквально в одно действие, можно при помощи DAX функций FIRSTNONBLANK и LASTNONBLANK. Давайте напишем соответствующие формулы мер:
Дата Первой Продажи = FIRSTNONBLANK ('Продажи'[Дата]; SUM('Продажи'[СуммаПродажи])) Дата Последней Продажи = LASTNONBLANK ('Продажи'[Дата]; SUM('Продажи'[СуммаПродажи]))
Где, в первом параметре мы прописали исходный столбец с датами продаж. Именно из этого столбца рассматриваемые функции и будут брать первые и последние известные значения.
Во втором параметре мы прописали выражение (в данном случае, сумма продаж, вычисленная при помощи функции SUM), для которого будет анализироваться результат вычисления на то, непустое ли значение получилось.
Если в рамках данного контекста, результат выражениям является не пустым, то возвращается первое (последнее) известное значение из первого параметра.
Если же результат выражения в данном контексте имеет значение «пусто», то значение из первого параметра возвращаться не будет.
Итак, результатом выполнения этих формул в Power BI на основе DAX функций FIRSTNONBLANK и LASTNONBLANK, будут получены даты первой и последней продажи в рамках текущего контекста:
Если мы сравним исходную таблицу и получившиеся отчеты по датам первой и последней продажи, то увидим, что функции FIRSTNONBLANK и LASTNONBLANK отработали правильно и вернули дату первой продажи — 15.07.2018, а дату последней продажи — 21.07.2018.
Если же, мы изменим контекст вычисления, а именно, введем фильтр дат, например от 16.07.2018 до 19.07.2018, то рассматриваемые функции FIRSTNONBLANK и LASTNONBLANK вернут соответствующие этому контексту фильтра измененные даты первой и последней продажи:
На этом, с разбором DAX функций FIRSTNONBLANK и LASTNONBLANK в Power BI и Power Pivot, все.
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D