Forum Discussion
Using measure as advanced filter
- Anonymous2 years ago
Hi Drake1002
Try this measure which can choose up to 3 values:
Measure 2 = VAR _slicer = CONCATENATEX( 'Table B', 'Table B'[Column b] ) RETURN IF( COUNT('Table B'[Column b]) = 1 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer, IF( COUNT('Table B'[Column b]) = 2 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 2, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer, IF( COUNT('Table B'[Column b]) = 3 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 2, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 3, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer ) ) )The result is as follow:
Best Regards
Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Table A
Column a
A,B,X
A,V,B
B,C,G
B,H,R
M,A,C
Z,C,B
Table B
Column b
A
B
C
X
V
G
H
R
M
Z
If i select A in the slicer then output visual be
A,B,X
A,B,V
M,A,C
Hi Drake1002
Please try this:
First of all, I add a measure:
MEASURE =
VAR _Slicer =
SELECTEDVALUE ( 'Table B'[Column b] )
RETURN
IF (
FIND ( _Slicer, SELECTEDVALUE ( 'Table A'[Column a] ),, BLANK () ) <> BLANK (),
_Slicer
)
Then create a table visual like this:
The result is as follow:
Best Regards
Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Drake10022 years agoFrequent Visitor
Thanks Zhengdong Xu. What if i want to select A and B both and it should display values having either A or B?
- Anonymous2 years agoNot applicable
Hi Drake1002
Try this measure which can choose up to 3 values:
Measure 2 = VAR _slicer = CONCATENATEX( 'Table B', 'Table B'[Column b] ) RETURN IF( COUNT('Table B'[Column b]) = 1 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer, IF( COUNT('Table B'[Column b]) = 2 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 2, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer, IF( COUNT('Table B'[Column b]) = 3 && FIND( MID( _slicer, 1, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 2, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK() && FIND( MID( _slicer, 3, 1 ), SELECTEDVALUE('Table A'[Column a]), , BLANK() ) <> BLANK(), _slicer ) ) )The result is as follow:
Best Regards
Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.