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

We've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now

Reply
jobf
Helper II
Helper II

Difference between several dates in the same column

Hello. I need to calculate the difference between several dates in the same column. For example:

Field Date
P101/01/2024
P101/03/2024
P101/06/2024
P101/11/2024
P202/02/2024
P202/09/2024
P202/16/2024
P202/20/2024


I need to calculate the difference between a date and the date before it in the same field. If there is no previous date, the value must be 0. The final table must be like this:

Field Date Difference
P101/01/2024 0
P101/03/2024 2
P101/06/2024 3
P101/11/2024 5
P202/02/2024 0
P202/09/2024 7
P202/16/2024 7
P202/20/2024 4
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @jobf 

 

Thanks for the reply from @samratpbi .

 

@jobf , you can try the following measure:

Difference = 
VAR _Previous = MAX('Table'[Date])
VAR _PreviousRowDate = 
    CALCULATE(
        MAX('Table'[Date]),
        FILTER(
            ALLEXCEPT('Table', 'Table'[Field]),
            'Table'[Date] < _Previous
        )
    )
RETURN
    IF(
        ISBLANK(_PreviousRowDate),
        0,
        MAX([Date]) - _PreviousRowDate
    )

 

Output:

vxuxinyimsft_0-1721638410204.png

 

Best Regards,
Yulia Xu

 

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

View solution in original post

4 REPLIES 4
samratpbi
Super User
Super User

Hi, in addition, just noticed you are resetting the calculation based on the field. Hence little modification on the previous calculation which should be like below:

Versus previous =
IF(
    [Field ] <> PREVIOUS([Field ]),
    0,
    IF(
        PREVIOUS([Date]) = BLANK(), 0,
    [Date] - PREVIOUS([Date])
    )
)
 
If this helps to resolves your problem, then please mark it as solution, Thanks
samratpbi
Super User
Super User

Hi, there are many ways, however I think the easiest way is to use newly introduced visual level calculation.

Its under Home -> New Calculation.

samratpbi_1-1721331872431.png

 

I have loaded your data and created the below calculation as New Calculation:

samratpbi_0-1721331811873.png

 

If this helps to resolve your problem, then please mark it as solution provided. Thanks

Dont forget to give kudos 🙂

 

Is there a way to do this without the PREVIOUS function?

Anonymous
Not applicable

Hi @jobf 

 

Thanks for the reply from @samratpbi .

 

@jobf , you can try the following measure:

Difference = 
VAR _Previous = MAX('Table'[Date])
VAR _PreviousRowDate = 
    CALCULATE(
        MAX('Table'[Date]),
        FILTER(
            ALLEXCEPT('Table', 'Table'[Field]),
            'Table'[Date] < _Previous
        )
    )
RETURN
    IF(
        ISBLANK(_PreviousRowDate),
        0,
        MAX([Date]) - _PreviousRowDate
    )

 

Output:

vxuxinyimsft_0-1721638410204.png

 

Best Regards,
Yulia Xu

 

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

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.