Forum Discussion
Return Second Highest Value in Matrix
Hello,
I have calculated the maximum value of each row for a Power BI matrix with the below DAX; my question is: How do I modify it to calculate the 2nd highest value in each row, rather than the maximum?
3 Replies
- lbendlinSuper User
Use RANKX, TOPN(1(TOPN(2)), or any of the window functions. Lots of choices.
Please provide sample data that covers your issue or question completely, in a usable format (not as a screenshot).
Do not include sensitive information or anything not related to the issue or question.
If you are unsure how to upload data please refer to https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-Forum/ba-p/963216
Please show the expected outcome based on the sample data you provided.
Want faster answers? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447523 - AnonymousNot applicable
Thanks for the reply from lbendlin , please allow me to provide another insight:
Hi arcanri ,
You can try below formula to create measure:
Second_ = VAR RankedValues = ADDCOLUMNS( BidPriceFlat3, "Rank", RANKX( FILTER(BidPriceFlat3, BidPriceFlat3[DestinationID] = EARLIER(BidPriceFlat3[DestinationID])), BidPriceFlat3[NetAfterHaulPerMBF], , DESC, DENSE ) ) VAR SecondHighestValue = CALCULATE( MAXX( FILTER(RankedValues, [Rank] = 2), [NetAfterHaulPerMBF] ), ALLEXCEPT(BidPriceFlat3, BidPriceFlat3[DestinationID]) ) RETURN SecondHighestValueBest Regards,
Adamk KongIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- arcanriFrequent Visitor
Thank you. I think we're closer to a solution. The above solution returned a ranked list of values; however, it did not return a value of the 2nd highest price. I have exported out the report into an excel file and modified to mask corporate data. The yellow highlighted cells are what I am trying to return with the formula. Thank you again for your help.
Thank you!