MIP Logo

Exploring Different Approaches with the 25 days of DAX Challenge

dataschool blog by prerana amatya

This post was originally published on The Data School blog between 2018 and July 2025, before our program was renamed to MIP’s Analytics Career Accelerator. References throughout this article to “The Data School” or “DS” all refer to what is now MIP’s Analytics Career Accelerator. The program, its people, and its commitment to launching outstanding analytics careers remain the same – just under a new name.

If you are having trouble viewing this article, please report it here

Last week, we were assigned to tackle the 25 Days of DAX Challenge. This challenge has been an incredible opportunity for me to get my hands dirty with DAX. I realized there were multiple ways to approach one problem with DAX. Let me walk you through my journey. I will be taking example of challenge Day 20, and the challenge question was: “Which vendor has the highest stock value?” It seemed straightforward, but as I dove into it, you realize the constraints and flexibility of DAX.

My Initial Solution:

First, as always I calculate my base calculations which in this case is the stock value for each product. I used the SUMX function to do this. Here’s what it looked like:

StockValue = SUMX(Products, [Unit Price]*[UnitsInStock])

With the stock value calculated, I then had to find the supplier with the highest stock value. I used the TOPN function for this:

TopSupplierID =
CALCULATE(
TOPN(1, VALUES(‘Products'[SupplierID]), [StockValue]),
ALL(‘Suppliers’)
)

Finally, I fetched the company name associated with the top supplier ID from the Suppliers table using the SELECTEDVALUE and FILTER functions:

CompanyName =
CALCULATE(
SELECTEDVALUE(Suppliers[CompanyName]),
FILTER(‘Suppliers’, [TopSupplierID]== Suppliers[SupplierID])
)

My Final Solution:

As I continued to explore, I realized there were other ways to solve this problem. One approach involved using variables to make the calculation process clearer and shorter than my first solution:

TopSupplierName =

VAR TopSupplierID =
TOPN(1,
VALUES(‘Products'[SupplierID]),
[StockValue]
)

RETURN
CALCULATE(
VALUES(‘Suppliers'[CompanyName]),
‘Suppliers'[SupplierID] = TopSupplierID
)

So, as you can see, first of all I created the variable named TopSupplierID and used TOPN there to find the supplier ID with highest stock value. Now, I needed actual supplier name instead of supplier ID so, using CALCULATE function in return, we will get the vendors name. Comparing it to my first solution, it was way shorter and faster to get to the same result so, I’m sticking with using and exploring variables more.

Alternative Approaches:

The next method I discovered was using the SUMMARIZE function, which was new to me. So, this function will summarize the data based on grouping the columns you feed in. The actual solution which you’ll find for this challenge utilizes SUMMARIZE function along with TOPN function to find the vendor with highest stock. So, have a look here if you’re interested.

That’s all for this blog. Happy DAX-ing, everyone!

#dax #powerbi #dataanalysis

Share this post