For those who are becoming familiar with Deltek Cobra, one of the more important concepts you should be highly aware of is the indelible relationship between the Deltek Cobra calendars, and the various format reports.
While this article shows examples using Deltek Cobra version 8.2, the principals discussed here are true of every version of Cobra going back to the old FoxPro versions: so fasten your seatbelts folks, this is Cobra principals 101 in action.
If you’ve spent any time with Deltek Cobra or any other EVM software package, you will already be very aware of the importance of the fiscal calendar with relation to the project reporting periods. It’s the foundation of the project and your month end dates should always exactly align with your companies financial period end dates.
That’s rule number one, no matter how awkward or inconvenient those dates might be to load into Deltek Cobra. By that I mean, Cobra can easily setup a fiscal calendar for you if your company is using a standard calendar month end financial period, or one of the more common 4-4-5 week financial reporting cycles. If, however you are using last Friday of the Month, or 4-4-5 but year-end is always on December 31st, some manual intervention will be required during initial calendar setup. The good news is that you only ever need to build a calendar once. It can easily be copied, made global and such to recycling on all your projects going forward.
What I want to focus on here however, it the importance of the relationship between the Deltek Cobra calendars you are using, and the reports you will need to run once the project goes live.
When you create a new calendar, you will see that it always has three standard calendar sets: Calendar set 00, 18 and 19.
A Calendar Set is a specific variant of the base calendar that uses labels and flags (I’ll show you these shortly) to support a particular format or style of report. While it’s a little puzzling at first, the concept is actually quite well designed. You have to ask yourself, how would I support the various calendar formats required by the EVM Data Item Descriptions (DiDs) if I were tasked with designing such a feature? CPR Format 1, for example shows current periods, and cumulative data, whereas CPR Formats 3 and 4 display the next six months values, and then specified periods.
Flags and Labels
The answer to the design question was to employ flags and Labels.
Flags are either an asterisk, or a dollar symbol. Asterisks are known as floating flags, meaning they move in lock step with the status date, and Labels are simply alphanumeric values that describe a particular date position on the Calendar. Whenever there is a flag and a label together on a particular date, Cobra will know to output that value to a report.
Labels can exist without out a flag, but flags cannot exist unless next to a label. Unlabeled flags will prevent you saving the Calendar.
Different reports use different calendar sets, and different calendar sets have different arrangements of flags and labels depending on the output you are trying to achieve. For example the following reports use the following calendar sets:
- IPMR CPR Format 1 & 2 – Calendar set 18 – Previous, Todate, At Completion
- IPMR CPR Format 3 & 4 – Calendar set 19 – Specified Periods
- IPMR CPR Format 5 – Calendar set 18 – Previous, Todate, At Completion
- Time-phased reports – Calendar set 00 – Basic Calendar Set
PREVIOUS and TODATE Labels and Flags
These two floating labels are a special case. When you advanced the Deltek Cobra calendar to the next reporting period, these two labels move in lockstep to the next period in the Calendar. Todate will be sitting on the current period date row, and previous is always directly above it.
Much like an old married couple, these two flags are always together.
Between the Flags
Any un-flagged rows between two flags will sum the periods between them into the next flagged row.
In the case of Calendar Set 18, The PREVIOUS flag contains the sum of all prior periods, and the period it is sitting on.
Take a look that the following example:
Imagine we have a project that has a planned value (Budget) of $1,000 per month. When we run an IPMR CPR Format 1 we need the current period values, cumulative values, and BAC for the Budget At Completion column. The diagram below shows how a row with a flag will output the value at that point. PREVIOUS is holding a total of all prior periods and the period it is sitting on. TODATE has just the value for the period it is sitting on, and the ATCOMPLETE is holding all the remaining period values.
When we wish to report cum to date values, we simply add the PREVIOUS and TODATE values together. In this case, cum to date is $5,000 + $1,000 = $6,000.
To report BAC, simply add all three flags together $5,000 + $1,000 + $6,000 = $12,000.
You can actually see this happening in the report templates by looking at the tags for the particular columns. Click to enlarge this image. It shows you the math above being carried out in each of the Budget fields of a standard IPMR CPR Format 1. The key below the image will help you better understand the tag syntax.
CostSet1.Period2.Value – This means output the value of CostSet1 (Budget), Period2 (TODATE) in this cell.
Here is a slightly more graphical way to display the concept of the flags and labels.
The last example in this discussion is found in Calendar Set 19, Specified Periods. Used by the Format 3 and 4 reports, it is a prime example of the way flagged periods will sum any prior un-flagged periods.
Using colors to show how each flagged period sums any prior un-flagged periods, you can see how the specified periods will sum the values in the previous two periods after the flag. So the QTR 1 2019 fixed flag will output $3,000 by adding the Jan, Feb and Mar 2019 periods together.
Note also how we use floating flags (asterisks) for the next six months, and fixed flags for the quarters because we don’t want those flags moving down one period when the calendar is advanced and the TODATE move forwards.
There is one more illustrative point in the above diagram: Jan and Feb 2019 have a label, but no flag, so no value will be output on these periods. When the TODATE moves however, the floating flags will move down and the Jan 19 flag and label combo will output the January value.
You have just seen a fairly detailed explanation of the relationship between Deltek Cobra calendars and the reports they are built to support. Key takeaways from this should be the concept of a floating and fixed flag. And related to this is the concept of how Cobra will sum values for any un-flagged periods into the next flagged period.
And a funny story to illustrate what happens when a calendar gets adjusted and flags go missing: I was recently sent a CPR Format 1 that was only displaying in-progress work packages and control accounts. Anything that was planned to start after the status date was simply missing from the CPR. After spending some time digging around for the solution, it finally occurred to me to check the project’s calendar set 18. Sure enough the ATCOMPLETE flag and label had somehow been deleted from the last period in that one calendar set.
I restored the ATCOMPLETE flag and label, saved the calendar, ran the CPR once more and viola – all data present and correct. Without the ATCOMPLETE flag and label, Deltek Cobra had no way to calculate and output the future budget values. Hence, only current and prior periods showed up because there were simply no values after that as far as Cobra could tell.
My thanks to go out to this dear customer for sending me the problem – it was the event that inspired this blog and I always appreciate the opportunity to solve a mystery once in a while. So if you ever have weird things occurring with your reports, always make sure that the calendar set is part of your diagnostic process. You’d be surprised how many times that strong relationship between Deltek Cobra calendars and reports can manifest itself when the calendar is somehow off.