Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):
Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье поговорим про функции в DAX, возвращающие таблицы уникальных значений в Power BI и Power Pivot, а именно, про VALUES и DISTINCT.
Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.
Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».
Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)
В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.
Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее
DAX функция VALUES в Power BI и Power Pivot
VALUES () — функция, как я уже написал во вступлении, которая создает таблицу, состоящую из одного столбца с набором уникальных значений исходной таблицы или столбца.
Синтаксис: VALUES (‘Таблица’) или VALUES ([Столбец])
Данная функция достаточно простая, поэтому описывать ее сильно не будем, а сразу перейдем к практическим примерам и построению DAX формул.
В качестве примера возьмем исходную таблицу «СпрМенеджеры», находящуюся в Power BI и содержащую информацию по менеджерам и отделам:
Создадим в Power BI Desktop во вкладке «Моделирование» вычисляемую таблицу уникальных значений отделов на основе формулы с участием VALUES:
Таблица = VALUES ('СпрМенеджеры'[Отдел])
Как результат, мы увидим столбец с уникальными значениями отделов:
Саму по себе функцию VALUES, как на примере выше, используют достаточно редко. Обычно в формулах она используется в партнерстве с другими DAX функциями.
Например, мы можем в рамках одной формулы объединить VALUES с функцией COUNTROWS, которая считает количество строк. Тем самым, мы можем создать меру, вычисляющую на основе исходной таблицы «СпрМенеджеры» количество отделов в организации:
Количество Отделов = COUNTROWS ( VALUES ('СпрМенеджеры'[Отдел]) )
Результатом выполнения кода этой формулы будет количество отделов, равное 3:
DAX функция DISTINCT в Power BI и Power Pivot
DISTINCT () — DAX функция, которая возвращает столбец с уникальными значениями исходного столбца или таблицы. В своей практике я эту функцию очень часто использую при создании так называемых таблиц справочников (измерений) на основе исходного столбца из таблицы фактов.
Таблицы фактов обычно содержат очень большой объем данных (миллионы строк), которые могут повторятся. Например, таблица фактов «Заявки», в которой в каждой строке указана информация по одной заявке — сумма, затраты, менеджер, дата сделки и т.д.
Таблицы справочников (измерений) гораздо меньше, количество строк в них может составлять десятки или сотни, в крайних случаях (в больших корпорациях) несколько тысяч. В них содержатся только уникальные значения, расшифровывающие то или иное измерение, например, менеджеров (имя, фамилия, телефон, адрес проживания и т.д.)
Синтаксис: DISTINCT ([‘Таблица’]) или DISTINCT ([Столбец])
В качестве примера работы функции DISTINCT напишем простую формулу, которая создаст в нашей модели данных справочник по менеджерам на основе исходной таблицы фактов «Заявки»:
Итак, код формулы в DAX достаточно простой:
СпрМенеджеры = DISTINCT ('Заявки'[Менеджер])
Создав на основе этой формулы вычисляемую таблицу, получим в модели данных справочник по менеджерам:
Далее, в Power BI Desktop во вкладке «Связи» можно будет объединить все таблицы, содержащие столбец [Менеджер], на основе созданного функцией DISTINCT, справочника «СпрМенеджер»:
В результате использования функции DISTINCT, мы смогли создать справочник с уникальными значениями менеджеров, при помощи которого, объединили две таблицы фактов «Заявки» и «Дополнительные затраты».
На этом, с разбором DAX функций VALUES и DISTINCT в Power BI и Power Pivot, в этой статья все.
Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?
акция действует до 29 ноября
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
Пожалуйста, оцените статью:
Успехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.
Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D
Антов добрый день!
Очень нужна помощь, если создать справочник с помощью функции DISTINCT, будет ли обновятся справочник если в исходной таблице будут изменения?
Здравствуйте, Санжар. Да, конечно, справочник будет обновляться
Антон, здравствуйте!
Какой формулой можно посчитать кол-во уникальных значений соответствующих определённым условиям? При этом условие находится в другом столбце, а таблица содержит более 2-х столбцов.
Здравствуйте, Василий. Формула будет такой:
FILTER — отфильтрует таблицу по нужным нам условиям
SUMMARIZE — возвратит таблицу с 1 столбцом с уникальными значениями
COUNTROWS — посчитает количество этих уникальных строк
Добрый день, Антон!
Подскажи пожалуйста как создать справочник из таблицы «Факт» сразу с несколькими полями.
Например, требуется сделать справочник с тремя столбцами. Для этого надо вытянуть из числа прочих столбцов общей таблицы столбец «НаселеныйПункт» с уникальными значениями и соответствующие ему поля «ФедеральныйОкруг» и «Регион»?
Здравствуйте, Сергей.
Справочник можно создать при помощи одной из функций, о которых говорилось в статье выше (VALUES и DISTINCT). Затем, в этой созданной таблице добавить вычисляемые столбцы и при помощи функции RELATED прописать в этих добавленных столбцах ФО и Регион (на сколько я понимаю, ФО и Регион у Вас прописаны в отдельных связанных таблицах). Статья про функцию RELATED