0% found this document useful (0 votes)
23 views20 pages

You Must Know in Power BI

The document outlines essential DAX functions in Power BI, categorizing them into six core types: Column Aggregation Functions, Iterator Functions, Table Summarization Functions, Enhancer Functions, Exclusion/Inclusion Functions, and Context Modifier Functions. Each category addresses specific problems in data analysis, emphasizing the importance of understanding a few key functions rather than all available DAX functions. The document also highlights common limitations and solutions related to these functions, providing a comprehensive overview for users looking to enhance their Power BI skills.

Uploaded by

hojemor138
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views20 pages

You Must Know in Power BI

The document outlines essential DAX functions in Power BI, categorizing them into six core types: Column Aggregation Functions, Iterator Functions, Table Summarization Functions, Enhancer Functions, Exclusion/Inclusion Functions, and Context Modifier Functions. Each category addresses specific problems in data analysis, emphasizing the importance of understanding a few key functions rather than all available DAX functions. The document also highlights common limitations and solutions related to these functions, providing a comprehensive overview for users looking to enhance their Power BI skills.

Uploaded by

hojemor138
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

You must know in Power BI

DAX
At first, I believed I needed
to learn all DAX functions.
But I was wrong —
you only need a handful of
core function categories
that you’ll use again and
again.
Instead of listing every
function, I’ve grouped them by
the kind of problems they help
you solve.

Let’s go through them


one by one...

Chandeep Chhabra | Goodly


1. Column Aggregation Functions

These functions work directly on a single column.


Sales

You just pass one column—they return totals, counts,


or distinct values.
Limitation: Can’t perform row-level calculations like
Quantity * Price.
Chandeep Chhabra | Goodly
But Why Won’t This Work in a
Measure?

Trying to write:

...in a measure? It will not work.

❓Why?
Because measures don’t work row by row like Excel
formulas do.

That’s where iterator functions come in.

Chandeep Chhabra | Goodly


2. Iterator Functions

Any DAX function ending in X is an iterator


(like SUMX, AVERAGEX, MINX).

They go row by row through a table and perform


calculations. E.g. -

This gives you total sales, because


it multiplies Quantity * Price for
each row, then sums the result.

This is how you solve row-level problems inside a


measure.

Chandeep Chhabra | Goodly


3. Table Summarisation Functions
I have this sales data with Date, Order ID, Country and
Sales Amount.
Sales

From this, I created a


matrix showing Total Sales
by Year and Quarter.

Now, I want to answer: what was the maximum total


sales by any country in each quarter?

Chandeep Chhabra | Goodly


To do that, I need to change the granularity from
individual sales rows to grouped country-level
summaries. That’s where table summarisation
functions help.
They let you group data by fields like Country, Quarter,
or Region, and perform calculations like SUM, MAX, or
AVERAGE on those groups.

This gives you


the maximum
total sales by
any country

Limitation: Totals might not match if you use semi-


additive calculations.
Chandeep Chhabra | Goodly
Totals will not Match – But Why?
When you build a summarised table and use semi-
additive functions like MAX, MIN, or RANKX, they
behave correctly per row but the total row often gives
an incorrect result.
In the previous example, the Max Country Sale works fine
per quarter, but the total row follows a different logic.

This total isn’t what you’d expect


Should be 23,83,104 if summed.

Chandeep Chhabra | Goodly


That’s because MAXX gives the max across the whole
table, even in the total row. But here, you expect the
sum of maxes per country instead.

To fix these, you need enhancer functions.

Chandeep Chhabra | Goodly


4. Enhancer Functions
To fix the total issue, we need to enhance the
summarised table before summing. That’s exactly what
functions like ADDCOLUMNS and SUMX help us do.

Here ADDCOLUMNS adds logic to each row of the


summary table, and SUMX lets you aggregate those
values correctly.

Chandeep Chhabra | Goodly


Total row is fixed using
enchancer function.

This isn’t just for totals, you can use these functions to
extend and control your summary logic.
5. Exclusion / Inclusion Functions

Let’s say you want to find the total no. of products that
were sold but not returned. How would you do that?

You would compare: Products in the Sales Table with


the products in the Returns Table

And find the ones that exist in Sales but not in Returns.

Functions like these help you just do that:


EXCEPT() Values in Table 1 but not in Table 2
INTERSECT() Values common in both
For example:

Sales_Table Returns_Table

Chandeep Chhabra | Goodly


This gives you the no. of products
that were sold but not returned.

These functions are very useful when you need to


compare two tables (even with multiple columns) for
similarities or discrepancies.

Chandeep Chhabra | Goodly


6. Context Modifier Functions

You have both Order Date and Ship Date in your model.
By default, visuals use Order Date to filter sales.

But what if you want to see sales by Ship Date instead?

That’s where context modifier functions help - they let


you change how filters are applied in a calculation.

SalesTable

Some orders placed in Jan were shipped in Feb.

Chandeep Chhabra | Goodly


An inactive (dotted) relationship is created between
Calendar[Date] to SalesTable[Ship Date]. The
USERELATIONSHIP function temporarily activates this
relationship.

This tells DAX: "Use Ship


Date instead of the default
Order Date relationship."

These are Context Modifiers, they alter your visual


filters and give you more control over calculations.

Chandeep Chhabra | Goodly


The 6 Categories of DAX Functions
You Must Know!

1. Column Aggregators – SUM, COUNT, DISTINCTCOUNT

2. Iterator Functions – SUMX, AVERAGEX, RANKX

3. Table Summarisation – SUMMARIZE, VALUES

4. Enhancer Functions - ADDCOLUMNS,


SUMMARIZECOLUMNS

5. Exclusion / Inclusion – EXCEPT, INTERSECT

6. Context Modifiers – USERELATIONSHIP, ALL,


ALLEXCEPT

Chandeep Chhabra | Goodly


I’ve covered a lot more in this video.
You’ve got to watch it.

20:22

The Most Important DAX Functions You Must Know


in Power BI
Goodly

Chandeep Chhabra | Goodly


1132+ People joined the
DAX and Data Modeling Course

Naresh Kumar

Hey Chandeep, This is Naresh from India. I just


wanted to say—the way you teach DAX is absolutely
flawless! I was genuinely amazed by your video on
context transition on YouTube. It was so clear and
insightful that it led me to explore your full DAX
course. Looking forward to learning more from you!

Manoj Kumar Gongalla

Hi Chandeep, Myself Manoj from Hyderabad. I


recently came across your YouTube videos and was
immediately drawn to your engaging teaching style.
Your clear explanations inspired me to learn more
and explore this course.
Join My DAX & Data Modeling Course

A step-by-step guide to learn DAX and Data


Modelling to solve real-world business problems
in Power BI.

Learn More

You might also like