Forum Discussion

theaddies's avatar
theaddies
Frequent Visitor
2 years ago

Use slicer value in conditional

I want to be able to populate the Category column depending on the values selected by the slicer.

 

Slicer 1

1, 2 or 3

Slicer 2

4, 5 or 6

 

ValueCategory
1

A

2A
3A
4B
5B
6C
7C
  

 

 

 

 

Category = 
var category_value_A = selectedvalue([Slicer 1])
var category_value_B = selectedvalue(Slicer 2])
return
switch(TRUE, [Value] <= category_value_A, "A",
       [Value] <= category_value_B, "B",
        "C")

 

 

I have tried the code above and it only works for the first condition and then exits the switch.

 

3 Replies

  • Try the below.

     

    Category = 
    var category_value_A = selectedvalue([Slicer 1])
    var category_value_B = selectedvalue(Slicer 2])
    return
    switch(TRUE, [Value] <= category_value_A, "A",
           [Value] >= category_value_B, "B",
            "C")
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  theaddies ,

     

    May I ask if your [Slicer1] and [Slicer2] are the following two columns?

    Here are the steps you can follow:

    1. Create measure.

     

    Measure =
    var category_value_A = MAXX(ALLSELECTED(Slicer_Table),[Slicer1])
    var category_value_B = MAXX(ALLSELECTED(Slicer_Table),[Slicer2])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Value])<=category_value_A,"A",
        MAX('Table'[Value])>category_value_A&&MAX('Table'[Value])<=category_value_B,"B",
        "C")

     

    2. Result:

     

    Best Regards,

    Liu Yang

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

    Use slicer value in conditional.pbix29 KB
    • theaddies's avatar
      theaddies
      Frequent Visitor

      Each slicer is a generated series.  The Maxx function does not work as it selects the final value in the series.