I need to display a task's shrunken duration after filtering out its subtasks.
For example, task A has 3 sub-tasks and each sub-task contributes a day. If I filter out one of the sub-tasks, I need to display a new duration of the task A which needs to be 2 days.
How can I do this?
- 已移動 Max MengMicrosoft Contingent Staff 2012年4月4日 1:58 Moving to a more appropriate forum (From:Office 2010 Application Compatibility)
Well, this isn't as straightforward as you might think. You won't be able to use a formula in a customized field but you could use an extra duration field (e.g.Duration1) with some VBA. However I think you best bet is to create a group instead of a filter. For example, let's say you are using Flag1 as the criteria for your filter. Instead, create a group that groups by Flag1 and leave the default option to not show summary lines in the group. The group summary line will effectively be your new "Task A".
If you are using Project 2010 there is one more little thing. When creating your group use the Scheduled Duration field instead of the Duration field, otherwise you will not get the correct result on the group summary line.
Hope this helps.
Please provide more details on the scenario, like - are the sub-tasks linked, when you say new duration for Task A (I assume from your questions) duration of a Summary Task gets changed based on the change duration of sub-tasks. Also tell us if the task is Auto or Manual scheduled.
Thanks for your help.
Here is what I am trying to do. I have a Task named A and another Task named B. The task summary B has sub-tasks, Ba, Bb, Bc, and Bd. Ba is a successor of Task A. Bb is not linked or depending on anything. Bc and Bd are linked together.
Task A is a milestone and each of those sub-tasks takes one day to complete. So Task B takes 4 days if one resource does it.
After the project completes, I find a change in the milestone task A. I don't want to do the project all over again. So, I trace tasks depending on the task A. That will be task Ba only. I filter out the other tasks (Bb, Bc, and Bd). When I display the remaining tasks, it will be task A and task summary B and Ba.
In this case, I will know how long it will take to complete the project for the change in task A. It is one day. I want to display this in the task summary B. However, the task summary still shows 4 days. How can I make it re-calculate the new duration?
The tasks are auto scheduled.
You cannot re-calculate the Duration field for a summary task mainly because a summary line is not a task, despite what the nomenclature says. A summary line is simply a summary of the data of the performance tasks under it, whether they are filtered for viewing or not. Project always calculates summary line duration, it is not a user definable field.
I already described how you can display what you want in my original response. Did you try that?
2012年4月4日 16:26版主To chime in here -- you use the term "filter-out" -- if you are using Project 2010 -- have you experimented with Inactive tasks? You can set subtasks to inactive and assuming they are linked together, the summary task's duration will decrease when you inactive a subtask.
Thanks for "chiming in". I haven't explored the inactive task option.
As Julie suggsted if the tasks are not updated with some % Complete, you can mark them as Inactive by Right Clicking and they won't roll up to Summary Task Duration. It is a clean and simple process if tasks don't have actuals.
It is not a scenario which would work in all the cases, as each task have to honor its linkages and Summary Task gets it Duration based on the sub-task's linking, yet if I assume the simplest case that you are looking for it can be done as follow :
Task A is Predecessor of Task Ba (and all other sub tasks Bb,Bc,Bd and other Tasks in project is completed, its just that A and hence Ba are deciding the final Finish) you want to Filter A , B and Ba.
1. Create a Custom field Duration1 with Formula - IIf([% Complete]<>100,[Duration],0) and in "Calculation for Group or Summary Task" I assume you would suggest 'Maximum' (based on your current case).
2. Create a Filter as % Complete - does not equals -100 and select check-box - show related Summary Task.
This will filter out:
Task ID Task % Complete Duration Predecessor
3 A 0% 1d
4 -B 75% 1d
5 Ba 0% 1d 3
NOTE : But having said that, this works only in scenario as straight n simple as you defined and not in all the cases, as linking may change hence the Formula need to be changed along with the Filter conditions. Would suggested you to let the normal alogrithms of MS Project work and have this as a training need for your Client that they understand the way tool reflects its Calculations by default. Group approach is another option you can try as John suggested in his first post.
- 已編輯 Sapna Shukla - Project MVPMVP, Moderator 2012年4月5日 13:39
I may have another solution for you, it depends if i understood you explanation correctly.
I under stand that you filter out tasks Bb,Bc,Bd that are completed and Milestone A is rescheduled to be done in the future.
Is it scheduled to be done in the current day, tomorrow , in the future (next week Etc...) ??
A is a predecessor of Ba which needs to be done again (i don't know if you re-create it or delete the actual values back to 0% complete)
What i suggest you to do is to use one or all of the following:
- Add Remaining Duration column and look at the value of the summary task (B) - if Ba is scheduled to start at the current date (today) it will be 1 day of remaining duration for the task Ba and also for the Summary task B, if it is schedule to start in the future then the remaining duration of task Ba will be 1 day but the summary task will show a remaining duration of [Finish - Today] days - this means the amount of days left to the finish date of the summary B.
- Add the Remaining Work column, it will show how many days of work is left for each task and for the summary task B - in your case it will show Remaining work of 1 day for B, because the whole summary have 1 more day of work left in task Ba (not calendar days but working days). This will show what you want to see...
- If you want to use the remaining duration cut you want to see 1 day (like in remaining work) even if the task Ba is scheduled to start in the future, then you can add a row above Ba (for example call it B1) and indent Ba under B1 so that B1 will be the summary of Ba and B will be the summary of B1. you will see your wanted result in the remaining duration of B1. (you can also call it something like: B - Remaining tasks)
Hope this helps!
Ofir Marco , MCTS P.Z. Projects
Please re-post if this is still an issue..