Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

Dynamic Grouping based on Rank

Hi Everyone,

 

I want to create group on top of States based up on count of coustomers.

where the rank of customers greater than 5 then it has to group together as 'Others' , rest diaply as it is.

The grouping should be dynamic based on Customers count.

 

Please find example below:

I have data like below Screen shot 1

Screen Shot1.PNG

 

And I have to create a group as below screen shot2 

Screen Shot2.PNG

Need your help,  Thanks,

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Anonymous,

 

You can try to use below calculated column formula to achieve your requirement.

 

Logic:

1. Calculate current rank.

2, Add if statement to replace column name to other when rank greater than 5.

 

 

Categroy =
VAR summary =
    SUMMARIZE ( 'Table', [Type], "Count", COUNT ( [Index] ) )
VAR _rank =
    MAXX (
        FILTER (
            ADDCOLUMNS (
                summary,
                "Rank", RANKX ( summary, [Count], MAX ( [Count] ), DESC, DENSE )
            ),
            [Type] = EARLIER ( 'Table'[Type] )
        ),
        [Rank]
    )
RETURN
    IF ( _rank <= 5, [Type], "Other" )

11.PNG

 

 

Regards,
Xiaoxin Sheng

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

Hi @Anonymous,

 

You can try to use below calculated column formula to achieve your requirement.

 

Logic:

1. Calculate current rank.

2, Add if statement to replace column name to other when rank greater than 5.

 

 

Categroy =
VAR summary =
    SUMMARIZE ( 'Table', [Type], "Count", COUNT ( [Index] ) )
VAR _rank =
    MAXX (
        FILTER (
            ADDCOLUMNS (
                summary,
                "Rank", RANKX ( summary, [Count], MAX ( [Count] ), DESC, DENSE )
            ),
            [Type] = EARLIER ( 'Table'[Type] )
        ),
        [Rank]
    )
RETURN
    IF ( _rank <= 5, [Type], "Other" )

11.PNG

 

 

Regards,
Xiaoxin Sheng

Hi Xiaoxin,

 

I have a similar problem and your solution looks pretty neat.

 

Would you help me adapt your script to group [Type] by the share %?

 

In this example, if COUNT( [Index] ) as % of Total < 4% then "Other".

 

Many thanks!

 

Fiorenzo

Anonymous
Not applicable

It is working perfect as expected. Thanks much Xiaoxin Sheng...!

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors