cancel
Showing results for
Did you mean:

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Frequent Visitor

## Datediff Calculation

Looking for some assistance for a correct Output.

Scenario: I have TableA that shows the time (datestringProd) column of each change made for a product# (ProductColumn).  One Product number can have multiple changes for example Prod# 198763 have to different change that were made and same for Prod# 198741. I'm Trying to get the duration for each Prod# output to Measure2 Visual.

Should Look Like this:   Prod# 198763 duration from DateStringProd (11:29pm - 8:21pm) = 3hr 8min

Prod#: 198741 duration from DateStringProd (4:25pm - 2:46pm) = 1hr 39min

Measure2 output = (3h8m + 1h39m) = 4 hr 48mins

Instead it Looks Like this::::  Measure2:::: Prod#: 198741  (2:46pm) + Prod# 198763 (11:29pm) = 8hr 43 mins

If I can get the ouput of Measure2 to even show it in the format 4hr 48mins that'll be fantasy. Please help, i'm still doing some research but been stuck on this for a while. thank you so much team.

2 ACCEPTED SOLUTIONS
Community Champion

Try something like this

``````Measure2 =
SUMX ( VALUES ( Durations[Prod] ), [Measure1] )

Measure2_Formatted =
VAR __HH =
FLOOR ( [Measure2], 1 )
VAR __MM =
ROUND ( ( [Measure2] - __HH ) * 60, 0 )
RETURN
__HH & ":" & __MM
``````

(I don't remember if there's a function that just takes the decimal part of a number in DAX, hence the complex formula)

Hope this helps

David

Community Support

Hi, @ddurosier

Based on your description, I created data to reporduce your scenario. The pbix file is attached in the end.

Table:

You may create a measure as below.

``````Result =
var tab =
SUMMARIZE(
'Table',
'Table'[Prod],
"Re",
DATEDIFF(
MIN('Table'[DateStringProd]),
MAX('Table'[DateStringProd]),
MINUTE
)
)
var result =
SUMX(
tab,
[Re]
)
return
INT(DIVIDE(result,60))&"hr "&MOD(result,60)&"min"``````

Result:

Best Regards

Allan

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

3 REPLIES 3
Community Support

Hi, @ddurosier

Based on your description, I created data to reporduce your scenario. The pbix file is attached in the end.

Table:

You may create a measure as below.

``````Result =
var tab =
SUMMARIZE(
'Table',
'Table'[Prod],
"Re",
DATEDIFF(
MIN('Table'[DateStringProd]),
MAX('Table'[DateStringProd]),
MINUTE
)
)
var result =
SUMX(
tab,
[Re]
)
return
INT(DIVIDE(result,60))&"hr "&MOD(result,60)&"min"``````

Result:

Best Regards

Allan

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

Community Champion

Try something like this

``````Measure2 =
SUMX ( VALUES ( Durations[Prod] ), [Measure1] )

Measure2_Formatted =
VAR __HH =
FLOOR ( [Measure2], 1 )
VAR __MM =
ROUND ( ( [Measure2] - __HH ) * 60, 0 )
RETURN
__HH & ":" & __MM
``````

(I don't remember if there's a function that just takes the decimal part of a number in DAX, hence the complex formula)

Hope this helps

David

Frequent Visitor

I will give it a shot ofr that part.

Announcements

#### Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

#### Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

#### Fabric Community Update - April 2024

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

Top Solution Authors
Top Kudoed Authors