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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
Anonymous
Not applicable

How to get the aging in each month

I want to get the aging of the items in each month from opened date to closed date.

So for the table below, what would be the age of the items below in April, then May, June and so forth. The aging will stop once the fill date has come. If no fill date, then today will be used.

 

Opened DateClosed DateAprilMayJuneJulyAugust
5/1/20238/16/2023     
4/1/2023      


Hope this makes sense. Thanks in advance!

1 ACCEPTED SOLUTION
ERD
Community Champion
Community Champion

I assume you have a Date table. Here is the measure:

age =
VAR monthStart = MIN ( 'Date'[Date] )
VAR monthEnd = MAX ( 'Date'[Date] )
VAR opened = SELECTEDVALUE ( 'Table'[Opened Date] )
VAR closed = COALESCE ( SELECTEDVALUE ( 'Table'[Closed Date] ), TODAY () )
VAR days = DATEDIFF ( opened, monthEnd, DAY ) + 1
RETURN
    IF ( TODAY () > monthEnd && monthStart >= opened && monthEnd <= closed, days )

ERD_0-1695194665618.png

 

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Stand with Ukraine!


Here is an official way you can support Ukraine financially:
Come Back Alive foundation: https://savelife.in.ua/en/

Thank you!

View solution in original post

8 REPLIES 8
ERD
Community Champion
Community Champion

Hi @Anonymous , should the age be in days or months? As far as I understand you have a matrix with months as columns.

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Stand with Ukraine!


Here is an official way you can support Ukraine financially:
Come Back Alive foundation: https://savelife.in.ua/en/

Thank you!

Anonymous
Not applicable

Hi! The age should be in days. For the months in columns, I want to know the age if that month is finished.

ERD
Community Champion
Community Champion

I assume you have a Date table. Here is the measure:

age =
VAR monthStart = MIN ( 'Date'[Date] )
VAR monthEnd = MAX ( 'Date'[Date] )
VAR opened = SELECTEDVALUE ( 'Table'[Opened Date] )
VAR closed = COALESCE ( SELECTEDVALUE ( 'Table'[Closed Date] ), TODAY () )
VAR days = DATEDIFF ( opened, monthEnd, DAY ) + 1
RETURN
    IF ( TODAY () > monthEnd && monthStart >= opened && monthEnd <= closed, days )

ERD_0-1695194665618.png

 

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Stand with Ukraine!


Here is an official way you can support Ukraine financially:
Come Back Alive foundation: https://savelife.in.ua/en/

Thank you!

Anonymous
Not applicable

Thank you so much for your help, Mate! One last question, what if I want to get the age up to the current day or up to the closed date? for example in the row 2, the closed date is 8/16, right? I want to get the age on the August column but up to the August 16 only.

ERD
Community Champion
Community Champion

age =
VAR monthStart =
    MIN ( 'Date'[Date] )
VAR monthEnd =
    MAX ( 'Date'[Date] )
VAR opened =
    SELECTEDVALUE ( 'Table'[Opened Date] )
VAR closed =
    COALESCE ( SELECTEDVALUE ( 'Table'[Closed Date] ), TODAY () )
VAR days =
    DATEDIFF ( opened, monthEnd, DAY ) + 1
VAR endDay =
    IF ( monthEnd <= closed, monthEnd, closed )
VAR days_last =
    DATEDIFF ( opened, endDay, DAY ) + 1
RETURN
    IF ( TODAY () > monthEnd && monthStart >= opened, days_last )

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Stand with Ukraine!


Here is an official way you can support Ukraine financially:
Come Back Alive foundation: https://savelife.in.ua/en/

Thank you!

Anonymous
Not applicable

Thanks for this. My problem with this is that if the monthEnd is greater than today and the monthStart < opened, the data is skewed and I tried creating a solution but to no avail. 😞

Anonymous
Not applicable

This is perfecly working! I have another question, would it be possible to count the number of items whose age is 90+? For example, in the month of June, there is 1 item whose age is 91 so that should count as 1 for the month of June only.

ERD
Community Champion
Community Champion

Hi. Yes.

age 90+ = 
    VAR t =
        FILTER (
            ADDCOLUMNS (
                GENERATE (
                    VALUES ( 'Date'[Month-Year] ),
                    SUMMARIZE ( 'Table', 'Table'[Opened Date], 'Table'[Closed Date] )
                ),
                "@age", [age]
            ),
            [@age] >= 90
        )
    RETURN
        COUNTROWS ( t )

ERD_0-1695279640330.png

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly. Appreciate your Kudos.

Stand with Ukraine!


Here is an official way you can support Ukraine financially:
Come Back Alive foundation: https://savelife.in.ua/en/

Thank you!

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.