Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Given this data:
What would be the best way to create a trailing 12 month average for company retention? Can I do it within this table or should I create a date table and calculate it from there?
Solved! Go to Solution.
Hi @Anonymous,
Please check out the demo in the attachment. It could be the result you want.
1. Create a date table.
2. Don't establish any relationships.
3. I would suggest you create a middle table. You also can try a measure which would be slow.
MiddleTable =
SUMMARIZE (
'Calendar',
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"amount", CALCULATE (
COUNT ( Table1[co] ),
FILTER (
'Table1',
'Table1'[startDate] <= MIN ( 'Calendar'[Date] )
&& 'Table1'[endDate] >= MAX ( 'Calendar'[Date] )
)
)
)
Or
Measure 3 =
CALCULATE (
AVERAGEX (
SUMMARIZE (
'Calendar',
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"amount", CALCULATE (
COUNT ( Table1[co] ),
FILTER (
'Table1',
'Table1'[startDate] <= MIN ( 'Calendar'[Date] )
&& 'Table1'[endDate] >= MAX ( 'Calendar'[Date] )
)
)
),
[amount]
),
FILTER (
ALL ( 'Calendar' ),
'Calendar'[Date] >= MIN ( 'Calendar'[Date] )
&& 'Calendar'[Date] <= EOMONTH ( MIN ( 'Calendar'[Date] ), 11 )
)
)
Best Regards,
Dale
Hi @Anonymous,
Please check out the demo in the attachment. It could be the result you want.
1. Create a date table.
2. Don't establish any relationships.
3. I would suggest you create a middle table. You also can try a measure which would be slow.
MiddleTable =
SUMMARIZE (
'Calendar',
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"amount", CALCULATE (
COUNT ( Table1[co] ),
FILTER (
'Table1',
'Table1'[startDate] <= MIN ( 'Calendar'[Date] )
&& 'Table1'[endDate] >= MAX ( 'Calendar'[Date] )
)
)
)
Or
Measure 3 =
CALCULATE (
AVERAGEX (
SUMMARIZE (
'Calendar',
'Calendar'[Date].[Year],
'Calendar'[Date].[Month],
"amount", CALCULATE (
COUNT ( Table1[co] ),
FILTER (
'Table1',
'Table1'[startDate] <= MIN ( 'Calendar'[Date] )
&& 'Table1'[endDate] >= MAX ( 'Calendar'[Date] )
)
)
),
[amount]
),
FILTER (
ALL ( 'Calendar' ),
'Calendar'[Date] >= MIN ( 'Calendar'[Date] )
&& 'Calendar'[Date] <= EOMONTH ( MIN ( 'Calendar'[Date] ), 11 )
)
)
Best Regards,
Dale
Seems like there is some data missing. But, you can take a look at my Rolling Months Quick Measure here:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Rolling-Months/m-p/391499
Please see this post regarding How to Get Your Question Answered Quickly: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 59 | |
| 46 | |
| 42 | |
| 23 | |
| 18 |
| User | Count |
|---|---|
| 193 | |
| 124 | |
| 101 | |
| 67 | |
| 49 |