Top 5 and Bottom 5 Product within each categories

Hi folks,

I want to calculate Top 5 and Bottom 5 products within each category.
For Top 5 Products within each category I have used this formula:

Top 5 Products within each category =
VAR RankingContext = VALUES(‘Dim Products’[Products])
return
CALCULATE([Sum of sales],TOPN(5,ALL(‘Dim Products’[Products]),[Sum of sales]),RankingContext)

I am using Category and Product(Drill down) in rows section of Matrix and the Measure " Top 5 Products within each category" in the values section.
Its working well for Top 5 but I need help in calculating the bottom 5 products within each category.

Thanks in advance.

Hi there!

Did you know you can also filter on Top 5/Bottom 5 in the filter pane:

image

Kind regards,
Rens

Yes I know this but what I want is Bottom 5 Products within each category.It is not possible with this.

Hi ,
can share the PBIX file?

can do a ranking with a group of data, but need to use Power Query

lb

Hi @ajinkyakadam0009,

See if this will helps you solve it.

Link to knowledge base on TOPN.
You can set the order to be applied. 0/FALSE/DESC – descending; 1/TRUE/ASC – ascending.
https://info.enterprisedna.co/dax-function-guide/topn/
.
Related content on dealing with categories

If this doesn’t help resolve the issue then like @LucaB72 already suggested provide a mock up PBIX file so members can better assist you.

@ajinkyakadam0009,

Give this a go:

Top 5 by Category =

VAR SalesThisProduct = [Total Sales]
VAR RankingTopDown =
    CALCULATE (
        COUNTROWS (
            FILTER (
                ALLSELECTED ( Products[Product Name] ),
                [Total Sales] >= SalesThisProduct
            )
        ),
        ALLEXCEPT ( Products, Products[Product Category] )
    )
VAR Top5 =
    IF ( RankingTopDown <= 5, RankingTopDown, BLANK () )
RETURN
    Top5

Bottom 5 is a little more complicated:

Bottom 5 by Category =

VAR SalesThisProduct = [Total Sales]
VAR AllRows =
    CALCULATE ( COUNTROWS ( Products ), ALL ( Products ) )
VAR RankingBottomUp =
    CALCULATE (
        COUNTROWS (
            FILTER (
                ALLSELECTED ( Products[Product Name] ),
                [Total Sales] <= SalesThisProduct
            )
        ),
        ALLEXCEPT ( Products, Products[Product Category] )
    )
VAR MinRankByCategory =
    CALCULATE (
        MINX ( Products, [Rank by Category] ),
        ALLEXCEPT ( Products, Products[Product Category] )
    )
VAR AdjRank = RankingBottomUp - MinRankByCategory + 1
VAR Bottom5 =
    IF ( AdjRank <= 5, AdjRank, BLANK () )
RETURN
    Bottom5

Here it is all put together:

I hope this is helpful. Full solution file attached.

1 Like

Hi @ajinkyakadam0009, we aim to consistently improve the topics being posted on the forum to help you in getting a strong solution faster. While waiting for a response, here are some tips so you can get the most out of the forum and other Enterprise DNA resources.

  • Use the forum search to discover if your query has been asked before by another member.
  • When posting a topic with formula make sure that it is correctly formatted to preformatted text </>.
    image
  • Use the proper category that best describes your topic
  • Provide as much context to a question as possible.
  • Include the masked demo pbix file, images of the entire scenario you are dealing with, screenshot of the data model, details of how you want to visualize a result, and any other supporting links and details.

I also suggest that you check the forum guideline How To Use The Enterprise DNA Support Forum. Not adhering to it may sometimes cause delay in getting an answer.

Please also check the How To Mask Sensitive Data thread for some tips on how to mask your pbix file.

Hi @ajinkyakadam0009, did the response provided by the experts help you solve your query? If not, how far did you get and what kind of help you need further? If yes, kindly mark the thread as solved. Thanks!

Hi @ajinkyakadam0009, we’ve noticed that no response has been received from you since the 16th of December. We just want to check if you still need further help with this post? In case there won’t be any activity on it in the next few days, we’ll be tagging this post as Solved. If you have a follow question or concern related to this topic, please remove the Solution tag first by clicking the three dots beside Reply and then untick the checkbox. Thanks!

Hi @ajinkyakadam0009 , a response on this post has been tagged as “Solution”. If you have a follow question or concern related to this topic, please remove the Solution tag first by clicking the three dots beside Reply and then untick the check box. Also, we’ve recently launched the Enterprise DNA Forum User Experience Survey, please feel free to answer it and give your insights on how we can further improve the Support forum. Thanks!