locked
Does PS 2010 use TimeScaleData interval rounding for internal computation? RRS feed

  • Question

  • Is there any change from PS 2007 concerning interval rounding calculations? PS 2010 offers tools to analyze the portfolio based upon time-phased resource requirements; I don't know whether rounding impacts the calculation of work "under the hood" in calendar time-slicing computation.

    MS Project VBA Book's reference to TimeScaleData describes interval rounding.

    For an interval--"time bucket"--of (say) a month, rounding means that a task start date of 21 July 2010 is treated for calculation purposes of starting on 1 July 2010. Similarly a task end date of 15 September 2010 "translates" to 30 Sept 2010.

    Given a five-day, 8-hours per day resource calendar (we could also factor in holidays) and midnight-to-midnight reckoning of day start, a resource on a task that has the above start date and end date (100% assignment), the planned resource load is 8 days in July, 22 days in August, and 10 days in September for a work duration of 40 days.

    With interval rounding, the time-phased duration is 22 days in July, 22 days in August, and 22 days in September—a work duration of 66 days.

    For one-day accuracy in time-phased data, a computation function would prorate work in each month: 8/22 in July; 22/22 in August; 10/22 in September.

    I would be grateful for any clarification of interval rounding in PS 2010.

    Thanks.

    --John

    Saturday, August 21, 2010 8:31 PM

Answers

  • Hi, Rod,

    I've ask this earlier but it may have fallen through the cracks. Would you please clarify (or confirm) what interval rounding means in TimeScaleData?

    TimeScaleData Method documentation at http://msdn.microsoft.com/en-us/library/ff868163.aspx:

    "The start date for the timephased data. If the start date falls within an interval, it is "rounded" to the start of the interval. For example, if TimeScaleUnit is pjTimescaleWeeks and StartDate specifies a Wednesday, the start date is rounded to the preceding Monday (assuming that the work week starts on a Monday)."

    Does rounding mean that the allocation of work simply depends upon the time scale selected? For a 40-day task that begins Friday, 10 September 2010, and five-day work week calendar:

    • Week interval rounds the task start date to Monday, 6 September; 1 task working day during that interval; remaining work in subsequent weeks
    • Month interval rounds the task start date to Wednesday, 1 Sepember; 15 task working days during that interval; remaining work in subsequent months
    • Quarter interval rounds the task start date to Thursday 1 July; 37 task working days during that interval; remaining work in subsequent quarter

    If this is the way TimeScaleData behaves, I suggest that interval assignment is more appropriate than interval rounding in Microsoft's documentation. This revision would minimize confusion concerning precision and accuracy.

    Thanks very kindly. 

    BTW, will you be posting a description summarizing additional content in Developer's Guide to Microsoft Project Server 2010 compared to your earlier Project VBA book? Anticipated release date for your new title is 1 November 2010 on Amazon.

    --John

    Thursday, September 9, 2010 9:41 PM

All replies

  • If you're talking VBA then the timescaledata function does not round. If you specify a period of Monthly, then it always considers the entire month. If the start date is half way thru a month, then the whole of that month is included.
     
    If you specify days as the time interval, only whole days are considered so if the Start date has a time as well of 12:00 mid-day, then the whole day is included.
     
    If you only want the first 14 days for a month then set a start and end date for that period but use days instead of months.

    --

    Rod Gill
    Microsoft MVP for Project - http://www.project-systems.co.nz
     
    Author of the only book on Project VBA, see: http://www.projectvbabook.com
     

     
    "john.andrew" wrote in message news:f2596063-25e8-4e40-a13e-6fac394fddbb...
    Is there any change from PS 2007 concerning interval rounding calculations? PS 2010 offers tools to analyze the portfolio based upon time-phased resource requirements; I don't know whether rounding impacts the calculation of work "under the hood" in calendar time-slicing computation.

    MS Project VBA Book's reference to TimeScaleData describes interval rounding.

    For an interval--"time bucket"--of (say) a month, rounding means that a task start date of 21 July 2010 is treated for calculation purposes of starting on 1 July 2010. Similarly a task end date of 15 September 2010 "translates" to 30 Sept 2010.

    Given a five-day, 8-hours per day resource calendar (we could also factor in holidays) and midnight-to-midnight reckoning of day start, a resource on a task that has the above start date and end date (100% assignment), the planned resource load is 8 days in July, 22 days in August, and 10 days in September for a work duration of 40 days.

    With interval rounding, the time-phased duration is 22 days in July, 22 days in August, and 22 days in September—a work duration of 66 days.

    For one-day accuracy in time-phased data, a computation function would prorate work in each month: 8/22 in July; 22/22 in August; 10/22 in September.

    I would be grateful for any clarification of interval rounding in PS 2010.

    Thanks.

    --John



    __________ Information from ESET Smart Security, version of virus signature database 5385 (20100821) __________

    The message was checked by ESET Smart Security.

    http://www.eset.com

    The one and only Project VBA Book Rod Gill Project Management
    Sunday, August 22, 2010 7:25 AM
  •  

    Rod (and others),

    My understanding of your answer is that VBA itself does not significantly round time-phased data when one selects small enough time slices, such as hours or days. For larger intervals--month, quarter, year---any script that uses TimeScaleData function is subject to interval rounding.

    1. Does this same (or similar) interval rounding also apply to built-in, out-of-the box PS 2010 for allocating forecasted work? For example, Time-phased Resource Planning > Analyze properties > Analyze the planned data against organization capacity.

    2. To display time-phased forecasted resource load in months or in quarters for the 2010-2015 time horizon (50 of 1200-1500 selected enterprise resources in a given report; 900-1500 projects in production portfolio), is it readily feasible for PS 2010 to provide planned work data accuracy to one day with decent performance?

    Thanks for your respsonse and writing your insightful VBA Project book--which I hope you will update for PS 2010.

    --John

    Sunday, August 22, 2010 1:29 PM
  • Hi,
     
    There is no rounding at all. Rounding suggests reducing accuracy. Project delivers accurate monthly totals if you select Monthly intervals. If you don't want whole months, then you need to read timescaledata by week or day. Again, there is no rounding, you choose what time period to use. So quarters are 100% accurate, exactly as displayed in the Usage Views. If you want a daily value for work, clearly the usage View on weekly or bigger doesn't work.

    --

    Rod Gill
    Microsoft MVP for Project - http://www.project-systems.co.nz
     
    Author of the only book on Project VBA, see: http://www.projectvbabook.com
     

     
    "john.andrew" wrote in message news:b5cd4e82-901d-4a08-8ac8-cd6c005e4dbf...

     

    Rod (and others),

    My understanding of your answer is that VBA itself does not significantly round time-phased data when one selects small enough time slices, such as hours or days. For larger intervals--month, quarter, year---any script that uses TimeScaleData function is subject to interval rounding.

    1. Does this same (or similar) interval rounding also apply to built-in, out-of-the box PS 2010 for allocating forecasted work? For example, Time-phased Resource Planning > Analyze properties > Analyze the planned data against organization capacity.

    2. To display time-phased forecasted resource load in months or in quarters for the 2010-2015 time horizon (50 of 1200-1500 selected enterprise resources in a given report; 900-1500 projects in production portfolio), is it readily feasible for PS 2010 to provide planned work data accuracy to one day with decent performance?

    Thanks for your respsonse and writing your insightful VBA Project book--which I hope you will update for PS 2010.

    --John



    __________ Information from ESET Smart Security, version of virus signature database 5387 (20100823) __________

    The message was checked by ESET Smart Security.

    http://www.eset.com

    The one and only Project VBA Book Rod Gill Project Management
    Monday, August 23, 2010 8:04 AM
  • Hello, Rod,

    There are at least two distinct elements involved in resource forecasting:

    1. Accuracy of individual forecasted work for any single resource on a specified task for a particular start date and end date using a defined calendar.

    2. Correct allocation of calculated forecasted work to to time intervals in order to allow valid consolidation of that work across a portfolio of projects.

    On number 1: I agree with you that PS 2010 (and 2007) can compute work demand as a single total based upon percentage allocated and duration.

    For number 2: When the analysis uses time intervals beyond a day, the allocated demand that is computed accurately will not consistently allocate precisely to weekly, monthly, quarterly, or annual time buckets whenever any task's start date and end date vary from the selected time interval.

    A common query we deliver in long-range resource forecasting is the number of FTE for each enterprise resource to perform all assigned tasks over the next five years by month or by quarter. When the time-slicing has one-day precision, we can confidently consolidate indvidual work contributions across the tasks in 1500 projects.

    On the other hand, if we must live with interval rounding, we lower the confidence that PS 2010 can report time-phased data using built-in consolidated views. In large portfolios, extracting to Excel by day intervals and making the aggregation to months or quarters is not practical because of the enormous number of cells. We need robust analysis functions within PS 2010.

    Day-precision for allocation of forecasted data to the month or quarter over five years has been a longstanding business expectation. Fulfilling this within PS 2010 seems to be challenging. Please let me know what I am missing.

    Thanks again for your comments.

    --John

    Monday, August 23, 2010 1:38 PM
  • I still don't understand where you are getting rounding from, Project has never rounded data for monthly or quarterly periods as far as I know? If you look in the Resource usage view and set timescale to monthly do you see accurate (expected) total hours per month? Because the monthly figures you see there are exactly what the timescaledata method returns.
     
    If you don't see the work you expect, (assuming all workload has been scheduled as accurately as known at the time and is visible in the view), what do you expect?
     
    If you don't like the Usage View, you can create an SQL View that reports by month or quarter etc by reading the timephased data in the reporting db.

    --

    Rod Gill
    Microsoft MVP for Project - http://www.project-systems.co.nz
     
    Author of the only book on Project VBA, see: http://www.projectvbabook.com
     

     
    "john.andrew" wrote in message news:2f8029fd-b023-4613-84c0-64c4258e6f72...

    Hello, Rod,

    There are at least two distinct elements involved in resource forecasting:

    1. Accuracy of individual forecasted work for any single resource on a specified task for a particular start date and end date using a defined calendar.

    2. Correct allocation of calculated forecasted work to to time intervals in order to allow valid consolidation of that work across a portfolio of projects.

    On number 1: I agree with you that PS 2010 (and 2007) can compute work demand as a single total based upon percentage allocated and duration.

    For number 2: When the analysis uses time intervals beyond a day, the allocated demand that is computed accurately will not consistently allocate precisely to weekly, monthly, quarterly, or annual time buckets whenever any task's start date and end date vary from the selected time interval.

    A common query we deliver in long-range resource forecasting is the number of FTE for each enterprise resource to perform all assigned tasks over the next five years by month or by quarter. When the time-slicing has one-day precision, we can confidently consolidate indvidual work contributions across the tasks in 1500 projects.

    On the other hand, if we must live with interval rounding, we lower the confidence that PS 2010 can report time-phased data using built-in consolidated views. In large portfolios, extracting to Excel by day intervals and making the aggregation to months or quarters is not practical because of the enormous number of cells. We need robust analysis functions within PS 2010.

    Day-precision for allocation of forecasted data to the month or quarter over five years has been a longstanding business expectation. Fulfilling this within PS 2010 seems to be challenging. Please let me know what I am missing.

    Thanks again for your comments.

    --John



    __________ Information from ESET Smart Security, version of virus signature database 5391 (20100823) __________

    The message was checked by ESET Smart Security.

    http://www.eset.com

    The one and only Project VBA Book Rod Gill Project Management
    Tuesday, August 24, 2010 9:56 AM
  • Rod,

    You're right. I confirmed that MS Project internally allocates forecasted work to the proper week, month, quarter, year. I apologize for not verifying my hypothesis earlier, directly in the application.

    My concern arose out of the TimeScaleData Method documentation at http://msdn.microsoft.com/en-us/library/ff868163.aspx:

    "The start date for the timephased data. If the start date falls within an interval, it is "rounded" to the start of the interval. For example, if TimeScaleUnit is pjTimescaleWeeks and StartDate specifies a Wednesday, the start date is rounded to the preceding Monday (assuming that the work week starts on a Monday)."

    Here is what remains unclear. For a resource assigned to a 40-day (Standard calendar) task that begins 21 July 2010 with a time slice or "bucket" (TimeScaleUnit) of month (starting 1 July 2010): 

    Case A: If "rounded" means treated as though a task's start date is the same as the interval start date,  I infer some reduction in accuracy for allocated proportion of work that is planned for July 2010. 

    Case B: If "rounded" means that when a task's start date is later than the specified interval's start date, that task's start date belongs to that interval--July in this example. Forecasted work remains 8 days for July (Same logic holds for end date.)

    If the documentation better reflects case A, then I would be very hesitant to use TimeScaleData Method in resource forecasting from PS 2010. If case B, I should probably recommend a re-write of the documentation to remove the ambiquity.

    Thanks again for your kind help.

    --John

     

    Tuesday, August 24, 2010 3:00 PM
  • Hi, Rod,

    I've ask this earlier but it may have fallen through the cracks. Would you please clarify (or confirm) what interval rounding means in TimeScaleData?

    TimeScaleData Method documentation at http://msdn.microsoft.com/en-us/library/ff868163.aspx:

    "The start date for the timephased data. If the start date falls within an interval, it is "rounded" to the start of the interval. For example, if TimeScaleUnit is pjTimescaleWeeks and StartDate specifies a Wednesday, the start date is rounded to the preceding Monday (assuming that the work week starts on a Monday)."

    Does rounding mean that the allocation of work simply depends upon the time scale selected? For a 40-day task that begins Friday, 10 September 2010, and five-day work week calendar:

    • Week interval rounds the task start date to Monday, 6 September; 1 task working day during that interval; remaining work in subsequent weeks
    • Month interval rounds the task start date to Wednesday, 1 Sepember; 15 task working days during that interval; remaining work in subsequent months
    • Quarter interval rounds the task start date to Thursday 1 July; 37 task working days during that interval; remaining work in subsequent quarter

    If this is the way TimeScaleData behaves, I suggest that interval assignment is more appropriate than interval rounding in Microsoft's documentation. This revision would minimize confusion concerning precision and accuracy.

    Thanks very kindly. 

    BTW, will you be posting a description summarizing additional content in Developer's Guide to Microsoft Project Server 2010 compared to your earlier Project VBA book? Anticipated release date for your new title is 1 November 2010 on Amazon.

    --John

    Thursday, September 9, 2010 9:41 PM
  • Hi,

    There is no rounding of data. However, if you specify weeks as your time interval and your start date is a Wednesday and your week starts on Monday, the Timescaledata function takes the first time interval as the whole week starting on the Monday thru to end of next Sunday, including all work for that week. This is exactly what you see in the usage Views.

    If you want work from a Wednesday to  the following Wednesday you would need to read daily data for 7 days. Again there would be no rounding.

    There will be no new timescaledata wording in the new book as Project 2010 is exactly the same as Proejct 2007. I do however cover creating Add-ins using VSTO and Visual Studio.

    Happy programming!


    Rod Gill

    The one and only Project VBA Book Rod Gill Project Management
    Friday, September 10, 2010 7:38 AM
  • Thanks, Rod,

    Your response confirms to me that Microsoft's documentation for TimeScaleData would benefit from some modest copy editing. Describing this as interval rounding is somewhat ambiguous. 

    Assigning work to a time interval has nothing to do with "rounding" per se. Interval assignment, as you nicely clarified, is conceptually distinct from rounding in relation to data accuracy. 

    Selecting a time interval in TimeScaleData function results in mapping each task's start date and end date to the proper interval(s). It simply means proper allocation--placing the appropriate part of work into "mapped" time-phased units that the developer/user specifies.

    Consistent time intervals simplify consolidation of forecasted work across tasks. TimeScaleData facilitates our view of task work in specified "time buckets" of day, week, month, quarter, etc.

    Please accept my apologies for drawing this question on so long. In retrospect, interval assignment/mapping is quite simple.

    --John

    Friday, September 10, 2010 2:12 PM