Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
madisonkelly
Regular Visitor

Monthly Comparison with yearly average

I need to create a table or matrix that breaks the data into 4 columns: this month, last month, average of last 6 months, and avg of last 12 months.

madisonkelly_0-1654195812055.png

 

What is the best way to go about this? I tried grouping the data, but the groups can't overlap (ie 4/20/22 would need to be included in last month, last 6 months, and last 12 months. I also tried this formula 

Last month = CALCULATE('Charge Data'[Total Charges],dateadd('Charge Data'[Date Satisfied],-1,MONTH))
But adding that measure to the matrix values just includes it as a new row... If that makes any sense?
 
Any and all help is appreciated! 
1 ACCEPTED SOLUTION
Whitewater100
Solution Sage
Solution Sage

Hi:

If you are asking how to display matrix on rows you can do hat in formatting, I'll post image here.

Whitewater100_0-1654196921073.png

If you are asking about measures,it's best to get a Date Table in your model, with relationship with Fact Table. I'll paste date table code below. MODELING>NEW TABLE ..see last part of this message. You will have a new field in the dates table Dates[Date] that should be used in visuals and also your measures.

Let]s say you have a measure for Total Charges:

Total Charges = SUM('Charge Data'[Total Charges])

Then you use this pattern with DATEADD function

Last Month Charges = CALCULATE([Total Charges], DATEADD(Dates[Date], -1, MONTH))

Charges last 6 months = CALCULATE([Total Charges], DATEADD(Dates[Date], -12, MONTH))
Last 12 Month Charges = CALCULATE([Total Charges], DATEADD(Dates[Date], -1, YEAR))

 

I hope this helps:

Date Table cose next:

Dates = ADDCOLUMNS ( CALENDAR (FIRSTDATE(Sheet1[ Date]), TODAY()), "year", YEAR ( [Date] ), "MonthNumber", FORMAT ( [Date], "MM" ), "year-month", FORMAT ( [Date], "YYYY-MM" ), "month-year", FORMAT ( [Date], "MM-'YY" ) )

View solution in original post

1 REPLY 1
Whitewater100
Solution Sage
Solution Sage

Hi:

If you are asking how to display matrix on rows you can do hat in formatting, I'll post image here.

Whitewater100_0-1654196921073.png

If you are asking about measures,it's best to get a Date Table in your model, with relationship with Fact Table. I'll paste date table code below. MODELING>NEW TABLE ..see last part of this message. You will have a new field in the dates table Dates[Date] that should be used in visuals and also your measures.

Let]s say you have a measure for Total Charges:

Total Charges = SUM('Charge Data'[Total Charges])

Then you use this pattern with DATEADD function

Last Month Charges = CALCULATE([Total Charges], DATEADD(Dates[Date], -1, MONTH))

Charges last 6 months = CALCULATE([Total Charges], DATEADD(Dates[Date], -12, MONTH))
Last 12 Month Charges = CALCULATE([Total Charges], DATEADD(Dates[Date], -1, YEAR))

 

I hope this helps:

Date Table cose next:

Dates = ADDCOLUMNS ( CALENDAR (FIRSTDATE(Sheet1[ Date]), TODAY()), "year", YEAR ( [Date] ), "MonthNumber", FORMAT ( [Date], "MM" ), "year-month", FORMAT ( [Date], "YYYY-MM" ), "month-year", FORMAT ( [Date], "MM-'YY" ) )

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.