Forum Discussion

aghonaim's avatar
aghonaim
Most Valuable Professional
8 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
      Most Valuable Professional

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

      Can the totoal be fixed ?

      • SivaMani's avatar
        SivaMani
        Resident 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
    Most 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
      Most 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 ?