Forum Discussion
Filter table and then ranking
- 9 years ago
SAM190370 wrote:
I would like to ranking a table. This works fine with rankx. However I would like to filter the table before making the ranking. However it seems like formula ignore the filtering.
1) First you see the data
2) Ranking withour filtering
3) Ranking without Denmark
How should the measure look like? I have tried this one but it seems to sum up top 3 to 1000 - just ignorering the new ranking.
Top3WithoutDenmark:=CALCULATE('Data'[Amount];FILTER(Data;Data[Country]<>"Denmark");FILTER(Data;RANKX(ALL(Data);[Amount])<=3))
It seems like rank ignore any filter before to the ranking.
Any suggestions?
/ Søren
Maybe you can try a measure with more flexibility. Check more details in the attached pbix.
Top3ofAnySelectedCountry = VAR TBL = SUMMARIZE ( Data, Data[Country], "sumtotal", SUM ( Data[Amount] ) ) VAR RNK_TBL = ADDCOLUMNS ( TBL, "RANK", RANKX ( TBL, [sumtotal],, DESC, DENSE ) ) RETURN SUMX ( FILTER ( RNK_TBL, [RANK] <= 3 ), [sumtotal] )
SAM190370 wrote:
I would like to ranking a table. This works fine with rankx. However I would like to filter the table before making the ranking. However it seems like formula ignore the filtering.
1) First you see the data
2) Ranking withour filtering
3) Ranking without Denmark
How should the measure look like? I have tried this one but it seems to sum up top 3 to 1000 - just ignorering the new ranking.
Top3WithoutDenmark:=CALCULATE('Data'[Amount];FILTER(Data;Data[Country]<>"Denmark");FILTER(Data;RANKX(ALL(Data);[Amount])<=3))
It seems like rank ignore any filter before to the ranking.
Any suggestions?
/ Søren
Maybe you can try a measure with more flexibility. Check more details in the attached pbix.
Top3ofAnySelectedCountry =
VAR TBL =
SUMMARIZE ( Data, Data[Country], "sumtotal", SUM ( Data[Amount] ) )
VAR RNK_TBL =
ADDCOLUMNS ( TBL, "RANK", RANKX ( TBL, [sumtotal],, DESC, DENSE ) )
RETURN
SUMX ( FILTER ( RNK_TBL, [RANK] <= 3 ), [sumtotal] )