В чем разница между DAX и Power Query (или M)?

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


person Community    schedule 22.09.2016    source источник
comment
Простите @teylyn. Некоторое время я был вдали от stackoverflow. Спасибо за Ваш ответ.   -  person    schedule 02.06.2020
comment
Это также будет полезно Основные различия между DAX и языком M   -  person Mohamed    schedule 19.05.2021


Ответы (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.

person teylyn    schedule 22.09.2016

  • M - это первый шаг процесса ввода данных в модель.

(В PowerBI), когда вы щелкаете правой кнопкой мыши набор данных и выбираете Edit Query, вы работаете в M (также называемом Power Query). В строке заголовка окна редактирования есть подсказка с надписью Power Query Editor. (но вы должны знать, что M и PowerQuery по сути одно и то же). Кроме того (очевидно?), Когда вы нажимаете кнопку получения данных, это генерирует для вас M-код.

  • DAX используется на панели отчетов рабочего стола PowerBI и в основном используется для агрегирования данных, добавления показателей и т. д.

Между этими двумя языками много общего (например, вы можете добавлять столбцы и объединять таблицы в обоих) - Некоторое обсуждение того, когда выбирать, какой из них здесь и здесь

person Trubs    schedule 09.05.2018
comment
Не знаю, можно ли назвать M и Power Query одним и тем же. На мой взгляд, Power Query - это то же самое, что формулы / сводные таблицы / Vlookups Excel для VBA. Вы можете использовать Power Query без всякого написания M-кода, но вы также можете написать только M-код, чтобы добиться всего, что вы хотите в Power Query. - person TylerH; 23.01.2019
comment
@TylerH Ваше сравнение не совсем правильное. Когда вы используете Power Query, вы генерируете M-код. Каждый раз. Нет Power Query без M. Сам по себе PQ Editor - не что иное, как средство записи M-кода, и вам не нужно на самом деле вводить M-код, чтобы его сгенерировать. В Excel вы можете многое делать без VBA. - person teylyn; 14.10.2019
comment
@teylyn Когда я сказал, что вы можете использовать Power Query, даже не написав M, я имел в виду буквально то, что вам не нужно вручную писать M. - person TylerH; 14.10.2019
comment
@TylerH Вы сказали, что PQ для M то же самое, что формулы / сводки Excel для VBA. Это не правильно. Вы можете создавать формулы / сводные таблицы Excel без написания или создания VBA. У вас не может быть PQ без M. - person teylyn; 14.10.2019

Подумайте о Power Query / M как о языке ETL, который будет использоваться для форматирования и хранения ваших физических таблиц в Power BI и / или Excel. Затем подумайте о DAX как о языке, который вы будете использовать после запроса данных из источника, который затем вы будете использовать для расчета итогов, выполнения анализа и других функций.

  • M (Power Query): Преобразования во время запроса для формирования данных при их извлечении
  • DAX: Преобразования в памяти для анализа данных после их извлечения
person aaronsteers    schedule 18.06.2018

Еще одна вещь, о которой стоит упомянуть при оптимизации производительности, заключается в том, что вы должны «обрезать» свой набор данных (удалить строки / удалить столбцы) как можно дальше «вверх по течению» - последовательности обработки данных - насколько это возможно; это означает, что такие операции лучше выполнять в Power Query, чем в DAX; дополнительные советы от MS здесь: https://docs.microsoft.com/en-us/power-bi/power-bi-reports-performance

person JohnD    schedule 18.02.2020
comment
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - Из отзыва - person sɐunıɔןɐqɐp; 06.08.2020