DAX в Power BI – функции, о которых нужно знать!
Еще одна важная тема, которую мы обсудим – это DAX в Power BI. Это очень важная тема в Power BI, поэтому мы постарались предоставить вам подробную статью о концепциях и использовании DAX-формул при работе над Power BI Desktop для анализа данных.
Итак, давайте перейдем к руководству.
DAX в Power BI
DAX - это выражения для анализа данных, то есть такие выражения или формулы, которые используются для анализа и вычислений данных. Эти выражения представляют собой набор и комбинацию функций, операторов и констант, которые оцениваются как одна формула для получения результатов (значения или значений). Формулы DAX очень полезны в инструментах бизнес-аналитики, таких как Power BI, поскольку они помогают аналитикам данных максимально использовать имеющиеся у них наборы данных.
С помощью языка DAX аналитики могут открывать новые способы вычисления имеющихся у них значений данных и делать свежие выводы.
Взгляните на некоторые ключевые моменты DAX, которые помогут вам лучше понять концепцию.
- DAX – это функциональный язык, т.е. его полный код всегда является функцией. Исполняемое выражение DAX может содержать условные операторы, вложенные функции, ссылки на значения и т. д.
- Формулы DAX имеют два основных типа данных; числовые и нечисловые или другие. Числовой тип данных включает целые числа, десятичные дроби, валюту и т. д. Нечисловой тип данных состоит из строк и двоичных объектов.
- Выражения DAX оцениваются от самой внутренней функции до самой внешней функции. Это делает разработку DAX-формулы важной задачей.
Вы можете использовать значения смешанных типов данных в качестве входных данных в DAX-формуле, и преобразование будет выполняться автоматически во время выполнения формулы. Выходные значения будут преобразованы в тип данных, который вы указали для формулы DAX.
Важности DAX в Power BI
Естественно можно задуматься, почему же так важно изучить DAX для эффективной работы с Power BI. Что ж, как мы видели в наших предыдущих руководствах, создание отчетов с использованием функций импорта, преобразования и визуализации данных в Power BI - это удобный для пользователя вариант. Для этого пользователь должен иметь базовые знания Power BI Desktop, чтобы создать действительно хороший отчет со всеми доступными данными. Но если вы хотите рассчитать показатели и использовать расширенные вычисления в отчетах Power BI, вам понадобится DAX.
Допустим, вы хотите создать визуализацию для анализа процента роста в разных штатах страны или вам нужно сравнить годовой рост/продажи. Полей данных, которые вы импортируете, обычно недостаточно для использования в таких целях.
Для этого вам нужно создать новые меры, используя язык DAX. Таким образом, вы можете создавать новые меры, использовать их для создания эксклюзивных визуализаций и получать уникальное представление о данных. Обладая таким уникальным пониманием данных, вы можете найти подходящие решения для бизнес-проблем, которые вы могли бы пропустить при обычном анализе. Таким образом, DAX выполняет анализ данных с помощью Power BI – разумного и интеллектуального подхода.
Формулы DAX – синтаксис
Первым и самым важным шагом в изучении любого языка является разбиение его на определенные элементы и разбор этих элементов. И поэтому мы изучаем синтаксис языка. Ниже представлен пример формулы DAX. Мы разберемся с этой формулой и элементами ее синтаксиса с помощью этого примера.
Мы объясняем каждый элемент синтаксиса, помеченный на изображении, в следующих пунктах:
- Название нового показателя (Прогнозируемые продажи на 2019 год).
- Знак равенства (=), который является оператором, указывающим начало формулы DAX и приравнивающим друг другу две стороны.
- Функция DAX, используемая для добавления значений заданного поля (Total Sales 2018) из таблицы (Sales). Здесь используется функция SUM.
- Круглые скобки ( ) используются для заключения и определения аргументов в выражении. У каждой функции должен быть хотя бы один аргумент.
- Имя таблицы, из которой берется поле или столбец в формуле (Продажи).
- Имя поля, из которого формула будет использовать значения. Например, функция SUM будет применяться к значениям столбца или поля [Total Sales 2018] таблицы Sales.
- Еще один оператор, используемый для умножения. Хотя элементы синтаксиса от A до F составляют основной синтаксис DAX.
Таким образом, проще говоря, эта формула DAX дает системе команду вычислить произведение суммы значений в Total Sales 2018 и 1,08 (увеличение на 8%) и сохранить значение в новом поле или столбце, известном как Projected Sales 2019.
Хотите знать, как создавать показатели в Power BI Desktop?
Типы вычислений DAX
Итак, очевидно, что формулы DAX также можно назвать вычислениями, поскольку они вычисляют входное значение и возвращают результирующее значение. Вы можете создавать два типа выражений или вычислений с помощью DAX в Power BI; вычисляемые столбцы и вычисляемые меры.
- Вычисляемые столбцы: вычисляемые столбцы создают новый столбец в существующей таблице. Единственная разница между обычным столбцом и вычисляемым состоит в том, что в вычисляемом столбце должна быть хотя бы одна функция. Они используются, когда вы хотите создать столбец с отфильтрованной или отсортированной информацией.
Чтобы создать вычисляемый столбец:
- Перейдите на вкладку «Моделирование» в Power BI Desktop.
- Затем выберите опцию «Новый столбец». Откроется панель формул с надписью: «Столбец =». Вы можете заменить слово «Столбец» на нужное имя столбца.
- После этого введите выражение для вычисляемого столбца справа от знака равенства.
- Вычисляемые меры: вычисляемая мера создает поле, содержащее агрегированные значения, такие как сумма, отношения, проценты, средние значения и т. д.
Чтобы создать вычисляемую меру:
- Перейдите на вкладку «Моделирование» в Power BI Desktop.
- Затем выберите опцию «Новая мера». Откроется панель формул с надписью: «Мера =». Вы можете заменить слово «Мера» желаемым названием меры.
- После этого введите выражение для вычисляемой меры справа от знака равенства.
- После создания меры вы можете изменить имя меры, добавив рядом с ней значок калькулятора под именем таблицы, в которой вы создали меру.
Функции DAX
Функция DAX – это предопределенная формула, которая выполняет вычисления для значений, предоставленных ей в аргументах. Аргументы в функции должны быть в определенном порядке и могут быть ссылкой на столбец, числами, текстом, константами, другой формулой или функцией, или логическим значением, таким как ИСТИНА или ЛОЖЬ. Каждая функция выполняет определенную операцию со значениями, заключенными в аргумент. В формуле DAX можно использовать несколько аргументов.
Ключевые моменты о функциях DAX
Вот некоторые уникальные факты о функциях DAX, которые вы должны знать, чтобы лучше их понимать:
- Любая функция DAX всегда относится к полному столбцу/полю или таблице. Он никогда не будет относиться к отдельным значениям. Если вы хотите использовать функции для отдельных значений в столбце, вам необходимо применить фильтры в формуле DAX.
- Функции DAX обеспечивают гибкость для создания формулы, которая применяется построчно. Расчеты или формулы применяются в соответствии с контекстом значений в каждой строке.
- В некоторых случаях функции DAX возвращают полную таблицу, которую можно использовать в других формулах DAX, которым требуется полный набор значений. Однако вы не можете отобразить содержимое этой таблицы.
- Функции DAX имеют категорию, известную как функции логики времени. Такие функции используются для расчета диапазонов времени/дат и периодов.
Типы функций DAX
1. Функции даты и времени
Функции даты и времени выполняют вычисления значений даты и времени. Тип данных этих значений всегда является типом данных.
- CALENDAR
- CALENDARAUTO
- DATE
- DATEDIFF
- DATEVALUE
- DAY
- EOMONTH
- HOUR
- MINUTE
- MONTH
- NOW
- SECOND
- TIME
- TIMEVALUE
- TODAY
- WEEKDAY
- WEEKNUM
- YEAR
- YEARFRAC
2. Функции логики операций со временем
Функции логики времени используются для оценки значений за фиксированный период, например, дни, недели, месяцы, кварталы, годы и т. д. С помощью этих функций можно указать период времени и сравнить два сценария в своем отчете.
- CLOSINGBALANCEMONTH
- CLOSINGBALANCEQUARTER
- CLOSINGBALANCEYEAR
- DATEADD
- DATESBETWEEN
- DATESINPERIOD
- DATESMTD
- DATESQTD
- DATESYTD
- ENDOFMONTH
- ENDOFQUARTER
- ENDOFYEAR
- FIRSTDATE
- FIRSTNONBLANK
- LASTDATE
- NEXTQUARTER
- LASTNONBLANK
- NEXTDAY
- NEXTMONTH
3. Информационные функции
Информационные функции используются для предоставления определенной информации о значениях данных, содержащихся в строках и столбцах. Они оценивают данное условие в функции для заданного значения и возвращают ИСТИНУ или ЛОЖЬ. Например, функция ISERROR вернет ИСТИНУ, если вычисленное значение содержит ошибку.
- CONTAINS
- CUSTOMDATA
- IN оператор/CONTAINSROW функция
- ISBLANK
- ISERROR
- ISEVEN
- ISINSCOPE
- ISLOGICAL
- ISNONTEXT
- ISNUMBER
- ISODD
- ISONORAFTER
- ISTEXT
- LOOKUPVALUE
- USERNAME
4. Логические функции
Логические функции используются для логической оценки выражения или аргумента и возврата ИСТИНА или ЛОЖЬ, если условие выполняется или нет.
- AND
- FALSE
- IF
- IFERROR
- IN
- NOT
- OR
- SWITCH
- TRUE
5. Математические и тригонометрические функции.
Математические и триггерные функции используются для выполнения всевозможных математических функций с указанными значениями. Ниже приведен список всех доступных математических и триггерных функций DAX в Power BI.
- ABS
- ACOS
- ACOSH
- ASIN
- ASINH
- ATAN
- ATANH
- CEILING
- COMBIN
- COMBINA
- COS
- COSH
- CURRENCY
- DEGREES
- DIVIDE
- EVEN
- EXP
- FACT
- FLOOR
6. Статистические функции
Эти функции выполняют статистические функции и функции агрегирования значений данных в выражении DAX в Power BI. Список доступных статистических функций приведен ниже.
- ADDCOLUMNS
- APPROXIMATEDISTINCTCOUNT
- AVERAGE
- AVERAGEA
- AVERAGEX
- BETA.DIST
- BETA.INV
- CHISQ.INV
- CHISQ.INV.RT
- CONFIDENCE.NORM
- CONFIDENCE.T
- COUNT
- COUNTA
- COUNTAX
- COUNTBLANK
- COUNTROWS
- COUNTX
- CROSSJOIN
- DISTINCTCOUNT
- EXPON.DIST
- GENERATE
- GENERATEALL
- GEOMEAN
- GEOMEANX
- MAX
- MAXA
- MAXX
- MEDIAN
- MEDIANX
- MIN
- MINA
- MINX
7. Текстовые функции
Текстовые функции в Power BI очень похожи на строковые функции в Excel. Эти функции оценивают строковые значения.
- BLANK
- CODE
- COMBINEVALUES
- CONCATENATE
- CONCATENATEX
- EXACT
- FIND
- FIXED
- FORMAT
- LEFT
- LEN
- LOWER
- MID
- REPLACE
- REPT
- RIGHT
- SEARCH
- SUBSTITUTE
- TRIM
- UNICHAR
- UPPER
- VALUE
8. Родительско-дочерние функции
Родительские и дочерние функции используются для значений данных, которые являются частью родительско-дочерней иерархии.
- PATH
- PATHCONTAINS
- PATHITEM
- PATHITEMREVERSE
- PATHLENGTH
9. Прочие функции
Там есть куча функций, не подходящих ни к одной конкретной категории. Это тоже очень полезные функции.
- DATATABLE
- ERROR
- EXCEPT
- GENERATESERIES
- GROUPBY
- INTERSECT
- ISEMPTY
- ISSELECTEDMEASURE
- NATURALINNERJOIN
- NATURALLEFTOUTERJOIN
- SELECTEDSMEASURE
- SELECTEDMEASUREFORMATSTRING
- SELECTEDSMEASURENAME
- SUMMARIZECOLUMNS
- Table Constructor
- TREATAS
- UNION
- VAR
Табличные функции в формулах DAX для Power BI используются для применения операций и условий ко всем таблицам. Выходные данные табличных функций используются в качестве входных данных в других выражениях или аргументах в формуле DAX. Результаты этих функций сохраняют отношения между столбцами данной таблицы.
- FILTER
- ALL
- VALUES
- DISTINCT
- RELATEDTABLE
Давайте посмотрим как создать информационную панель Power BI.
Контекст DAX
Концепция контекста DAX необходима для полного понимания языка DAX и того, как он работает в Power BI. Есть два типа контекстов DAX; Контекст строки и контекст фильтра.
- Контекст строки: контекст строки означает учет определенной строки, которая была отфильтрована в выражении DAX. Контекст строки фокусируется на работе формулы с текущей строкой. Этот тип контекста чаще всего применяется к строкам мер.
- Контекст фильтра: контекст фильтра фокусируется на значениях на шаг впереди. В контексте строки мы отфильтровывали и применяли операции к определенным строкам. Но в контексте фильтра выражение применяет фильтр, чтобы сосредоточиться на определенных значениях в строке. Таким образом, контекст фильтра применяется в дополнение к контексту строки, чтобы сузить область вычислений до определенных значений. Контекст фильтра применяется, когда мы используем такие функции, как CALCULATE, FILTER, RELATED, ALL и т. д.
Создание формулы меры с использованием DAX
Шаг 1. Чтобы создать меру с использованием формулы DAX, откройте приложение Power BI Desktop. В Power BI Desktop вы можете создать новую меру двумя способами. Во-первых, щелкните правой кнопкой мыши имя таблицы, в которую вы хотите добавить поле меры, и выберите «Новую меру».
Или вы можете перейти на вкладку «Моделирование» и нажать «Новая мера».
Шаг 2. В строке формул начните с ввода имени новой меры. В предполагаемом сценарии мы используем имя ProjectedSales2019.
Шаг 3: Затем введите имя функции, которую вы хотите использовать. Начните вводить название функции, и в списке появятся предложения. Также появится небольшой раздел с описанием выбранной вами функции. Обратите внимание на изображение ниже, где мы выбрали функцию SUM.
Шаг 4: Затем поставьте круглые скобки «( )» и напишите имя таблицы или столбца, на которые вы ссылаетесь.
Шаг 5: Вы также можете указать столбец в этой таблице. Функция будет применяться к значениям в выбранном столбце. Закройте круглую скобку.
Шаг 6: Кроме того, вы можете добавить больше операторов, других функций, констант, чтобы увеличить сложность формулы.
Созданная нами формула DAX создаст новую меру с именем «ProjectedSales2019».
ProjectedSales2019 = SUM(Sales[TotalSales2018])* 1.08
Здесь мы умножили сумму продаж за предыдущий (2018 год) на 1,08, поскольку в 2019 году ожидается увеличение продаж на 8%. Это даст нам прогнозируемые продажи на 2019 год.
Шаг 7. Сохраните результат, и ваша вновь созданная мера появится в столбце «Поля» под таблицей «Продажи». Рядом с каждым созданным таким полем меры есть значок калькулятора.
Резюме
На этом мы завершаем наш пост о DAX в Power BI. Мы надеемся, что представленная здесь информация была достаточно полезной, и дала вам базовые знания о формулах DAX. Вы можете создать любую логически обоснованную формулу DAX, используя существующие столбцы и таблицы в Power BI, чтобы создавать более подробные и расширенные отчеты.