Forum Discussion

hnguy71's avatar
hnguy71
Super User
7 years ago
Solved

Personal Budget Most Earned In A Month Using RankX

Good afternoon!

 

I'm building a personal budget report and one key component is to determine what is the most I've earned in a month (filtering only for payroll). I am able to use rankx and show my top ranking months between years but my end result that I'm looking for is just one datamined amount. My current dax formulas is as followed:

 

03_Most_Earned_In_Month = 
var GetRanks = CALCULATE(RANKX(ALL(Transactions[Month]), [02_Sum_All_Credit],,DESC), Transactions[Category] = "Payroll")
return
CALCULATE([02_Sum_All_Credit], FILTER(Transactions, GetRanks = 1), Transactions[Category] = "Payroll")

With this I am able to get this result:

 

I will be placing the result in a multi-row card to display the year and month that has only the highest amounted result:

I tried using TopN on top of the RankX but I'm unable to get my desired result. Any help would be appreciated! Thanks!

  • hnguy71

     

    Try this pattern

     

    Best_Month Measure =
    MAXX (
        TOPN ( 1, VALUES ( Transactions[Month] ), [03_Most_Earned_In_Month], DESC ),
        [Month]
    )
    

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Why not just take away your Year context and then perhaps do a LOOKUPVALUE to retrieve year for that specific amount and month?

    • Zubair_Muhammad's avatar
      Zubair_Muhammad
      Community Champion

      hnguy71

       

      Try this pattern

       

      Best_Month Measure =
      MAXX (
          TOPN ( 1, VALUES ( Transactions[Month] ), [03_Most_Earned_In_Month], DESC ),
          [Month]
      )
      
      • hnguy71's avatar
        hnguy71
        Super User

        Hi Zubair_Muhammad 

        Thanks for your help! It was just the help I needed! I ended up transforming your measure into something larger but the idea was essentially there!