Forum Discussion

Marvhall's avatar
Marvhall
Helper I
2 years ago
Solved

Suppressing the second minimum value in a column

Greetings,

 

I am working with data that requires all values under 50 be suppressed AND if there is only one value under 50 in a column that the next lowest is also suppressed. (see examples). Rankx is unimportant unless I need it to complete the suppression.

 

I am working with one table, we will call it 'Reports'. 

I've tried using SWITCH statements, variables, etc. I can get close but not both at the same time. I am using a standard table to display information. 

 

Thank you for any assistance!

What I have

Group Total Count Rankx
A          10                5
B          107              3
C          103              4
D         342               2
E         3,984             1


What I need

Group Total Count Rankx
A          **                  5
B         107                3
C          **                 4
D         342               2
E         3,984             1

  • Rank = RANKX(allselected('Table'),calculate(sum('Table'[Total Count])),,ASC)
    
    Show = if([Rank]>2 || [Rank]=2 && minx(ALLSELECTED('Table'),[Total Count])>=50,1,0)
  • Thank you! That works great!

     

    If the total count is a range, would it be this?

     

    Show = if([Rank] > 2 || [Rank] = 2 && minx(ALLSELECTED('Table'), [Total Count]) > 1) && minx(ALLSELECTED('Table'), [Total Count]) <= 10, 1, 0) 

     

    Thank you again

7 Replies

  • RANKX is important, but you need to use it the other way round. Sort ascending by value.  Suppress Rank 1, and if Value 1 is less than 50 then suppress Rank 2 as well.

    • Marvhall's avatar
      Marvhall
      Helper I

      That's the part I'm having issues with too.

       

      IF([_Total Count] <= 50, "**", [_Total Count] )  only suppresses values 50 and under
       
      IF([_Total Count] <= 50 && [_Rankx] = 2, "**", [_Total Count]) doesn't work
       
      I also tried
       
      var _min = IF([_Total Count] <= 50, 1, 2) 
      var _secMin = if([_rankx] = 2, 1, 2)
       
      return
       
      SWITCH(
      TRUE(),
      _min = 1 && _secmin = 1, "**",
      [_Total Count]
      )
      doesn't work either.
      • lbendlin's avatar
        lbendlin
        Super User

        Rank = RANKX(allselected('Table'),calculate(sum('Table'[Total Count])),,ASC)
        
        Show = if([Rank]>2 || [Rank]=2 && minx(ALLSELECTED('Table'),[Total Count])>=50,1,0)