Forum Discussion

orenji88_HON's avatar
orenji88_HON
Frequent Visitor
4 years ago
Solved

Get Slicer Between Min and Max value based on Filter

Hi,

I have a Between Slicer that contains a Minimum Value and Maximum Value from a table, let's say [Revenue].

I managed to get the minimum and maximum value without any filter, but when I tried to filter by Country for example, the Min and Max value stays the same like before the filter was applied.

 

For Example :

Without Any filter
Min : -704.52

Max : 38,858.0

 

With Country A Filter, should be looked like

Min : 3,000

Max : 10,000

But somehow it stays like no any filter applied. Min stays in -704.52, and Max stays in 38,858.

 

I tried using ALLSELECTED but it seems not working.

Please help. Thanks.

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi orenji88_HON ,

     

    It works fine on my side. You don't need to create any calculation tables or measures.

     

    If you insist on using calculation tables and metrics, you can also succeed. I set it up as follows. I put the Slicer Filter into the filter of the slicer view.

     

     

     

    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.

     

     

6 Replies

    • orenji88_HON's avatar
      orenji88_HON
      Frequent Visitor

      I did enable the Interaction between my Country Filter and the Between Slicer. But, it won't changed at all.

  • Hi orenji88_HON

     

    Add  a measure

     

    Has revenue = 
    INT(
        NOT(
            ISEMPTY(Revenue)
       )
    )

     

    Then on your date slicer add the filter

    Has revenue = 1

     

     

    How this works:-

    You can't use true/false indicator in a filter but you can use an integer.

    So the measure checks which dates records are on the Revenue table for the sliced country.
    It then converts the true/false answer to an integer.


    Remember we are BI community voluntrees so please click the thumbs-up for me taking the trouble to help you and then accept the solution if it works.  Thank you !

     

     

    • orenji88_HON's avatar
      orenji88_HON
      Frequent Visitor

      It doesn't work somehow for me.

       

      Perhaps, I might give a bit more detail below.

      I created a calculated table for Min and Max based on my Revenue.

       

      P = 
      VAR Virtual = 
       SUMMARIZE( Summary, [Country], Summary[Sales Document], Summary[Revenue] ) 
      
      VAR MinValue = MINX(Virtual, Summary[Revenue]) 
      VAR MaxValue = MAXX(Virtual, Summary[Revenue]) 
      
      RETURN 
      GENERATESERIES(MinValue, MaxValue, 1)

       

       

      Then I create a Measure in Summary Table. This is an indicator like yours, using 1 and 0.

       

      Slicer Filter = 
      VAR Virtual = 
       SUMMARIZE( Summary, [Country], Summary[Sales Document], Summary[Revenue] ) 
      
      VAR MinValue = MINX(Virtual, Summary[Revenue]) 
      VAR MaxValue = MAXX(Virtual, Summary[Revenue]) 
      VAR CurrentSlicerValue = SELECTEDVALUE(P[Value])
      
      RETURN 
      IF(
          CurrentSlicerValue >= MinValue && CurrentSlicerValue <= MaxValue,
          1,
          0
      )

       

      I set this measure as filter to the Between Slicer, and set it to 1.

       

      The Between Slicer runs well without any filter.

       

      But, if I apply a Country Filter, The Min and Max value won't changed to that specific country I chose.

       

       

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi orenji88_HON ,

     

    It works fine on my side. You don't need to create any calculation tables or measures.

     

    If you insist on using calculation tables and metrics, you can also succeed. I set it up as follows. I put the Slicer Filter into the filter of the slicer view.

     

     

     

    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.