cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
keithchai
Frequent Visitor

RANKX Is ranking on my total which is weird

So I has got a Fact table and had a measure to calculate the monthly sales ratio by a category group. 

 

Next I wanted to know the rank from highest to lowest ratio for the particular category but below is the ranking that I got from this DAX formula : 

Rank = RANKX( ALLEXCEPT( FactInvoice , NHFCalendar[Month] ) , CALCULATE( [InvoiceAmt Sum Perc] , ALLEXCEPT( FactInvoice , FactInvoice[Related ItemGroupID], NHFCalendar[Month])), , DESC, Dense)
 
Problem I face is why is the ranking is 1 for the total and not on "External category" instead? And the reason the rank 2 gets duplicated ? I am really lost any guidance would highly appreciated. 😞
 
 

pbi_help.PNG

 

 

 

Related ItemGroupIDInvoiceAmt Sum PercRatio Itemgroup Sales RankMeasureMonth
EXTERNAL572 Jan
FOC 4 Jan
METAL153 Jan
PLASTIC282 Jan
1 ACCEPTED SOLUTION
v-cazheng-msft
Community Support
Community Support

Hi @keithchai 

You can create a Measure to get the result you want.

 

Rank =

VAR res =

    RANKX (

        ALLEXCEPT ( FactInvoice, FactInvoice[Month] ),

        CALCULATE (

            [InvoiceAmt Sum Perc],

            ALLEXCEPT ( FactInvoice, FactInvoice[Related ItemGroupID], FactInvoice[Month] )

        ),

        ,

        DESC,

        DENSE

    )

RETURN

    IF ( HASONEFILTER ( FactInvoice[Related ItemGroupID] ), res, BLANK () )

 

The result looks like this:

v-cazheng-msft_0-1616228842939.png

Best Regards

Caiyun Zheng

 

Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

View solution in original post

3 REPLIES 3
v-cazheng-msft
Community Support
Community Support

Hi @keithchai 

You can create a Measure to get the result you want.

 

Rank =

VAR res =

    RANKX (

        ALLEXCEPT ( FactInvoice, FactInvoice[Month] ),

        CALCULATE (

            [InvoiceAmt Sum Perc],

            ALLEXCEPT ( FactInvoice, FactInvoice[Related ItemGroupID], FactInvoice[Month] )

        ),

        ,

        DESC,

        DENSE

    )

RETURN

    IF ( HASONEFILTER ( FactInvoice[Related ItemGroupID] ), res, BLANK () )

 

The result looks like this:

v-cazheng-msft_0-1616228842939.png

Best Regards

Caiyun Zheng

 

Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

amitchandak
Super User
Super User

@keithchai , what is your base data, what was shown in the last table ?

Try like

Rank = RANKX( ALLselected(FactInvoice ) , CALCULATE( [InvoiceAmt Sum Perc] , ALLEXCEPT( FactInvoice , FactInvoice[Related ItemGroupID], NHFCalendar[Month])), , DESC, Dense)

 

Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.



Power BI Features || Datamarts: https://youtu.be/8tskWsJTEpg || Field Parameters : https://youtu.be/lqF3Wa1FllE?t=70
Time Intelligence Decoded : https://youtu.be/aU2aKbnHuWs&t=145s || 50+Power Query List Functions : Learn Power Query List
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !! Proud to be a Super User! !!
Dashboard of My Blogs !! Connect on Linkedin !! Subscribe to my youtube Channel !!
Want To Learn Power BI | Beginners !! Advance Concepts !! Power BI For Tableau User !!

Hi @amitchandak ,

I tried changed to ALLSELECTED the result is not desired. 

The rank now is ranking on the entire year, I only wanted to know the rank for the categories within the month. 

ALLSELECTED Result:

pbi_help.PNG

 

My desired output:

pbi_help.PNG

 

My base data is just a simple fact invoice table, with the sales amount for the invoices throughout the year. 

InvoiceAmt Sum Perc is the percentage of invoiceamt sum for the month. Say January is 57% of the total sales and 58% for March total sales etc. If possible I may not want to share the pbix file, my company is a little strict. 😫

 

pbi_help.PNG

 

 

Helpful resources

Announcements
Power BI Show Episode 10 Recap

The Power BI Community Show

Watch the playback when Amit Chandak, a Power BI Super User, demos how to use Field Parameters to make reports more dynamic.

Power BI Dev Camp Session 26

Ted's Dev Camp - October 6, 2022

Watch the playback of Session 26 with Ted Pattison!

Health and Life Sciences Power BI User Group

Health and Life Sciences Power BI User Group

Power BI specialists at Microsoft have created a community user group where customers in the provider, payor, pharma, health solutions, and life science industries can collaborate.

Ignite 2022

What's Next at Microsoft Ignite 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Top Solution Authors