Я работаю над Power BI некоторое время и часто путаюсь, когда просматриваю справочные разделы. Они часто относятся к функциям и формулам, используемым как функции DAX или Power Query, но я не могу определить разницу между ними. Пожалуйста, направь меня.
В чем разница между DAX и Power Query (или M)?
Ответы (4)
M и DAX - два совершенно разных языка.
M используется в Power Query (он же Get & Transform в Excel 2016) и инструменте запросов для Power BI Desktop. Его функции и синтаксис сильно отличаются от функций листа Excel. M - это язык запросов mashup, используемый для запроса множества источников данных. Он содержит команды для преобразования данных и может возвращать результаты запроса и преобразований либо в таблицу Excel, либо в модель данных Excel или Power BI.
Дополнительную информацию о M можно найти здесь, используя свой любимый поиск двигатель.
DAX расшифровывается как Data Analysis eXpressions. DAX - это язык формул, используемый в Power Pivot и Power BI Desktop. DAX использует функции для работы с данными, хранящимися в таблицах. Некоторые функции DAX идентичны функциям листа Excel, но DAX имеет гораздо больше функций для суммирования, нарезки и нарезки сложных сценариев данных.
Если вы знаете, как использовать поисковую систему, есть множество руководств и учебных ресурсов по DAX. Или начните здесь.
По сути: сначала вы используете Power Query (M) для запроса источников данных, очистки и загрузки данных. Затем вы используете DAX для анализа данных в Power Pivot. Наконец, вы создаете сводные таблицы (Excel) или визуализации данных с помощью Power BI.
- M - это первый шаг процесса ввода данных в модель.
(В PowerBI), когда вы щелкаете правой кнопкой мыши набор данных и выбираете Edit Query
, вы работаете в M (также называемом Power Query). В строке заголовка окна редактирования есть подсказка с надписью Power Query Editor
. (но вы должны знать, что M и PowerQuery по сути одно и то же). Кроме того (очевидно?), Когда вы нажимаете кнопку получения данных, это генерирует для вас M-код.
- DAX используется на панели отчетов рабочего стола PowerBI и в основном используется для агрегирования данных, добавления показателей и т. д.
Между этими двумя языками много общего (например, вы можете добавлять столбцы и объединять таблицы в обоих) - Некоторое обсуждение того, когда выбирать, какой из них здесь и здесь
Подумайте о Power Query / M как о языке ETL, который будет использоваться для форматирования и хранения ваших физических таблиц в Power BI и / или Excel. Затем подумайте о DAX как о языке, который вы будете использовать после запроса данных из источника, который затем вы будете использовать для расчета итогов, выполнения анализа и других функций.
- M (Power Query): Преобразования во время запроса для формирования данных при их извлечении
- DAX: Преобразования в памяти для анализа данных после их извлечения
Еще одна вещь, о которой стоит упомянуть при оптимизации производительности, заключается в том, что вы должны «обрезать» свой набор данных (удалить строки / удалить столбцы) как можно дальше «вверх по течению» - последовательности обработки данных - насколько это возможно; это означает, что такие операции лучше выполнять в Power Query, чем в DAX; дополнительные советы от MS здесь: https://docs.microsoft.com/en-us/power-bi/power-bi-reports-performance