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 all,
My data looks like this
Dim table Customer
| Name | Has partner |
| Customer A | N |
| Custumer B | J |
| Customer C | J |
| Customer D | J |
Fact table 1
| Name | Amount Outstanding |
| Customer A | 500 |
| Customer B | 500 |
| Customer C | 100 |
| Customer D | 1500 |
Fact table 2
| Name | Amount due |
| Customer A | 200 |
| Customer B | 500 |
| Customer C | 200 |
| Customer D | 400 |
I have made serveral Measures to use in an end measure which returns a teks value or a BLANK():
MHas partner = MAX('Dim Customer'[Has partner])
| Measure | Count over all customers |
| Customer is valid | 2 |
| Other measure | 4 |
| Other measure 2 | 1 |
| Name | Tekst |
| Customer B | Customer is Valid |
| Customer D | Customer is Valid |
Solved! Go to Solution.
Hi @Anonymous ,
Please try below steps:
1. I add a new table
Table3:
2. create some measures with below dax formula
Customer is Valid =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn <> "N"
&& cur_due > 200
&& cur_out > 200,
"Customer is valid",
BLANK ()
)
Other =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn = "N"
&& cur_due < 500
&& cur_out > 200,
"Customer is not valid",
BLANK ()
)
Count over all customers =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
VAR tmp1 =
FILTER ( ALL ( Customer ), [Customer is Valid] = "Customer is valid" )
VAR tmp2 =
FILTER ( ALL ( Customer ), [Other] = "Customer is not valid" )
RETURN
SWITCH (
cur_measure,
"Customer is Valid", COUNTROWS ( tmp1 ),
"Other", COUNTROWS ( tmp2 )
)
Customer is Valid =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn <> "N"
&& cur_due > 200
&& cur_out > 200,
"Customer is valid",
BLANK ()
)
Tekst =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
RETURN
SWITCH (
cur_measure,
"Customer is Valid", "Customer is valid",
"Other", "Customer is not valid"
)
Condition =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR tmp =
CALCULATETABLE (
VALUES ( Customer[Name] ),
FILTER ( ALL ( Customer ), [Customer is Valid] = cur_measure )
)
VAR tmp2 =
CALCULATETABLE (
VALUES ( Customer[Name] ),
FILTER ( ALL ( Customer ), [Other] = "Customer is not valid" )
)
RETURN
SWITCH (
cur_measure,
"Customer is Valid", IF ( cur_name IN tmp, 1 ),
"Other", IF ( cur_name IN tmp2, 1 )
)
3. i achieve your demand by drill through
Please refer the attached .pbix file.
Best regards,
Community Support Team_ Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
Please try below steps:
1. I add a new table
Table3:
2. create some measures with below dax formula
Customer is Valid =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn <> "N"
&& cur_due > 200
&& cur_out > 200,
"Customer is valid",
BLANK ()
)
Other =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn = "N"
&& cur_due < 500
&& cur_out > 200,
"Customer is not valid",
BLANK ()
)
Count over all customers =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
VAR tmp1 =
FILTER ( ALL ( Customer ), [Customer is Valid] = "Customer is valid" )
VAR tmp2 =
FILTER ( ALL ( Customer ), [Other] = "Customer is not valid" )
RETURN
SWITCH (
cur_measure,
"Customer is Valid", COUNTROWS ( tmp1 ),
"Other", COUNTROWS ( tmp2 )
)
Customer is Valid =
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR cur_ptn =
SELECTEDVALUE ( Customer[Has partner] )
VAR cur_out =
SELECTEDVALUE ( Table1[Amount Outstanding] )
VAR cur_due =
SELECTEDVALUE ( Table2[Amount due] )
RETURN
IF (
cur_ptn <> "N"
&& cur_due > 200
&& cur_out > 200,
"Customer is valid",
BLANK ()
)
Tekst =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
RETURN
SWITCH (
cur_measure,
"Customer is Valid", "Customer is valid",
"Other", "Customer is not valid"
)
Condition =
VAR cur_measure =
SELECTEDVALUE ( Table3[Measure] )
VAR cur_name =
SELECTEDVALUE ( Customer[Name] )
VAR tmp =
CALCULATETABLE (
VALUES ( Customer[Name] ),
FILTER ( ALL ( Customer ), [Customer is Valid] = cur_measure )
)
VAR tmp2 =
CALCULATETABLE (
VALUES ( Customer[Name] ),
FILTER ( ALL ( Customer ), [Other] = "Customer is not valid" )
)
RETURN
SWITCH (
cur_measure,
"Customer is Valid", IF ( cur_name IN tmp, 1 ),
"Other", IF ( cur_name IN tmp2, 1 )
)
3. i achieve your demand by drill through
Please refer the attached .pbix file.
Best regards,
Community Support Team_ Binbin Yu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!