Forum Discussion

aghonaim's avatar
aghonaim
Icon for Most Valuable Professional rankMost Valuable Professional
9 years ago
Solved

DAX Formula

Can someone help me with a simple formula to calcualte the value of the last year (which is YYYY number not a full date) ?

I tried the following formual but it isn't returning any values:

LY = Calculate(AVERAGE(Table[Value]), FILTER(ALL(Table), Table[YEAR] = Table[YEAR]-1))

8 Replies

  • Only thing i see your formula is missing to work is a MAX call:

     

    LY = Calculate(AVERAGE(Table[Value]), FILTER(ALL(Table), Table[YEAR] = MAX ( Table[YEAR] ) -1 ) )

    • aghonaim's avatar
      aghonaim
      Icon for Most Valuable Professional rankMost Valuable Professional

      Thanks a lot! it worked but the LY total is not correct:

      Can the totoal be fixed ?

      • SivaMani's avatar
        SivaMani
        Icon for Resident Rockstar rankResident Rockstar

        aghonaim,

         

        The total is showing LY value of 2012. Because you have used MAX in your DAX. so, it picks Max(Year).

         

        Just Create a calculated measure with following formula,

         

        Last Year = LOOKUPVALUE(Table3[Value],Table3[Year],Table3[Year]-1) 

         

        you will get the required Value.

         

        Thanks,

        Siva

  • AlbertoFerrari's avatar
    AlbertoFerrari
    Icon for Most Valuable Professional rankMost Valuable Professional

    The question is: "what do you want to see at the grand total"? Showing the value for 2012 looks a good compromise, but if you want to fix it, you first need to decide what to show there. At the grand total - being no year in the selection - the very value of "last year" is undefined.


    Have fun with DAX!

    Alberto Ferrari
    http://www.sqlbi.com

    • aghonaim's avatar
      aghonaim
      Icon for Most Valuable Professional rankMost Valuable Professional

      That's what I want to get which SivaMani solution allowed me to get it:

       

       

      Makes sense ?

      Is there a measure can do that ? if yes, which one is better/faster ?