Excluding null values when using rank function in beast mode

I used "rank() over (order by asc)" in the beast mode, but I am getting blank rows on the top, followed by the correct rank

. Is there a way to exclude the null values when using the rank function?

Answers

  • Hi @user069636

    Are you doing any sorting on your card? Would filtering out records with NULLs in your card work for you?

    Are you just not wanting a rank if the value is null? If that's the case you could do something like:

    CASE WHEN `field` IS NOT NULL THEN RANK() OVER (ORDER BY `field` ASC) END
    
    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • user069636
    user069636 Member
    edited June 2021

    Hi @GrantSmith,

    With your recommendation, I was able to remove the ranking numbers for the categories that had null values. But they are still on the top of the table. I cant filter out records with null values because the aggregation isn't supported in filters.


  • Have you put your beast mode into the sort section of your card to sort based on the rank? That'll put the ones that are blank at the bottom (you may need to revert back to your old beast mode).

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • @GrantSmith I have tried sorting for both the old one and the new one but they are still showing on the top.

  • ST_Superman
    ST_Superman Domo Employee

    You could add another beastmode to check for null values and filter on that. Something like

    CASE WHEN `PW Sales` is NULL then 'no value' else 'value' end
    

    You could then add this field to your filters and filter for 'value'

  • I cant use that as a filter because 'PW Sales' contains uses aggregated function. 😭

  • @user06963

    There is a beta which allows for filtering on aggregates. You can start a conversation with your CSM to see about getting into the beta.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • @GrantSmith That's good to know. Thank you for your help!