Forum Discussion

mmakhlo's avatar
mmakhlo
Frequent Visitor
9 years ago

Calculate difference from previous month

Hello!

 

I would like to display the difference in cost by month. This is the current table I have. It shows cost by year-moth by site. I would like to show the difference in cost each month in another table. I have tried making a few measures but power BI was not too happy with them. Any help is greatly appreciated!

 

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi mmakhlo,

     

    You can try to use below measure to get the diff of current date and previous month.

    Diff of Previous Month = 
    var currSite=MAX([Site])
    var currDate=MAX([Date])
    return
    SUMX(FILTER(ALL('Sample'),[Site]=currSite&&FORMAT([Date],"yyyy-mm")=FORMAT(currDate,"yyyy-mm")),[Amount])-SUMX(FILTER(ALL('Sample'),[Site]=currSite&&FORMAT([Date],"yyyy-mm")=FORMAT(DATE(YEAR(currDate),MONTH(currDate)-1,DAY(currDate)),"yyyy-mm")),[Amount])

     

     

    Regards,

    Xiaoxin Sheng

  • Hi mmakhlo

     

    If I was looking to solve this problem and ensure that I am using best practise as well as be able to use all the native DAX functions I would suggest first creating a Date Table. You can use the link below which explains what a date table is and how to use it.

     

    http://radacad.com/do-you-need-a-date-dimension

     

    Then once that has been created I would then create a measure which would represent the Previous Month using the PREVIOUSMONTH DAX function.

     

    PY - Total Employee Expenses = CALCULATE([Total Employee Expenses],PREVIOUSYEAR('Date'[Calendar Date]))

     

    Then it would be as simple as using your [Total Employee Expenses] - [PY - Total Employee Expenses] 

    • mmakhlo's avatar
      mmakhlo
      Frequent Visitor

      Hi GilbertQ

       

      The date table was a great suggestion. It helped fix a few other issues I am having with the report. With regards to this post/calculation, when I create the measure for the cost of the previous month, it doesn't create a value.

       

      Here is my equation

       

      Ext Cost Previous Month = CALCULATE([Ext Cost Sum], PREVIOUSMONTH('Date'[Date]))

       

      When I try to insert the number into a table nothing appears.

       

      My value for the difference between months is the same as the current month which is another indication that the previous month calculation is not working properly.

       

      Any suggestions?

      • GilbertQ's avatar
        GilbertQ
        Icon for Super User rankSuper User

        Hi mmakhlo


        Can you confirm that when creating your table or visual that you are using the Month from the DATE table you created and NOT from your data table?

         

        That is often the issue when data is not showing, due to the PREVIOUSMONTH using the DATE table, and the table or visual is using the column from the data table, so the PREVIOUSMONTH will not work as expected.