Forum Discussion

Dgreen23's avatar
Dgreen23
Helper III
6 years ago
Solved

Selection

I have a dashboard where the end-user can select one of several options to filter a table. I also have a label that shows what the current selection is. I need a way to make the label say ALL when no selection has been made. What is the best way of doing this?

3 Replies

  • Hi Dgreen23.,

     

    You can create a measure as follows:

     

    new Check = var total = CALCULATE(COUNT(ColorSample[color]), ALL(ColorSample[color])) RETURN IF(HASONEVALUE(ColorSample[color]), SELECTEDVALUE(ColorSample[color]), IF(COUNT(ColorSample[color]) > 1 && COUNT(ColorSample[color]) < total, CONCATENATEX(VALUES(ColorSample[color]), CONCATENATE(ColorSample[color], ","), UNICHAR(10)) , "All Selected")
     

    NOTE:  Replace "ColorSample[color]" in above DAX with your column to be used in slicer.

     

    If this helps and resolves the issue, appreciate a Kudos and mark it as a Solution! 🙂

     

    Thanks,

    Pragati

     

  • edhans's avatar
    edhans
    Community Champion

    if you only needed to know if one was selected HasOneValue() would work, but if a user might have 2 selected, then there wouldn't be a away to distinguish between that and all selected (or none selected, which is the same as all)

    This should work though.

    Measure = 
    VAR TotalCount =
        CALCULATE(
            DISTINCTCOUNT(Database[Column1]),
            REMOVEFILTERS(Database[Column1])
            )
    VAR SelectedCount = 
        CALCULATE(
            DISTINCTCOUNT(Database[Column1]),
            ALLSELECTED(Database[Column1])
        )
    RETURN
    IF(
        SelectedCount = TotalCount,
        "ALL",
        "Whatever you want to return otherwise"
    )

     

    It simply counts how many are in the list, then how many are selected. If they are the same, it returns "ALL" in the text.