Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! 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
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.