I just want to calculate bottom customer but having little problem with my DAX.
The scenario is that, I have a slicer with 3 values (Profit,Profit Margin,Sales).and on my another slicer where i have created bottom 5,bottom 10 etc. when i select Sales and bottom 5 it's only shows 4 value.but, if i choose profit or profit margin and bottom 5 or 10, strangely it is showing correct value.
I don't know how it is possible?
Here is my list of formula,
Rank from bottom = RANKX(ALL('Top Analysis Unpivot'[Value]),'Top and Bottom Analysis Measures'[Dynamic],,ASC,Dense)
Rank Selection for Bottom = IF(HASONEVALUE('Ranking For Bottom'[Rank] ),VALUES('Ranking For Bottom'[Rank Number]),MAXX(VALUES('Top Analysis Unpivot'[Value]),[Rank from bottom])) [ This formula selects the rank number from my rank slicer)
Bottom value = IF([Rank from bottom] <=[Rank Selection for Bottom],[Dynamic]) [ This formula shows the ultimate value]
please Have a look on the screenshots
Can you identify what is going on? why it is showing only 4 values instead of 5?
Any suggesation is really appreciable.
Do you have any repeat values when maing the rankx? meaning that instead of having 1, 2, 3, 4, 5,6 you have something like 1,2,3,4,6,6?
Seems to me like you have repeated ranking that causes to reduce number of values to present.
Search your data if any of the top/bottom 5 have more than 1 customer for the same ranking.
Nope.. I don't think so..
Check out the below screenshots,
It Starts with rank 2..I dont understand why?
But for profit or other measure, it shows correct rank.
Can you please identify what is happening?
Thanks for replying.
Starting the rank in 2 is the reason you have only 4 numbers, does for any chance for the 21.78 do you have two rows on your dataset that are exactly the same?
Sorry for late reply. No, I dont think so, i have two rows which have excatly same value (21.78).
I did the same thing on excel also, But it shows me correct result.Please have a look of below excel result scrrenshots,
Look, It shows me correct result. I miss this "Ken Heidel" Sales on Power Bi.
Any clue to solve this ridiculous problem?
I wasn't abble to make a complete test since I don't have your data model and there are some parts of your measure that are not clear to me.
On the measure below, can you change the MAXX by MINXX and check if the Joni Sunderseam gets rank number 1 or 2?
Rank Selection for Bottom = IF ( HASONEVALUE ( 'Ranking For Bottom'[Rank] ), VALUES ( 'Ranking For Bottom'[Rank Number] ), MAXX ( VALUES ( 'Top Analysis Unpivot'[Value] ), [Rank from bottom] ) )
Since you have two values as 21.78 you are getting the higher value.
Can you share some sample data by private message so I can make some addtional tests?