Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi, I was wondering, what is the most elegant solution, to write a measure, that contains multiple OR conditions over several related tables.
I have the following to work with:
measure SALES (calculates sales from the 'INV1 - AR invoice' table)
Columns that will be used in conditions:
Now I need to calculate Sales, which uses ALL salesperson, but only for
and includes either of these possibilities:
(
'OCRD - Customer'[Market] = "Clean Energy"
OR
Follow this pattern to solve OR logic among different slicers,
= CALCULATE(
SUM( tb[sales] ),
FILTER(
CROSSJOIN( ALL( slc1[col] ), ALL( slc2[col] ), ALL( slc3[col], slc3[_col] ) ),
slc1[col] IN { } || slc2[col] IN { } || slc3[col] IN { } || slc3[_col] IN { }
)
)
I assume you've got enough DAX knowledge to fit the pattern in your real-life scenario.
Expertise = List.Accumulate( {Days as from Today}, {Skills and Knowledge}, (Current, Everyday) => Current & Day.LearnAndPractise(Everyday) ) |
@zenisekd - try this:
Sale II. PL2 =
CALCULATE(
[Sales],
ALL('OSLP - Salesperson'),
'OSLP - Salesperson'[OUSR.Country] = "PL" ,
(
'OCRD - Customer'[Market] = "Clean Energy"
||
'OCRD - Customer'[Industry ID] IN { "H2", "HINFR", "HPROD", "HRFS", "HVEH" }
||
'INV1 - AR invoice'[Project] IN { "X", "Y", "Z" }
)
)
If this helps, please mark as the solution to help others with the same challenge.
Nope.
@zenisekd - My bad, always forget about that rule. We're going to need to create a cartesian product of all possible values, so hopefully this will work, or atleast set you on your way:
CALCULATE (
[Sales],
FILTER (
CROSSJOIN (
ALL ( 'OSLP - Salesperson'[OUSR.Country] ),
ALL ( 'OCRD - Customer'[Market] ),
ALL ( 'OCRD - Customer'[Industry ID] ),
ALL ( 'INV1 - AR invoice'[Project] )
),
'OSLP - Salesperson'[OUSR.Country] = "PL"
&& ( 'OCRD - Customer'[Market] = "Clean Energy"
|| 'OCRD - Customer'[Industry ID]
IN { "H2", "HINFR", "HPROD", "HRFS", "HVEH" }
|| 'INV1 - AR invoice'[Project] IN { "X", "Y", "Z" } )
)
)
If this helps point you towards the answer, please accept as the solution for others with the same challenge.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 19 | |
| 13 | |
| 8 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 29 | |
| 19 | |
| 17 | |
| 11 | |
| 10 |