Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Replace value based on slicer

Hi All!

 

I have two slicers in my report "Haulier" and "Show hide name". What i need is the following:

 

If "Show hide name" is set to Hide and a a Haulier is chosen then the report should show all the halier names as "Haulier" except the name for the haulier selected.

 

If "Show hide name" is set to Show all the haulier names should be shown.

 

Any idea how can i do that? 

 

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Anonymous ,

     

    Here's my solution.

    1.Add an index column into your table visual. If there is no index column, it is likely to affect the rendering of the data. For example, the same percentage may only appear once.

    You can directly add an index column in Power Query, or add an index column by group. Reference: Create Row Number for Each Group in Power BI using Power Query - RADACAD

     

    2.There's no relationship among tables.

     

    3.Create a measure to return the different results.

    Measure =
    SWITCH (
        SELECTEDVALUE ( 'Slicer2'[Show/Hide Name] ),
        "Hide",
            IF (
                SELECTEDVALUE ( Slicer[Hauliers] ) = MAX ( 'Table'[Hauliers] ),
                MAX ( 'Table'[Hauliers] ),
                "Haulier"
            ),
        "Show", MAX ( 'Table'[Hauliers] )
    )
    

     

    Here is the output:

    When 'Hide' and 'C' are selected,

    When 'Show' and 'C' are selected,

     

    Best Regards,

    Stephen Tao

     

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

     

3 Replies

  • Anonymous , The haulier needs to be an independent slicer

     

    haulier = distinct(Table[haulier]) // New table

     

    meausre =

    var _tab = allselected(haulier[haulier])

    return

    Switch( selectedvalues('ShowHide'[ShowHide])  ,

    "Show", calculate([YesPercent Meaure], filter(Table, Table[haulier] in _tab) ) ,

    calculate([YesPercent Meaure], filter(Table, not Table[haulier] in _tab) )

    )

     

    Need of an Independent Table in Power BI: https://youtu.be/lOEW-YUrAbE

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Here's my solution.

    1.Add an index column into your table visual. If there is no index column, it is likely to affect the rendering of the data. For example, the same percentage may only appear once.

    You can directly add an index column in Power Query, or add an index column by group. Reference: Create Row Number for Each Group in Power BI using Power Query - RADACAD

     

    2.There's no relationship among tables.

     

    3.Create a measure to return the different results.

    Measure =
    SWITCH (
        SELECTEDVALUE ( 'Slicer2'[Show/Hide Name] ),
        "Hide",
            IF (
                SELECTEDVALUE ( Slicer[Hauliers] ) = MAX ( 'Table'[Hauliers] ),
                MAX ( 'Table'[Hauliers] ),
                "Haulier"
            ),
        "Show", MAX ( 'Table'[Hauliers] )
    )
    

     

    Here is the output:

    When 'Hide' and 'C' are selected,

    When 'Show' and 'C' are selected,

     

    Best Regards,

    Stephen Tao

     

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

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Anonymous Thank you a lot. It worked for me.