Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Good day,
i would like to calculate the duration between 2 dates, so my visual will be per stage and its duration
1. Do I create a calculated column for duration between the 2 dates?
2. then a calculated measure to sum the duration and convert in days or hours
please help with the duration column & measure calculations
i hope the method of a calculated column then calculated measure is correct
please advise and help with calculation scripts
Regards
Solved! Go to Solution.
Hi @icassiem - your suggested method of using a calculated column for individual durations and a calculated measure for aggregation is correct.
using datediff. calculated column calculate duration days:
Duration_Days =
DATEDIFF(
TableName[StartDate],
TableName[EndDate],
DAY
)
create a measure for total duration as
Total_Duration =
SUM(TableName[Duration_Days])
Convert Duration to Hours or Mixed Format
Duration_Format =
VAR Days = INT(TableName[Duration_Hours] / 24)
VAR Hours = MOD(TableName[Duration_Hours], 24)
RETURN
Days & " days " & Hours & " hours"
In your visual e.g., a table or matrix, add the "Stage" field to the rows.Add the Total_Duration measure to display the summed duration per stage.
Proud to be a Super User! | |
Hi @icassiem
Please try this:
Table:
Then add 2 calculated columns:
duration_Day =
ABS (
DATEDIFF ( 'Table'[HistoryClosedDateMax], 'Table'[HistoryCreatedDateMin], DAY )
)
duration_Hour =
ABS (
DATEDIFF ( 'Table'[HistoryClosedDateMax], 'Table'[HistoryCreatedDateMin], HOUR )
)
And 2 Measures:
_duration_Day =
ABS (
DATEDIFF (
MAX ( 'Table'[HistoryClosedDateMax] ),
MAX ( 'Table'[HistoryCreatedDateMin] ),
DAY
)
)
_duration_Hour =
ABS (
DATEDIFF (
MAX ( 'Table'[HistoryClosedDateMax] ),
MAX ( 'Table'[HistoryCreatedDateMin] ),
HOUR
)
)
The result is as follow:
Here for your reference:
DATEDIFF function (DAX) - DAX | Microsoft Learn
ABS function (DAX) - DAX | Microsoft Learn
Best Regards
Zhengdong Xu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @icassiem - your suggested method of using a calculated column for individual durations and a calculated measure for aggregation is correct.
using datediff. calculated column calculate duration days:
Duration_Days =
DATEDIFF(
TableName[StartDate],
TableName[EndDate],
DAY
)
create a measure for total duration as
Total_Duration =
SUM(TableName[Duration_Days])
Convert Duration to Hours or Mixed Format
Duration_Format =
VAR Days = INT(TableName[Duration_Hours] / 24)
VAR Hours = MOD(TableName[Duration_Hours], 24)
RETURN
Days & " days " & Hours & " hours"
In your visual e.g., a table or matrix, add the "Stage" field to the rows.Add the Total_Duration measure to display the summed duration per stage.
Proud to be a Super User! | |
Thank You both @rajendraongole1 and @Anonymous
i used @rajendraongole1 approach, @Anonymous as i was unsure of calculations having both max when i have in pivot visual slicing and dicing
I think i have it incorrect with the total and it needs to be an average time per stage or sub stage
How would I change the total duration to average if it is by opportunity, stage and sub stage, does it mean i have to calc the distinct opportuntity first "sales force data"?
please help
Hi,
Any update on calculating the average between 2 date fields "from and to"?
Regards
Check out the April 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
User | Count |
---|---|
30 | |
27 | |
21 | |
12 | |
12 |