Identify percentile within a grouping

Hello all,

I have a dataset with 3 columns: Parent Company, Child Company, and Total Sales. I was asked to identify the bottom 10% by rank of the child companies for each parent company and calculate the average total sales at that percentile.

This discussion gives some insight on how to start. I used Rank and Window to get the rank of child companies for each parent, but where I am stuck is how to identify the bottom 10th percentile (or any percentile). Would I need to do this with a Beast Mode at the card level?

Best Answer

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    Once you have the rankings you'll need to do another window function to get the maximum rank for each partition / parent company. Then you can divide the rank by the max rank to get the rank percentage / percentile.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**

Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    Once you have the rankings you'll need to do another window function to get the maximum rank for each partition / parent company. Then you can divide the rank by the max rank to get the rank percentage / percentile.

    **Was this post helpful? Click Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Thanks, this solves my problem (though I used a Group By rather than a second Window function to get the max rank). I think my issue was more my own innumeracy with percentile calculations rather than the ETL process itself. Thanks for talking me though it