Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

How to filter data based on slicer using dax

Hello All,

 

I need help on below logic.

I have report where I am having data like below.

My requirement is in the report side I created a table having 3 values USA , UK and IND and then showing in slicer to select.

 

Now If I select slicer value as USA I need to show [USA/UK/IND] filed value as USA

If I select slicer value as UK I need to show [USA/UK/IND] filed value as UK

If I select slicer value as IND I need to show [USA/UK/IND] filed value as IND.

 

 

 

 

I created a measure like this and kept in filters of visuals to select 1 .

But its not working

 

1st Approach : ( Create a measure)

 

Picker filter =
var selected_value = SELECTEDVALUE(Country[Country])
var INDif(max('GSD Stats'[USA/UK/IND])="IND",1,0)
var USAif(max('GSD Stats'[USA/UK/IND])="USA",1,0)
var UKif(max('GSD Stats'[USA/UK/IND])="UK",1,0)

return IF(
    selected_value = "USA",
    USA,
    IF(
       selected_value ="UK",
        UK,
    IF(
       selected_value ="IND",
        IND
)))

 

2nd approach: ( Create a column)

 

I created a column like this and kept in filters.

But its not working

 

Picker filter = SWITCH(
    TRUE(),
    [SelectedValue] = "IND", 'GSD Stats'[USA/UK/IND]="IND",
     [SelectedValue] = "USA", 'GSD Stats'[USA/UK/IND]="USA",
     [SelectedValue]  = "UK",'GSD Stats'[USA/UK/IND]="UK"
    )
 

 

  • Hi, Anonymous 

     

    You can try the following methods.
    New Table:

    Slicer = VALUES('Table'[USA/UK/IND])

    Measure:

    Measure = 
    IF ( SELECTEDVALUE ( Slicer[USA/UK/IND] ) = BLANK (),
        1,
        IF ( SELECTEDVALUE ( Slicer[USA/UK/IND] ) = SELECTEDVALUE ( 'Table'[USA/UK/IND] ),
            1,
            0
        )
    )

    Is this the result you expect?

     

    Best Regards,

    Community Support Team _Charlotte

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • v-zhangti's avatar
    v-zhangti
    Community Support

    Hi, Anonymous 

     

    You can try the following methods.
    New Table:

    Slicer = VALUES('Table'[USA/UK/IND])

    Measure:

    Measure = 
    IF ( SELECTEDVALUE ( Slicer[USA/UK/IND] ) = BLANK (),
        1,
        IF ( SELECTEDVALUE ( Slicer[USA/UK/IND] ) = SELECTEDVALUE ( 'Table'[USA/UK/IND] ),
            1,
            0
        )
    )

    Is this the result you expect?

     

    Best Regards,

    Community Support Team _Charlotte

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • Anonymous , Try a measure like

     

    Measure =
    var _sum = SWITCH(selectedvalue('GSD Stats'[USA/UK/IND])
    TRUE(),
    [SelectedValue] = "IND", Sum('GSD Stats'[IND Tickets]),
    [SelectedValue] = "USA", Sum('GSD Stats'[USA Tickets]),
    [SelectedValue] = "UK", Sum('GSD Stats'[UK Tickets])
    )
    return
    calculate( _sum, 'GSD Stats'[USA/UK/IND] in {"IND", "USA", "UK"})