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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
bhumikasardana
Frequent Visitor

Rankx gives all 1

Hi,

I need to add measure called RankSeries to rank each series by its viewing figures to get following output

1.JPG

Upon using this DAX formula ,
RankSeries = RANKX(ALL(Series),CALCULATE(SUM(Series[Viewers (m)])),,ASC)

Goal is achieved but when I replace Table-> All(series) with Column All(Series[Series]) , i.e

RankSeries = RANKX(ALL(Series[Series]),CALCULATE(SUM(Series[Viewers (m)])),,ASC)

value for the same comes out as 

2.JPG

I don't understand why ?

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@bhumikasardana , if you add any other column than the column in Rank, that rank will be inside that column/s that is why the second rank behaves like that

 

you need add all columns in visual

RankSeries = RANKX(ALL(Series[Series], Series[channel], Series[episode] ,Series[timeslot]) ,CALCULATE(SUM(Series[Viewers (m)])),,ASC)

 

For Rank Refer these links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures

View solution in original post

3 REPLIES 3
v-yangliu-msft
Community Support
Community Support

Hi  @bhumikasardana ,

ALL used as a filter argument is filter modifier. It removes the filter on its argument.

When the argument is a table, it removes the filter over the entire expanded table (the table specified as argument). Whent the argument is one or more columns, it removes the filters over the specified columns.

Filter removals happen during the fourth step in the CALCULATE execution, after the context transition and before the expression evaluation

The explanation of the CALCULATE execution step can be found in the DAX Guide

In the Measure 1, all filters are removed from the Series table. In the Measure 2, only the filter existing over Series[Series] is removed

 

Best Regards,

Liu Yang

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

@bhumikasardana , if you add any other column than the column in Rank, that rank will be inside that column/s that is why the second rank behaves like that

 

you need add all columns in visual

RankSeries = RANKX(ALL(Series[Series], Series[channel], Series[episode] ,Series[timeslot]) ,CALCULATE(SUM(Series[Viewers (m)])),,ASC)

 

For Rank Refer these links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures

Okay, so basically when I select All(tablename) inside rankx, irrespective of other column my values won't be alter.But, if I select a All(columnname) then upon adding more columns in visual my rank would be affected?How do I know what to use when?i.e it should be All(Tablename) or All(Columname)?

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

Check out the September 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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