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


Антон БудуевПриветствую Вас, дорогие друзья, с Вами Будуев Антон. Я часто встречаю вопросы про функции и формулы в DAX (Power BI и Power Pivot). Многие пишут эти вопросы и не всегда правильно понимают что является функциями, а что формулами.

На самом деле все просто — функции, это то, из чего состоит сам DAX, а формулы — это тот код, который мы пишем на основе функции в Power BI или Power Pivot.

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

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

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

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

 

Функции (functions) в DAX

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

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

Но, несмотря на то, что функции мы сами создавать не можем, год от года в DAX можно наблюдать появление совершенно новых функций. Так как разработчики не стоят на месте, постоянно улучшая и дорабатывая этот язык. Поэтому, DAX’ом год от года пользоваться все удобнее и интереснее.

В основе своей, все функции DAX можно разделить на несколько категорий:

  • текстовые
  • логические
  • математические
  • статистические (функции агрегирования)
  • функции даты и времени
  • функции логики операций с датой (time intelligence)
  • фильтры
  • табличные
  • информационные
  • и прочие, которые не попадают под категории выше

Сами функции в обязательном порядке состоят из 2 частей:

  1. ИМЯ (написанное большими буквами)
  2. Параметры, заключенные в круглые скобки ()

Параметров у функции может быть от 1 до нескольких, а в некоторых случаях параметров может и не быть вовсе, просто пустые круглые скобки.

В качестве параметров можно указывать:

  • значение (числа, текст, даты)
  • таблицы
  • столбцы
  • меры
  • другие функции

Если в функции параметров несколько, то в русской версии DAX все параметры друг от друга отделяются точкой с запятой, в английской версии — просто запятой.

Общая схема функции DAX: ИМЯ (Параметр 1; Параметр 2; …; Параметр N)

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

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

 

Полный справочник основных функций (формул) DAX для Power BI и Excel (Powerpivot) на русском языке

Справочник ниже содержит список функции для Power BI и Excel (Powerpivot), состоящий из их названия и краткого описания на русском. Если на нашем блоге появляется отдельная статья с подробным описанием функции, то в справочнике ниже у соответствующей функции будет активная гиперссылка.

  1. Текстовые функции DAX:
    • BLANK — пустое значение
    • CONCATENATE и CONCATENATEX — объединение текста
    • FORMAT — преобразование других типов данных в текстовый тип
    • VALUE — преобразование текста в числовой тип данных
    • FIND и SEARCH — поиск текста в составе другого текста
    • FIXED — возвращает в текстовом формате округленное число
    • LEFT, RIGHT и MID — выводят нужное количество символов
    • LEN — количество символов
    • LOWER и UPPER — управляют регистрами текста
    • REPLACE и SUBSTITUTE — замена текста
    • REPT — повтор текста
    • TRIM — удаление пробелов
    • EXACT — сравнение текстовых строк
  2.  

  3. Логические функции DAX:
    • IF — условие если
    • TRUE и FALSE — возвращают логические значения правда и ложь
    • SWITCH — переключатель
    • IFERROR — если ошибка
    • AND, OR — и, или
    • NOT — замена логических значений друг другом
  4.  

  5. Математические функции DAX:
  6.  

  7. Статистические (функции агрегирования DAX):
  8.  

  9. Функции даты и времени в DAX:
    • TODAY и NOW — сегодняшний день и сейчас (сегодняшний день + текущее время)
    • DATE и DATEVALUE — возвращают даты в формате datetime и в текстовом формате
    • YEAR, MONTH и DAY — возвращают год, месяц и день из значения даты
    • TIME и TIMEVALUE — возвращают время в формате datetime и в текстовом формате
    • HOUR, MINUTE и SECOND — возвращают час, минуты и секунды из значения времени
    • WEEKDAY — номер дня недели
    • WEEKNUM — номер недели в году
    • YEARFRAC — доля указанного периода дат в целом году
  10.  

  11. Функции логики операций с датой в DAX (time intelligence):
  12.  

  13. Функции фильтров в DAX:
    • CALCULATE и CALCULATETABLE — вычисляют выражение (табличное выражение) в контексте фильтров, заданных в параметрах
    • FILTER — возвращает отфильтрованную таблицу по заданным фильтрам
    • ALLALLEXCEPTALLSELECTED и ALLNOBLANKROW — удаление фильтров с таблиц или столбцов
    • VALUES и DISTINCT — создание таблицы с одним столбцом из уникальных значений исходной таблицы
    • ISONORAFTER — возвращает все строки, которые соответствуют условиям, заданным в параметрах
    • LOOKUPVALUE — поиск по строкам и вывод значения из столбца по найденной строке
    • RELATED — вывод связанных значений из другой таблицы по связи «Многие к одному»
    • RELATEDTABLE — возвращает связанную таблицу значений из другой таблицы по связи «Один ко многим»
  14.  

  15. Табличные функции DAX:
    • ADDCOLUMNS — добавляет столбец к существующей таблице
    • DATATABLE — возвращает таблицу с нужными данными (создание таблицы «с нуля»)
    • SUMMARIZE, SUMMARIZECOLUMNS и GROUPBY — создание сводной таблицы с итогами по группам
    • ROW — создание таблицы из одной строки с итогами исходной таблицы
    • TOPN — создание таблицы из первых N строк исходной таблицы
    • EXCEPTINTERSECT и UNION — создание таблицы на основе объединения двух или более исходных таблиц
    • NATURALINNERJOIN и NATURALLEFTOUTERJOIN — создание таблицы на основе объединения двух исходных таблиц по внутренней связи в модели данных
    • GENERATESERIES — создание таблицы последовательного ряда чисел
    • CROSSJOIN, GENERATE и GENERATEALL — создание таблиц из всех пересечений (декартовое произведение) строк других таблиц, входящих в параметры
  16.  

  17. Информационные функции DAX:
    • ISBLANK — проверка на пустое значение
    • ISNUMBER и ISEVEN — проверка на числовое значение
    • ISTEXT и ISNONTEXT — проверка на текстовое и нетекстовое значение
    • ISERROR — проверка на ошибку
    • ISLOGICAL — проверка на логическое значение
    • HASONEVALUE и HASONEFILTER — проверка на одно отфильтрованное значение прямыми или косвенными фильтрами
    • ISCROSSFILTERED и ISFILTERED — проверка столбца на наличие или отсутствие прямых или кросс фильтров
  18.  

  19. Прочие функции DAX:
    • FIRSTNONBLANK и LASTNONBLANK — возвращают первое (последнее) известное значение в рамках непустого результата вычисления выражения
    • EARLIER — возвращает значение столбца на предыдущих уровнях контекста строки
    • VAR и RETURN — создание переменных в DAX
    • RANKX — возвращает ранг числа для каждой строки в столбце чисел
    • ERROR — выводит сообщение с пользовательским текстом ошибки

На этом, в этой статье все, переходите к следующей статье, где мы обсудим правила форматирования кода DAX в Power BI и Power Pivot, которые Вам помогут писать, читать и понимать код легко и быстро.
 

Подробное ВИДЕО «Правила форматирования DAX функций в Power BI и Power Pivot»»

Ссылки из видео:
1) [Регистрируйтесь в бесплатном экспресс курсе] Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot: зарегистрироваться
2) [Скачивайте PDF] Справочник DAX функций для Power BI и Power Pivot на русском языке: скачать
 
 
Антон БудуевС уважением, Будуев Антон.
Проект «BI — это просто»
 
 
 
 

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

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

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

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

 

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

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

 

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


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


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

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

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