In my Power BI Report I have a table called "Answers" that looks like this:
|Animal | Viewed |
|Cat | 17 |
|Chicken | 12 |
|Cow | 7 |
|Dog | 28 |
|Goat | 36 |
I have a slicer on Animal and I need to RANK the Animals by Views in the Visual. So I would need a Measure.
Expected Result:
|Animal | Viewed | RANK |
|Chicken | 12 | 2 |
|Cow | 7 | 3 |
|Dog | 28 | 1 |
Fail 1. The RANK Dense Fuction however did not work:
Rank_fkt = RANKX(ALL(Answers),CALCULATE(MAX(Answers[Viewed])),,DESC,Dense)
|Animal | Viewed | Rank_fkt |
|Chicken | 12 | 4 |
|Cow | 7 | 5 |
|Dog | 28 | 2 |
Fail 2. The RANK AllSELECTED Fuction however did not work either:
Rank_ALL = rankx(ALLSELECTED(Answers[Animal]),CALCULATE(MAX(Answers[Viewed])))
|Animal | Viewed | Rank_ALL |
|Chicken | 12 | 1 |
|Cow | 7 | 1 |
|Dog | 28 | 1 |
Fail 3. My atempt with RANK and Selectedvalue did not work either:
RANK_sel =
VAR SelectedAnimal = SELECTEDVALUE(Answers[Animal])
RETURN
RANKX(
ALL('Answers'),
CALCULATE(SUM('Answers'[Viewed]), Answers[Animal] = SelectedAnimal),,DESC,Dense
)
|Animal | Viewed | Rank_fkt |
|Chicken | 12 | 1 |
|Cow | 7 | 1 |
|Dog | 28 | 1 |
Can please someone help me to find the measure that RANKs on the Visual context depending on the slicer, as shown in the Expoected Result.
You can create a Measure as below-
Rank =
CALCULATE(
COUNTROWS(ALLSELECTED(your_table_name)),
FILTER(
ALLSELECTED(your_table_name),
your_table_name[Viewed] >= MIN(your_table_name[Viewed])
)
)
Here is the sample output with order applied on Rank column-