In earlier blogs, we have seen how to analyse data in Power BI with the help of data modeling and visualization techniques. Let us go further in depth of data modeling and how we can tweak the data with the help of different ways which are available in Power BI.
When we hear about Power BI, we hear different jargons like Power Query, DAX , Formula language, M etc. Let us see one by one what these jargons mean and how helpful and important these are while analyzing the data in Power BI.
- Power Query: is the data extraction and transformation engine. The engine comes with a formula language and a graphical tool. Power Query can connect to various data sources. The graphical interface of Power Query is less powerful than the actual scripting language used behind which is formula language
- M: is the scripting language behind the Power Query which is actually Power Query Formula language. However since this name is quite lengthy, even Microsoft prefers to call it as M. It is used for data transformation and to be used before you load the data for analysis.
- DAX: is the Data Analysis eXpression language. It is made for analytical data calculations. Once the data is loaded, DAX can be used to analyse the data in depth. Someone who is knows Excel formulas, would find this familiar.
Both M and DAX serve different purposes such as M is used only in query editor and DAX is used in data modelling. Yes! The same data modelling techniques which we have seen in my earlier posts.
Let us see one example how we can add custom column using both the languages.
Referring to our previous data source of IPL, if we want to add column displaying the runs by which match was won. Let us add this column first using the query editor. As explained in above definition, this would be done before the data is loaded in the Power BI. In Power BI desktop, let us click on Edit query button as shown in below snippet.
Then click on the Add Column Section
There we can see custom column button, which actually asks for the definition of the custom column. Kindly refer to below snippet.
We can give desired name to the column and then write the definition of the column. Here we are adding a column to show by how many runs the match was won, we have to check if win_type is runs, show the win_margin. Referring to below snippet, we can give a name to the column and write the formula. As we type the formula and press ok , it would show if there are any errors.
I found the scripting of M similar to old VB code. This way we have created a new column before the data gets loaded in Power BI.
Once the column is created, lets apply the changes and close the query editor.
Below would be definition of the new column created
If we look at the advance query editor, our data query would look like as shown in below snippet.
As M is step by step language, we can see the “added column” step in the right hand section of the query settings.
Now let us see how to create similar column using DAX. Let us go to Modeling tab and click on New column as shown in below snippet.
Let us add the definition of the new column and new column will be created. This is very similar to Excel formulas
Now we have same calculated columns created using M -Power Query and DAX
In this blog , we have seen how we can use Power Query- formula language and DAX to achieve the same results . We can always remember that Power query is the ETL langauge and is step by step language, where as DAX is your analysis language. Now the million dollar question is when to use what?
You can refer below blog to understand the difference between these two. Hats of to the writer, really liked the way it is explained.
Hope you enjoyed learning these jargons!
Thank you for reading my blog, if you have any questions please mention in the comments and hit the like / share button if you like my article.
Keep Learning !! Happy analyzing and be Powerful 🙂