DAX In Power BI - Show Aggregate Sum Value Of The Previous N Months Within Same Table

In this article, we will learn how we can show the aggregate value of the previous n months within the same table in Power BI using Measures.

Overview

In this article, we will learn how we can show the aggregate value of the previous number of months within the same table in Power BI using Measures.

Scenario

I have a scenario, in which I have one table that has Cash and Charge values in a table. I want to show a monthly sum of charges. I also want to show the sum of charges from the previous month as well as the previous two months within the table. Please refer to the following output screen.

 DAX in Power BI

Let’s say there is a month, for instance May, and for May the previous month is April and the month before that is March.

So, I need the end result as – For May – current month charges are 660, previous month charges are 1237 ( which is similar to April’s charges) and the second previous month charges are 113 (of March).

In order to achieve this, we have created some calculated columns, calendar tables, and measures.

I have added a sample file for your reference on the GitHub. You can directly download the sample Power BI file and the data source file using this link - Download Example.

Let’s get started!

Step 1

Create a Calendar table. To create a calendar table, go to the Modeling pane and click on the "New Table" option.

DAX in Power BI 

Add the following formula.

  1. DateMaster = CALENDAR(DATE(2017,1,1),DATE(2018,12,31))  
DAX in Power BI 

The above formula will create each day of the calendar as row value in DateMaster table.

Step 2

Create the following calculated column to find out the month start date for each transaction date.

  1. vMonthStartDate = STARTOFMONTH(Cash[TRDate].[Date])  

DAX in Power BI

 

The above formula will return the start date of the transaction date, which we will use as relationship column in Step 3.

Step 3

Create a relationship between Cash and CalendarMaster table.

We will apply one-to-many relationship between the Date columns of CalendarMaster and vMonthStarDate of Cash table.

DAX in Power BI 

Step 4

Create a measure which will find the previous month's sum.

  1. vPrevMonthSum = CALCULATE(  
  2.    SUM('Cash'[Charges]),  
  3.    DATEADD(DateMaster[Date].[Date], -1, MONTH)  
  4. )  

DAX in Power BI

 

If we look into the formula closely - the above formula will calculate the sum for the previous one month.

The same way, we will prepare the formula to show the sum of the charges for the second previous month.

  1. vPrevious2MonthSum = CALCULATE(  
  2.    SUM('Cash'[Charges]),  
  3.    DATEADD(DateMaster[Date].[Date], -2, MONTH)  
  4. )  

DAX in Power BI

 

Step 5

Now, let’s add all the values in the table and check the end result.

Here is the result which will show Current Month Charges, Previous 1 month and Previous 2 month charges.

DAX in Power BI 

Conclusion

This is how we can show previous months data with a visual table of Power BI.

Hope you love this article! Stay connected with me for such articles.