How is the Gantt histogram computed? It seems to take 3 overlapping tasks to get over 100%.
I've tried playing with TaskEffort values, but nothing seems to happen.
Thanks,
dave
Comments
After playing with this a bit more I think I have figured out the following:
If TaskEffort is set then that task's "utilization" (as a daily %) is TaskEffort / TaskDuration.
If TaskEffort is not set it seems to be 20% or something like that for some reason.
There seems to be a bug that utilization is only recomputed when you change TaskDuration. So if you change TaskEffort you will not see it update until you change TaskDuration.
One other key consideration is that TaskEffort is adjusted for non-workdays. So the current utilization formula is actually TaskEffort / WORKDAYS(TaskStart, TaskEnd) rather than TaskEffort / TaskDuration.
What I am doing for now is setting TaskEffort to =[TaskDuration] and leaving non-workdays off.
I don't know if this is of any interest to you but I personally like to calculate the task effort in relation to hours of work, not days. So I workaround the current gantt calculations with that silly little function in which I divide a daily value (dureeQuot, in hours) by the number of hours there is in a day of work (I established 10).
Function ValTaskEffort(DureeQuot,TaskDuration)
If TaskDuration = 0 then TaskDuration = 1 'I decided that 1 would be the smallest allowed multiplier for practical reasons (1 = 1 day) If Dureequot > 0 Then ValTaskEffort=dureequot/10 * TaskDuration Else ValTaskEffort = 0 End If
End Function
ValTaskEffort is the returned value, the task effort for which 1 = 100% (1 = 1 day of work)
DureeQuot is a value corresponding to the amount of time a task needs to worked at everyday for it to be completed (e.g. : 2 hours), but this is calculated by another function which I won't show here as I would have to sit here for an hour explaining everything. It's a pretty long function depending on several (too many!) parameters/fields: CalcDureeQuot(DureeQuot,dureetot,taskduration,NbrJrSem,[Task%Complete],TaskActEnd,TaskActStart,task, projet, étape)
TaskDuration is a value in "hours" (decimal) that the task will tak (e.g. 100 hours)
"10" is just a literal corresponding to number of hours I've assigned to my work days.
Comments
If TaskDuration = 0 then TaskDuration = 1 'I decided that 1 would be the smallest allowed multiplier for practical reasons (1 = 1 day)
If Dureequot > 0 Then
ValTaskEffort=dureequot/10 * TaskDuration
Else ValTaskEffort = 0
End If
End Function