Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello,
I have the below measure which was working fine with 1:M relationship, but due to some requirement we need to convert the relationship to M:M.
now the measure stop working because its using SUMMARIZE function, and SUMMARIZECOLUMS is not working because I need to use it in tabular report.
How to convert this meausure so it can work with M:M relationship giving the same result in optimize way.
Test = SUMX(
FILTER(
ADDCOLUMNS(
SUMMARIZE(Fact,user[full_name],city[name]),
"@M1",[M1]
),
[@M1]>=1
)
,[@M1]
)
Thanks,
Solved! Go to Solution.
Please try
Test =
SUMX (
CROSSJOIN (
CROSSJOIN ( VALUES ( user[full_name] ), VALUES ( city[name] ) ),
VALUES ( country[country code] )
),
VAR M1 = [M1] RETURN IF ( M1 >= 1, M1 )
)
but this will make it even slower
Hi @joepath
Please try
Test =
SUMX (
FILTER (
ADDCOLUMNS (
CROSSJOIN ( VALUES ( user[full_name] ), VALUES ( city[name] ) ),
"@M1", [M1]
),
[@M1] >= 1
),
[@M1]
)
Thanks @tamerj1 for looking into this, seems working but performance is very slow can we do somthing about it?
And I have 3 col so should do like Crossjoin(values(Full_Name),values(city[name]), Country[code]) ?
Please try
Test =
SUMX (
CROSSJOIN ( VALUES ( user[full_name] ), VALUES ( city[name] ) ),
VAR M1 = [M1] RETURN IF ( M1 >= 1, M1 )
)
this will save the FILTER iteration but the price is paid by the IF condition. However, most probably it will be faster.
Tried this one, still taking lot of time to execute.
Its a multiplication of two measure from the Fact table.
its simple sum.
Hmm 🤔
can you please share a screenshot of your data model with relationships and advise which columns that are being summed.
And third column will be added like this, Crossjoin(values(Full_Name),values(city[name]), Country[code])?
Please try
Test =
SUMX (
CROSSJOIN (
CROSSJOIN ( VALUES ( user[full_name] ), VALUES ( city[name] ) ),
VALUES ( country[country code] )
),
VAR M1 = [M1] RETURN IF ( M1 >= 1, M1 )
)
but this will make it even slower
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
23 | |
8 | |
7 | |
6 | |
6 |
User | Count |
---|---|
28 | |
12 | |
10 | |
10 | |
6 |