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
Ahak
Frequent Visitor

DAX Calculate Duration

Hi  

 

I have a table which shows production time. 

 

Always when I get new produced product i get a new entry. I have column with an category and this category can change over the the day couple times. So they change the product which is produced.  I want to calculate the duration between this changes. 

The table looks like this:

 

Ahak_0-1686310038569.png

 

I want to calculate the duration between the ID 5 and 6, 8 and 9 and 13 and 14. 
Maybe additional table which Summarize it by Number of changes and gets the start date and the Enddate? 
How can I extract this timestamps? 

Thank´s!

1 ACCEPTED SOLUTION
Ahak
Frequent Visitor

Hi @nvprasad 

 

I Could it solve it by myself. 

 

many thanks, anyway. 

DurationNew7 = 
VAR CurrentRowID = tabelle2[ID]
VAR CurrentCategory = tabelle2[Category (Text)]
VAR PreviousRowID = CurrentRowID - 1
VAR PreviousRowCategory = 
    CALCULATE(
        MIN(tabelle2[Category (Text)]), 
        FILTER(tabelle2, tabelle2[ID] = PreviousRowID)
    )
VAR PreviousRowTime = 
    CALCULATE(
        MAX(tabelle2[DateandTime]), 
        FILTER(tabelle2, tabelle2[ID] = PreviousRowID)
    )
RETURN 
    IF(
        PreviousRowCategory <> CurrentCategory && NOT(ISBLANK(PreviousRowCategory)),
        (tabelle2[DateandTime] - PreviousRowTime) * 24 * 60, 
        BLANK() 
    )

 

View solution in original post

4 REPLIES 4
Ahak
Frequent Visitor

Hi @nvprasad 

 

I Could it solve it by myself. 

 

many thanks, anyway. 

DurationNew7 = 
VAR CurrentRowID = tabelle2[ID]
VAR CurrentCategory = tabelle2[Category (Text)]
VAR PreviousRowID = CurrentRowID - 1
VAR PreviousRowCategory = 
    CALCULATE(
        MIN(tabelle2[Category (Text)]), 
        FILTER(tabelle2, tabelle2[ID] = PreviousRowID)
    )
VAR PreviousRowTime = 
    CALCULATE(
        MAX(tabelle2[DateandTime]), 
        FILTER(tabelle2, tabelle2[ID] = PreviousRowID)
    )
RETURN 
    IF(
        PreviousRowCategory <> CurrentCategory && NOT(ISBLANK(PreviousRowCategory)),
        (tabelle2[DateandTime] - PreviousRowTime) * 24 * 60, 
        BLANK() 
    )

 

Ahak
Frequent Visitor

Hi @nvprasad , 

 

it could be similar like this post. But the change should be dynamically not only for specific values. Always when a different number to previous number changes. I need the duration

 

Solved: Duration Calculation - Microsoft Fabric Community

 

many thanks, 

Ahak
Frequent Visitor

Hi Parsad, 

 

Here is an DropBoxLink to the pbix file.

 

https://www.dropbox.com/s/iw7f6e52cq6hsfc/Sample_File.pbix?dl=0

 

Many thanks, 

 

 

nvprasad
Solution Sage
Solution Sage

Hi Ahak,

 

Could you please provide some sample data?

 

Appreciate a Kudos! ‌‌
If this helps and resolves the issue, please mark it as a Solution! ‌‌

Regards,
N V Durga Prasad

Did I answer your question? Mark my post as a solution! Appreciate your Kudos.
Follow me on LinkedIn.

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