Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi Power BI community
I have a filter that can choose between three options called A,B and C
When I write this DAX code
Status = IF(SelectedValue(table[status]) = "A",1,0)
Then I get 1 if A is the selected value, but if A and B are selected or all options are selected then I get 0
I need to get the value 1 as long as A is one of the selected options regardless og what else I have selected.
All help is greatly appreciated.
Solved! Go to Solution.
SELECTEDVALUE by default always returns blank if more than one values are visible (two or emore selected, or none selected which is equivalent to all). To check whether A is in the selected values. try
-- Returns 1 if "A" is present in visible rows of 'table'[status] , otherwise returns 0
IF ( "A" IN VALUES ( 'table'[status] ), 1, 0 )
This will, of course, naturally return 0 if A is not among the selected values.
SELECTEDVALUE by default always returns blank if more than one values are visible (two or emore selected, or none selected which is equivalent to all). To check whether A is in the selected values. try
-- Returns 1 if "A" is present in visible rows of 'table'[status] , otherwise returns 0
IF ( "A" IN VALUES ( 'table'[status] ), 1, 0 )
This will, of course, naturally return 0 if A is not among the selected values.
Thanks @danextian it works as a charm and solved my problem write a way.
with a very short and elegant line of DAX.
Hey, @ThomasWeppler
selectedvalue always return blank if there's multuple values selected, however, you can modify the behavior with optional parameter:
IF(SELECTEDVALUE(table[status], "A") = "A",1,0)
@vojtechsima thanks for the answer, but if I just use
IF(SELECTEDVALUE(table[status], "A") = "A",1,0)
and the selected selectedvalues are "B" and "C" than I will still get a false positive.
@ThomasWeppler all right, get it now,
then use CONCATENATEX
IF(
CONTAINSSTRING( CONCATENATEX(VALUES(_table[status]), _table[status],""), "A"),
1,
0
)
but @danextian 's solution is better, cleaner and efficient.
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.
Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.
| User | Count |
|---|---|
| 47 | |
| 44 | |
| 40 | |
| 20 | |
| 15 |
| User | Count |
|---|---|
| 70 | |
| 68 | |
| 32 | |
| 27 | |
| 25 |