You load up Power BI Desktop, connect data to an excel file, and then drag your first visualization onto the canvas. The exuberant joy of creating something valuable with this strong tool at your disposal lights up your eyes. You now have the option of calculating something for your next chart. You bristle with excitement as you add the first few formulas, which are very similar to excel formulas. Your oyster is the entire globe.
Then you become aware of it. Wait! The figures are incorrect. Perhaps an alternative calculation would be better? Let me look it up on the internet. You find someone with the same problem online and click on their solution link. Suddenly, you find yourself falling down a rabbit hole that reminds you of Alice in Wonderland. The solution you find is difficult to comprehend. The pleasure has vanished. The giddiness is no longer present. Your brain hurts, and the prospect of creating the in-depth graph you had envisioned appears bleak.
Welcome to DAX
Data Analysis Expressions, or DAX, are expressions or formulas that are used to analyze and calculate data. These expressions are a set of functions, operators, and constants that are evaluated as a single formula to produce results (value or values). DAX formula is highly valuable in BI solutions like Power BI because they allow data analysts to get the most out of their data sets.
Analysts can use the DAX language to come up with new ways to calculate data values and come up with new insights.
Take a look at some essential DAX points that can help you better understand the concept:
DAX is a functional language i.e. its complete code is always a function. An executable DAX expression may contain conditional statements, nested functions, value references, etc.
DAX formulas have two primary data types; Numeric and Non-numeric or Others. The numeric data type includes integers, decimals, currency, etc. Whereas, the non-numeric consists of strings and binary objects.
DAX expressions are evaluated from the innermost function going to the outermost one at the last. This makes formulating a DAX formula important.
In a DAX calculation, you can use values of mixed data types as inputs, and the conversion will happen automatically during execution. The DAX formula's output values will be translated to the data type you specified.
While some DAX formulas are similar to the Excel formulas we are familiar with, some are different. Its primary job is to work with relational data and do dynamic aggregation. It's designed to be simple to understand and utilize. However, this is not the case.
If you're familiar with SQL (Structured Query Language), you're aware that some queries can be difficult to understand. However, you have a general understanding of the data model and what the language is doing. So it's only a matter of resolving a concrete issue. How can I get the underlying data to appear in a specified way with the given set of commands? It's simple, even if it can be complicated at times.
When it comes to mental engagement, SQL and relational databases are quite concrete. There's very little guesswork involved when it comes to the data or the procedures that the data goes through as a result of the SQL commands we utilise. DAX, on the other hand, is not like that.
Many of these principles are hidden behind a curtain in DAX. As a result, DAX is quite abstract in terms of both the underlying data structure and the query environment and exactly what it's doing behind the scenes. In the same way that SQL is 90% concrete and 10% abstract, DAX is 5% concrete and 95% abstract.
"Its abstract nature makes learning DAX much more challenging."
If you're a programmer, you've undoubtedly had comparable situations to these:
Do you recall when you initially switched from functional to object-oriented programming? It was a little disorienting. You were certain that your development career was ended.
Maybe when you first started working with Angular and had to link data to frontend elements. Life seemed to be coming to an end.
What about the first time you came across Hadoop? Hadoop was clearly created by a lunatic.
DAX, on the other hand, is even more difficult than the previous instances. It's practically hard to peel back the curtain and see what's going on backstage in a tangible way. It's like doing a jigsaw puzzle without the completed picture to guide you. The good news is that it's also like Dorothy and the Wizard. When you look behind the curtain, you'll see that it's just a small old man. He's harmless, yet he's a force to be reckoned with in his own right.
Importance of DAX in Power BI
It's natural to wonder why DAX is so crucial to master in order to operate productively with Power BI. Well, as we've seen in prior tutorials, creating reports in Power BI using the data importing, manipulating, and visualizing features is a breeze. To build a quality report with all of the accessible data, a user must have a basic understanding of the Power BI Desktop. However, if you want to take your Power BI reports to the next level, you'll require DAX.
Let's imagine you want to create a visual to compare year-over-year growth/sales or to examine growth percentages across different states in a country. In most cases, the data fields you import into a data table are insufficient for such purposes.
You'll need to use the DAX language to create new measures for this. You can construct new measures, use them to generate innovative visualizations, and gain new insights into data this way. You can have suitable solutions for business challenges with such unique insights into data that you can miss with the traditional method of analysis. As a result, DAX makes Power BI data processing a logical and intelligent technique.
Watch our Conquering DAX 2019 Webinar which was conducted by Gerald Hoong, the CEO & Master Trainer for GemRain Consulting.
If you are interested to know about the training, you may check it out with this link and it has the course outline:
It's time to come to some conclusions about why the DAX is straightforward but not easy. It all comes down to how you approach the learning process, in my opinion. DAX is simple, which means that the language's basics are not complicated. They're straightforward, and there aren't many of them. However, you must continue to teach yourself until you truly master and comprehend them. If you succeed, DAX will be a breeze. If you don't, or if you rush to achieve your goal, learning DAX becomes very difficult.
If I had to give any beginner to DAX just one piece of advice, it would be to practise the fundamentals. Any seasoned coach would give the same guidance to an eager young player.
Practice... Practice and Practice
Don't give up if things are still a little hazy: go back to the basics and study them again. Good outcomes are on the way.