Canva The latest version of Power BI comes with two programming languages: DAX and M language. Both are used to transform incoming data by performing calculations on the base data or by making connections to other data sources and querying them. This article will tell you everything you need to know about DAX and M, how they work together, and how they can make your data more valuable.

What Is M in Power BI?

M is a new programming language for PowerBI, and it provides the flexibility of SQL with the readability of Excel. It’s designed to be simple to learn, read and use. M is a multi-paradigm programming language:

Declarative: Allows you to specify what needs to be done instead of how it needs to be done. It allows you to express your intentions more effectively through code (and communicate more effectively with other developers). Functional: The syntax is consistent throughout all functions (no matter where they are run), which makes it easier for you to understand them later on when they’re refactored or moved around your model. It also makes it easier and simple for you to test your code. Object-Oriented: Provides a class system that allows you to encapsulate state and behavior in objects, which can be reused throughout your model.

What Is DAX in Power BI?

DAX is a formula language used to express calculations in Power BI. It’s based on Microsoft Excel formulas, but unlike the latter, it can only be used within Power BI and cannot be exported to other applications. The syntax of DAX allows you to create measures and calculated columns and fields based on the available data source.

Measures and Calculated Columns

The syntax uses brackets (), which enclose formulas that return values. Therefore, if you want to use logic or nested constructs such as IF statements, THEN/ELSE IF/ELSE constructs, DO loops, or WHILE loops constructions in your formula, then you need to add parenthesis around them so they can be correctly parsed by Power BI when it evaluates your expressions. DAX is also used to create measures and calculated columns in Power BI.

DAX and M Comparison

DAX is a formula language. M Language is a query language. DAX is more powerful than M Language. For example, DAX can create KPIs and measures, while M cannot do that yet (though it might come in the future). Screenshot by Author There are some differences between these two languages. Still, they both serve very similar purposes: They allow you to query your data from within the Power BI service using simple syntaxes and then visualize those results using charts and graphs. The main distinction between them is how flexible they are when creating calculated fields or calculated measures for use in reports; DAX allows for much more complexity than M at this time (though this will likely change over time). The M language was first introduced with Power Pivot for Excel in 2010 and has since been brought into the Power BI service. The M language is very similar to DAX, but it does have some differences that make it more restrictive in terms of what you can do with it. For example, while both languages allow you to perform calculations on measures and create calculated columns, measures in DAX can be much more complex than those made using M.

M and Dax Bring Simplicity and Elegance

M and DAX are bringing simplicity and elegance to the world of Power BI.They both have similar syntaxes, making it easy for you to learn one language and apply it across the board. M has been around longer than DAX, but DAX is growing in popularity due to its ease of use and powerful functionalities. DAX is a more popular language than M and is easier to learn because it doesn’t require the user to know all the technical variables. However, M is still used by some companies due to its ability to perform complex calculations, but DAX can do most of these calculations with just one line of code.


While DAX is the first-class citizen for Power BI, M is a close second. M brings simplicity and elegance to the world of Power BI, focused on making it easier for data scientists and also for business users alike to build models and get insights into their own hands. At the same time, DAX has been used by many businesses across industries because it offers more flexibility than M does (or any other language you might want to write in). So if you’re looking at building models in Power BI today, either one will work well, depending on your needs. I hope this article post has aided you in understanding the differences between DAX and M and how they can be used to help you build robust data models in Power BI. If you want to learn and know more about DAX or M, then please check out some of these resources:

DAX Basics in Power BIDAX Basics in Power BI, In this chapter, you will learn how to use various DAX functions in Power BI.Power Query M formula language reference - PowerQuery M | Microsoft LearnPower Query M is used to filter, combine, and mash-up data from one or more supported data sources.Data Analysis Expressions (DAX) Reference - DAX | Microsoft LearnData Analysis Expressions (DAX) is a library of functions and operators that can be combined to build calculation formula expressions.

This content is accurate and true to the best of the author’s knowledge and is not meant to substitute for formal and individualized advice from a qualified professional. © 2022 Hassan

Comparing M Language and DAX in Power BI - 96Comparing M Language and DAX in Power BI - 63Comparing M Language and DAX in Power BI - 60Comparing M Language and DAX in Power BI - 34Comparing M Language and DAX in Power BI - 58Comparing M Language and DAX in Power BI - 38Comparing M Language and DAX in Power BI - 12