Forum Discussion
shansenTrek
6 years agoFrequent Visitor
Average Days to Complete a Task
Hi Team, First time poster, long time reader/follower. I am trying to create a measure to give me the average days to complete a task. We have multiple people working on several projects tha...
- 6 years ago
Perhaps:
Avg # of Days =
VAR __Table =
SUMMARIZE(
'Table',
[Project],
"Start Date",FIRSTDATE( 'Table'[Date] ),
"Last Date",LASTDATE( 'Table'[Date] ),
"# of Days",DATEDIFF( [Start Date] , [Last Date] , DAY )
)RETURN
AVERAGEX(__Table,[# of Days])
shansenTrek
6 years agoFrequent Visitor
Will this work? I'm new to this so let me know if there is an easier way to do it.
| Date | Hours | Employee Name | Region | Project Name | Task Names |
| 08/19/2019 | 8 | Susan | West | Project A | Task 3 |
| 08/20/2019 | 8 | Susan | West | Project A | Task 3 |
| 08/21/2019 | 8 | Susan | West | Project A | Task 3 |
| 08/16/2019 | 8 | Susan | West | Project A | Task 3 |
| 08/14/2019 | 8 | Susan | West | Project A | Task 3 |
| 11/05/2019 | 9 | Joe | East | Project C | Task 3 |
| 11/08/2019 | 10 | Joe | East | Project C | Task 3 |
| 11/07/2019 | 8 | Joe | East | Project C | Task 3 |
| 06/03/2019 | 4 | Mike | West | Project B | Task 1 |
| 05/28/2019 | 7 | Mike | West | Project B | Task 1 |
| 05/30/2019 | 4 | Mike | West | Project B | Task 1 |
| 05/29/2019 | 8 | Mike | West | Project B | Task 1 |
| 05/03/2019 | 1 | Mike | West | Project B | Task 1 |
| 06/04/2019 | 8 | Susan | West | Project A | Task 1 |
| 06/03/2019 | 8 | Susan | West | Project A | Task 1 |
| 10/08/2019 | 2 | Joe | East | Project C | Task 1 |
| 02/19/2020 | 3 | Mike | West | Project B | Task 5 |
| 03/25/2020 | 12 | Susan | West | Project B | Task 4 |
| 03/24/2020 | 8 | Susan | West | Project B | Task 4 |
| 01/22/2020 | 5 | Mike | West | Project B | Task 4 |
| 11/18/2019 | 6 | Joe | East | Project C | Task 4 |
| 11/22/2019 | 8 | Joe | East | Project C | Task 4 |
| 11/21/2019 | 9 | Joe | East | Project C | Task 4 |
| 10/18/2019 | 8 | Susan | West | Project A | Task 4 |
| 10/17/2019 | 8 | Susan | West | Project A | Task 4 |
| 10/16/2019 | 8 | Susan | West | Project A | Task 4 |
| 10/15/2019 | 8 | Susan | West | Project A | Task 4 |
| 01/29/2020 | 2 | Joe | East | Project C | Task 4 |
| 10/25/2019 | 8 | Joe | East | Project C | Task 2 |
| 10/23/2019 | 8 | Joe | East | Project C | Task 2 |
| 10/22/2019 | 8 | Joe | East | Project C | Task 2 |
| 10/21/2019 | 8 | Joe | East | Project C | Task 2 |
| 07/24/2019 | 8 | Susan | West | Project A | Task 2 |
| 07/23/2019 | 8 | Susan | West | Project A | Task 2 |
v-alq-msft
6 years agoCommunity Support
Hi, shansenTrek
Based on your description, I created data to reproduce your scenario.
Table:
You may create two measures as below.
SumDays =
var t1 =
SUMMARIZE(
'Table',
'Table'[Project Name],
'Table'[Task Names],
"Start Date",FIRSTDATE('Table'[Date]),
"Last Date",LASTDATE('Table'[Date])
)
var t2 =
ADDCOLUMNS(
t1,
"# of Days",DATEDIFF([Start Date],[Last Date],DAY)
)
var _task = SELECTEDVALUE('Table'[Task Names])
return
SUMX(
FILTER(
t2,
[Task Names] = _task
),
[# of Days]
)
AvgDays =
var t1 =
SUMMARIZE(
'Table',
'Table'[Project Name],
'Table'[Task Names],
"Start Date",FIRSTDATE('Table'[Date]),
"Last Date",LASTDATE('Table'[Date])
)
var t2 =
ADDCOLUMNS(
t1,
"# of Days",DATEDIFF([Start Date],[Last Date],DAY)
)
var _task = SELECTEDVALUE('Table'[Task Names])
return
DIVIDE(
SUMX(
FILTER(
t2,
[Task Names] = _task
),
[# of Days]
),
COUNTROWS(
FILTER(
t2,
[Task Names] = _task
)
)
)
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.