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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
zxl1031
Helper I
Helper I

Calculate dynamic average age by cuttoff date

Hello,

 

Thanks everyone for taking time to read my post and especially to those who are trying to provide any solution!!

 

Please find the pbix file here: https://drive.google.com/open?id=1EDgaPSgfhTQaQBZcWkIAkJfP5pMS0njz

 

I want to calculate the dynamic average age of outstanding issues based on cutt off date.

outstanding issues are those issues whoese resolved date is after cutt off date.

issue age = [cutt off date] -[created]

 

 

dynamic rolling average 2.JPG

 

The result table is expected to be like this:

dynamic rolling average 3.JPG

 

Below measure is not working. 

average outstanding age = CALCULATE(AVERAGEX(FILTER(ids,FORMAT(ids[created],"yyyy-mm-dd")<FORMAT(MAX(Dates[date]),"yyyy-mm-dd")&&FORMAT(ids[resolved],"yyyy-mm-yy")>FORMAT(MAX(Dates[date]),"yyyy-mm-dd")),DATEDIFF(ids[created],MAX(Dates[date]),DAY)))

1 ACCEPTED SOLUTION

 Hi zxl1031,

 

The return value of "Format" function is text type, so you can't use "Format" function, you should modify your date like pattern 

yyyy\MM\dd HH:mm:ss

And then click Modeling-> Date type to change text type to datetime.

 

Regards,

Jimmy Tao

View solution in original post

7 REPLIES 7
v-yuta-msft
Community Support
Community Support

Hi zxl1031,

 

You should convert column [resolved ] to from text type to date type than use the comparisation condition if your filter. Please check if it can solve your issue.

 

Regards,

Jimmy Tao

Hi Jimmy,

 

Yes, I have converted the format of "resolve" column. But not working.

 

average outstanding age = CALCULATE(AVERAGEX(FILTER(ids,FORMAT(ids[created],"yyyy-mm-dd")<FORMAT(MAX(Dates[date]),"yyyy-mm-dd")&&FORMAT(ids[resolved],"yyyy-mm-yy")>FORMAT(MAX(Dates[date]),"yyyy-mm-dd")),DATEDIFF(ids[created],MAX(Dates[date]),DAY)))

 

Sorry about the typo in the above measure. It is:

average outstanding age = CALCULATE(AVERAGEX(FILTER(ids,FORMAT(ids[created],"yyyy-mm-dd")<FORMAT(MAX(Dates[date]),"yyyy-mm-dd")&&FORMAT(ids[resolved],"yyyy-mm-dd")>FORMAT(MAX(Dates[date]),"yyyy-mm-dd")),DATEDIFF(ids[created],MAX(Dates[date]),DAY)))

 Hi zxl1031,

 

The return value of "Format" function is text type, so you can't use "Format" function, you should modify your date like pattern 

yyyy\MM\dd HH:mm:ss

And then click Modeling-> Date type to change text type to datetime.

 

Regards,

Jimmy Tao

Year-month-year makes no sense...

sorry for the typo....

jthomson
Solution Sage
Solution Sage

How is the user selecting a cutoff date?

Another date table was created for that. 

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors