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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

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

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.