Reply
ngocnguyen
Helper IV
Helper IV
Partially syndicated - Outbound

TopN for multiple column

Hi all

I have the input data as Table 1

 

I wanna create 2 ouput table as Table 2 & Table 3 with below logics:

- Getting Top N Category  by Qty ( A & C)

- For each categories (A,C) --> Getting Top 2 of Route by Qty  ( A: route X & Y, C: route X & H)

- Showing Only model & Qty of  Biggest Category & Route -> Result : Table 2 (Category: A, route x, y)

- Showing Only model & Qty of  2nd Biggest Category & Route -> Result : Table 3 (Category: C, route x, h)

 

Is there any way to create measure to get the above results?

 

 

cap2.PNG

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Syndicated - Outbound

Hi,

Please check the below picture and the attached pbix file.

 

Jihwan_Kim_1-1664443256648.png

 

Jihwan_Kim_2-1664443270623.png

 

New Table 2 = 
VAR _RankCat =
    ADDCOLUMNS (
        DISTINCT ( Data[Cat] ),
        "@rank", RANKX ( DISTINCT ( Data[Cat] ), CALCULATE ( SUM ( Data[Qty] ) ),, DESC )
    )
VAR _toponecat =
    SUMMARIZE ( FILTER ( _RankCat, [@rank] = 1 ), Data[Cat] )
VAR _newtable =
    SUMMARIZE ( FILTER ( Data, Data[Cat] IN _toponecat ), Data[Route], Data[Qty] )
VAR _toptworoute =
    SUMMARIZE ( TOPN ( 2, _newtable, Data[Qty], DESC ), Data[Route] )
RETURN
    SUMMARIZE (
        FILTER ( Data, Data[Cat] IN _toponecat && Data[Route] IN _toptworoute ),
        Data[Model],
        Data[Qty]
    )

 

 

New Table 3 = 
VAR _RankCat =
    ADDCOLUMNS (
        DISTINCT ( Data[Cat] ),
        "@rank", RANKX ( DISTINCT ( Data[Cat] ), CALCULATE ( SUM ( Data[Qty] ) ),, DESC )
    )
VAR _toptwocat =
    SUMMARIZE ( FILTER ( _RankCat, [@rank] = 2 ), Data[Cat] )
VAR _newtable =
    SUMMARIZE ( FILTER ( Data, Data[Cat] IN _toptwocat ), Data[Route], Data[Qty] )
VAR _toptworoute =
    SUMMARIZE ( TOPN ( 2, _newtable, Data[Qty], DESC ), Data[Route] )
RETURN
    SUMMARIZE (
        FILTER ( Data, Data[Cat] IN _toptwocat && Data[Route] IN _toptworoute ),
        Data[Model],
        Data[Qty]
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

View solution in original post

1 REPLY 1
Jihwan_Kim
Super User
Super User

Syndicated - Outbound

Hi,

Please check the below picture and the attached pbix file.

 

Jihwan_Kim_1-1664443256648.png

 

Jihwan_Kim_2-1664443270623.png

 

New Table 2 = 
VAR _RankCat =
    ADDCOLUMNS (
        DISTINCT ( Data[Cat] ),
        "@rank", RANKX ( DISTINCT ( Data[Cat] ), CALCULATE ( SUM ( Data[Qty] ) ),, DESC )
    )
VAR _toponecat =
    SUMMARIZE ( FILTER ( _RankCat, [@rank] = 1 ), Data[Cat] )
VAR _newtable =
    SUMMARIZE ( FILTER ( Data, Data[Cat] IN _toponecat ), Data[Route], Data[Qty] )
VAR _toptworoute =
    SUMMARIZE ( TOPN ( 2, _newtable, Data[Qty], DESC ), Data[Route] )
RETURN
    SUMMARIZE (
        FILTER ( Data, Data[Cat] IN _toponecat && Data[Route] IN _toptworoute ),
        Data[Model],
        Data[Qty]
    )

 

 

New Table 3 = 
VAR _RankCat =
    ADDCOLUMNS (
        DISTINCT ( Data[Cat] ),
        "@rank", RANKX ( DISTINCT ( Data[Cat] ), CALCULATE ( SUM ( Data[Qty] ) ),, DESC )
    )
VAR _toptwocat =
    SUMMARIZE ( FILTER ( _RankCat, [@rank] = 2 ), Data[Cat] )
VAR _newtable =
    SUMMARIZE ( FILTER ( Data, Data[Cat] IN _toptwocat ), Data[Route], Data[Qty] )
VAR _toptworoute =
    SUMMARIZE ( TOPN ( 2, _newtable, Data[Qty], DESC ), Data[Route] )
RETURN
    SUMMARIZE (
        FILTER ( Data, Data[Cat] IN _toptwocat && Data[Route] IN _toptworoute ),
        Data[Model],
        Data[Qty]
    )

 

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Visit my LinkedIn page by clicking here.


Schedule a meeting with me to discuss further by clicking here.

avatar user

Helpful resources

Announcements
March PBI video - carousel

Power BI Monthly Update - March 2025

Check out the March 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)