Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by watching the DP-600 session on-demand now through April 28th.
Learn moreJoin the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now
Hi,
Can someone explain to me what this formula does -
Solved! Go to Solution.
Hi @Rdarshana ,
I created a sample pbix file(see the attachment), you can find the details in it. And for below formula, it will return the count of ID in the table 'Fact 1' which ID also in the dimenison table 'Dim 2'. However, it will also include the IDs in 'Fact 1' table which not exist in the table 'Dim 2' as blank values. All these blank values count as 1. Please check the below screenshot:
ID Count = COUNTROWS(DISTINCT(SELECTCOLUMNS('Fact 1', "ID Column", RELATED('Dim 2 '[ID Column]))))
So you can update the forumula as below to get the correct count of ids.
ID Count_new =
COUNTROWS (
FILTER (
DISTINCT (
SELECTCOLUMNS ( 'Fact 1', "ID Column", RELATED ( 'Dim 2'[Dim ID] ) )
),
[ID Column] <> BLANK ()
)
)
Best Regards
Hi @Rdarshana ,
I created a sample pbix file(see the attachment), you can find the details in it. And for below formula, it will return the count of ID in the table 'Fact 1' which ID also in the dimenison table 'Dim 2'. However, it will also include the IDs in 'Fact 1' table which not exist in the table 'Dim 2' as blank values. All these blank values count as 1. Please check the below screenshot:
ID Count = COUNTROWS(DISTINCT(SELECTCOLUMNS('Fact 1', "ID Column", RELATED('Dim 2 '[ID Column]))))
So you can update the forumula as below to get the correct count of ids.
ID Count_new =
COUNTROWS (
FILTER (
DISTINCT (
SELECTCOLUMNS ( 'Fact 1', "ID Column", RELATED ( 'Dim 2'[Dim ID] ) )
),
[ID Column] <> BLANK ()
)
)
Best Regards
This was indeed very helpful.
Thanks Matt.
The Dim ID in this screenshot above is not the primary key, but another attribute (ID).
I will need to test the other calcs to see if that works.
if it's not the primary key, just insert the VALUES function inside the countrows function
COUNTROWS(VALUES(table[column]))
That's what it looks like to me, but it also looks overly complex. Assuming Dim ID in dim 2 is the primary key, this should work.
ID Count = calculate(countrows('Dim 2 '),'Fact 1')
Or this next version is a bit easier to understand
Calculate(countrows('Dim 2'),crossfilter(fact1[key],DIM2[key],BOTH))
They both do the same thing; force the fact table to filter the Dim table based on the existence of matching data in the fact table.
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 41 | |
| 37 | |
| 34 | |
| 21 | |
| 16 |
| User | Count |
|---|---|
| 65 | |
| 62 | |
| 31 | |
| 26 | |
| 25 |