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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
arcanri
Frequent Visitor

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?

 

MaxBidPrice NetAfterHaul per MBF =
VAR MaxBidPriceMBF =
CALCULATETABLE(
    ADDCOLUMNS(
        SUMMARIZE(BidPriceFlat3,DestinationPQ6[DestID])
        ,
        "Amount",[Net After Haul per MBF]),
        ALLSELECTED(DestinationPQ6[DestID]))

        VAR MaxValue = MAXX(MaxBidPriceMBF,[Amount])
        VAR CurrentValue=[Net After Haul per MBF]
        VAR Result = Switch(True(),
            CurrentValue = MaxValue,MaxValue)
        RETURN
        Result
 
Thank you!
3 REPLIES 3
Anonymous
Not 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
    SecondHighestValue

vkongfanfmsft_2-1717553499665.png

 

vkongfanfmsft_1-1717553449705.png

 

Best Regards,
Adamk Kong

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

 

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. Screenshot 2024-06-05 082811.png

 

Thank you!

lbendlin
Super User
Super 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-...

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/1447...

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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