Microsoft Power BI – это мощный инструмент, который позволяет пользователям фильтровать, управлять и визуализировать данные. Он поддерживает два разных языка: язык M и DAX (Data Analysis Expression), которые используются для разных целей. В этой статье мы рассмотрим различия между языком M и DAX в Power BI.
Что такое язык M?
Язык M – это язык формул запросов, используемый в редакторе запросов Power BI. Он применяется в основном для подготовки данных перед их загрузкой в модель Power BI. Язык M позволяет пользователям управлять и фильтровать данные в редакторе запросов с помощью команд, аналогичных командам SQL или LINQ (Language Integrated Query) в C#. Это мощный инструмент для предварительной обработки и манипулирования данными.
Например, с помощью языка M можно удалить столбцы из таблицы, назначить типы данных столбцам или установить заголовки столбцов. Синтаксис запросов на языке M похож на команды SQL или LINQ, что упрощает работу пользователям, знакомым с этими языками.
Что такое DAX?
DAX (Data Analysis Expression) – это язык аналитических вычислений, используемый для глубокого анализа данных в фазе просмотра данных Power BI. В отличие от языка M, запросы на языке DAX выполняются в представлении данных и используются для анализа данных после их загрузки в модель Power BI.
Запросы на языке DAX более похожи на формулы MS Excel и позволяют пользователям выполнять сложные вычисления и создавать новые столбцы на основе существующих данных. Это мощный инструмент для анализа и визуализации данных.
Различия между языком M и DAX
Хотя языки M и DAX имеют схожие функциональные возможности, они работают независимо друг от друга и следуют разным структурам и логике. Вот некоторые ключевые различия между языком M и DAX:
- Язык M используется в редакторе запросов для предварительной обработки и манипулирования данными, в то время как DAX используется в представлении данных для анализа данных.
- Запросы на языке M похожи на команды SQL или LINQ, в то время как запросы на языке DAX более похожи на формулы MS Excel.
- Язык M используется для удаления столбцов, назначения типов данных и выполнения преобразований данных, в то время как DAX используется для выполнения сложных вычислений и создания новых столбцов на основе существующих данных.
Пример: использование языка M и DAX в Power BI
Рассмотрим пример, чтобы понять, как используются язык M и DAX в Power BI. Предположим, у нас есть набор данных, содержащий информацию о потере клиентов телекоммуникационной компании. Мы можем использовать язык M в редакторе запросов для удаления ненужных столбцов и выполнения преобразований данных. После загрузки данных в представление данных мы можем использовать DAX для выполнения вычислений и создания новых столбцов на основе существующих данных.
Вот пример использования языка M и DAX:
// Запрос на языке M для удаления столбца "Partner"
= Table.RemoveColumns(#"Changed Type",{"Partner"})
// Запрос на языке DAX для создания нового столбца "Monthly-Total"
Monthly-Total = [TotalCharges] + [MonthlyCharges]В этом примере запрос на языке M удаляет столбец “Partner” из набора данных, а запрос на языке DAX создает новый столбец “Monthly-Total”, складывая значения в столбцах “TotalCharges” и “MonthlyCharges”.
Заключение
Язык M и DAX – это два мощных языка, поддерживаемых Power BI для манипулирования и анализа данных. В то время как язык M используется для предварительной обработки данных в редакторе запросов, DAX используется для глубокого анализа данных в представлении данных. Понимание различий между языком M и DAX является важным для эффективного использования Power BI для фильтрации, управления и визуализации данных.