Using Custom Enterprise Fields
You have the ability to mold the raw functionality provided in Project server 2010 to shape and channel information to your organization’s specific requirements. Although the built-in generic information streams provide useful tracking and statistical data, you present more meaningful information by seeding the database with custom attributes. These attributes exist in Project Server 2010 as custom fields, which come in two flavors: enterprise and local.
You can use Project Web App or a custom Project Server Interface (PSI) application to create and edit enterprise custom fields and lookup tables. Microsoft Project Professional 2010 allows you to view and select enterprise custom fields but does not allow you to edit them. If an enterprise custom field requires a lookup table, create the lookup table first. Lookup tables can be shared by multiple custom fields. Lookup tables replace value lists in versions of Microsoft Project up through Microsoft Office Project 2003.
Why Enterprise Fields are Important
Project stakeholders and management often have difficulty accessing relevant project information across a portfolio of projects. Project Web Access gives you the opportunity to capture and display this information in convenient custom Views. These Views bring the metadata associated with a project to the public eye, including information about budget and schedule variance
Understanding Enterprise Field Types
Project Server 2010 offers six types of custom enterprise fields at the Task, Resource, and Project level. Previous versions of Microsoft Office Project Server offered you a limited number of custom fields; however, Project Server 2010 offers you an unlimited number of each of the following field types:
- Enterprise Cost
- Enterprise Date
- Enterprise Duration
- Enterprise Flag
- Enterprise Number
- Enterprise Text
Previous versions of Microsoft Office Project Server offered custom enterprise outline codes in addition to enterprise fields. Project Server 2010 does not offer outline codes, but offers nearly the same functionality using an enterprise fields containing a hierarchically structured Lookup Table.
Creating Lookup Tables with Project Web App (PWA)
Before defining an enterprise field, you must determine whether it requires a Lookup Table. First create your Lookup Tables and then apply the Lookup Tables when you create a new custom enterprise fields that require them.
In Project Web App, click Server Settings in the Quick Launch, and then click Enterprise Custom Fields and Lookup Tables in the Enterprise Data section of the Server Settings page. Scroll down the page to the Lookup Tables for Custom Fields section of the Enterprise Custom Fields and Lookup Tables page; click the New Lookup Table button. Figure 2-1 shows the New Lookup Table page.
You can create the following types of lookup tables. There is no Flag type for lookup tables.
A lookup table of type Text can be hierarchical and includes a code mask. A hierarchical text lookup table acts as an outline code. For example, in Figure 1, the top-level values are limited to two uppercase letters. The sublevels can include any number of characters; levels are separated by a dot (.) in the code mask. Lookup tables of type Cost, Date, Duration, and Number can include a list of values but cannot be hierarchical and do not include a code mask. Lookup table values of any type can include a description. Figure 2-2 shows the Lookup Tables for Custom Fields section after creating the lookup table in Figure 2-1.
NOTE: You cannot delete or rename the default lookup tables, which include Department for departmental custom fields, RBS for the resource breakdown structure, and State for the state of project proposals. Department and RBS do not have any default values; a Project Server administrator can edit the lookup tables. The default State values (Proposed, Approved, and Rejected) cannot be changed.
Creating a New Custom Field
To create a new custom field, complete the following steps:
- Log into Project Web Access
- Click the Server Settings link in the Quick Launch menu.
- Click the Enterprise Custom Fields and Lookup Tables link in the Enterprise Data section of the Server Settings page.
Under Enterprise Custom Fields, click on the New Field button (Figure 2-3)
You can choose one of the following Project Server entities:
In the Custom Attributes section (Figure 2-4), you can choose whether the custom field uses a lookup table, a formula, or has no custom attribute. Some custom field types are limited in custom attributes; for example, a Flag custom field cannot have a lookup table or use a formula. If you select a lookup table, you can optionally select a default value and whether to allow hierarchical codes and multiple values. Other options include whether to display data or graphical indicators, and whether selecting a field value is required in enterprise projects.
The Custom Fields and Lookup Tables page consists of two sections. Use the options in the Enterprise Custom Fields section to create new enterprise fields or to copy or delete an existing field. Use the options in the Lookup Tables for Custom Fields section to create a new Lookup Table, or to copy or delete an existing Lookup Table.
Project Server 2010 contains five built-in custom fields and four built-in Lookup Tables. These built-in custom fields and Lookup Tables are as follows:
- The Cost Type field is a Resource text field containing the Cost Type lookup table. The Cost Type lookup table contains a single-level Code Mask, but contains no values in the actual Lookup Table. You must customize the Cost Type lookup table to mold its functionality to your resource costing requirements.
- The Health field is a Task text field containing the Health lookup table. The Health lookup table contains a single-level Code Mask with six values in the actual Lookup Table. You can use these values “as is” or you may customize them according to your organization’s task tracking requirements.
- The RBS field is a Resource text field containing the RBS lookup table. The RBS lookup table contains a single-level Code Mask, but contains no values in the actual Lookup Table. If you want to use the RBS to define and manage relationship-based Project Server 2010 security, you must customize the RBS lookup table to reflect the reporting structure in your organization.
- The State field is a Project text field containing the State lookup table. The Stat lookup table contains a single-level Code mask with three values in the actual Lookup Table. Do not delete or edit the values in the State lookup table because Project Server 2010 uses the State field and Lookup Table to drive functionality in the Proposals feature.
- The Team Name field is a Resource text field but does not contain a Lookup Table. I recommend that you create a Lookup Table for this field if you want to use the Team Name field to assign a group of resources (a team) to tasks. Obviously, you must customize the lookup table to match the teams available in your organization.
Modifying an Existing Lookup Table or Field
To modify an existing Lookup Table or field, begin by clicking the name of the existing Lookup Table or field. Project Server 2010 displays the Edit Lookup Table or field page. Notice that the Edit page is nearly identical to the new creation pages. Edit the information in any section as you require and then click the Save button.
Making Fields Required
Making a field required forces users to provide a value before Project Server 2010 writes a record to the database. Required fields impact users in the following manner:
- For a required enterprise Project field, project managers must enter or select a value in the field before they can save a new project to the Project Server database.
- When you define a required enterprise Task field, project managers must enter or select a value for every task in the project before they can save the project.
- For a required enterprise Resource field, your Resource Pool administrators must enter or select a value for every resource before they can save the resource in the Enterprise Resource Pool.
If users fail to enter a value in any required field, the system warns them in a dialog and then documents the error in the required field.
Creating a Custom Field with a Formula or Graphical Indicator
Custom field values and graphical indicator values in Microsoft Project 2010 can be calculated by using formulas. You can create formulas for local custom fields by using Microsoft Project Standard 2010 or Microsoft Project Professional 2010 and for enterprise custom fields by using Project Web App or the Project Server Interface (PSI).
Creating and Validating Formulas
To create or edit a formula for a local custom field or outline code, you must use Project Professional 2010 or Project Standard 2010. It is not necessary to install and launch Project Professional 2010 on the computer running Project Server to create or validate formulas for enterprise custom fields. However, you can use Project Professional 2010 to create a local custom field with a formula and then add the field to the enterprise.
You can create and edit formulas and add graphical indicators for enterprise custom fields on the New Custom Field page and the Edit Custom Field page in Project Web App. Microsoft Project Server 2010 calculates the values of formulas for project, task, and resource custom fields when a project is published. For example, if you use the Project Web App Resource Center page to add a resource custom field that has a formula, you can directly add the formula without starting Project Professional 2010 as Project 2007 requires.
NOTE: When you create or reconfigure a custom field in Project Web App, you must restart Project Professional to see the new or changed enterprise custom field in the lists of custom fields.
Project Web App in Project Server 2010 includes drop-down lists that make it easier to pick common fields, functions, and operators. Figure 2-5 shows a simple formula for a resource custom field of type Cost, named TestResourceCost, and specifies tests for the graphical indicators.
If you add the TestResourceCost column to the Resource Sheet view of an enterprise project in Project Professional 2010, the graphical indicators show the relative cost for enterprise resources and for local resources.
NOTE: The Pick Field list in Project Web App shows only fields that exist in Project Server. For a Project Server field to validate, it must exist also in Project Professional. You can add fields from Project Professional that the Pick Field list does not show. For more information, see the Formula References to Resource, Project, and Task Fields section.
- Use Project Web App to create a task custom field of type Text, named Budget Indicator.
- To use the sample formulas, paste the code into a text editor to remove the line breaks, and then paste the single line of code into the Formula text box on the New Custom Field page.
NOTE: The CStr function in the following formula works only if the [Baseline Finish] field is defined; otherwise, the formula returns #ERROR for the “No baseline” case. If you try the formula, use it without graphical indicators so that you can see the text results. When you use the formula with graphical indicators, the error is not obvious in Project Professional 2010 because no indicator shows.
Switch(Len(CStr([Baseline Finish])) < 3, “No baseline”,
([Cost] + 1) / ([Baseline Cost] + 1) > 1.2, “Overbudget by 20% or more”,
([Cost] + 1) / ([Baseline Cost] + 1) > 1, “Overbudget”,
True, “Under budget”)
To fix the previous formula so that it works when a task does not have a baseline, evaluate the dates for the [Baseline Estimated Finish] field. The following example modifies the Switch statement.
Switch(Not ([Baseline Estimated Finish] >= #1/1/1984#
And [Baseline Estimated Finish] < #1/1/2050#), “No Baseline”,
([Cost] + 1) / ([Baseline Cost] + 1) > 1.2, “Overbudget by 20% or more”,
([Cost] + 1) / ([Baseline Cost] + 1) > 1, “Overbudget”,
True, “Under budget”)
There are several ways to create a complex formula; for example, you can use nested Iif statements. The results of the previous and following formulas are the same.
Iif( [Baseline Estimated Finish] >= #1/1/1984#
And [Baseline Estimated Finish] < #1/1/2050#,
Iif( ([Cost] + 1) / ([Baseline Cost] + 1) > 1.2, “Overbudget by 20% or more”,
Iif (([Cost] + 1) / ([Baseline Cost] + 1) > 1, “Overbudget”,
“Under budget”), “No baseline”)
TIP: Because Project Professional 2010 does not need to be restarted before testing formula changes in local custom fields, it can be quicker to edit and test a formula locally and then copy the correct formula to Project Web App.
Use an external editor, such as Microsoft Visual Studio, to save a text file of multiple examples of formulas.
- In the Calculation for Summary Rows section, click Use formula. This enables summary tasks to show graphical indicators that summarize the budget indicators for subtasks.
- In the Values to Display section, click Graphical indicators, and then select Non-summary rows in the Criteria for drop-down list.
- Create the following tests in the grid:
|equals||No baseline||White button|
|equals||Overbudget by 20% or more||Red button|
|equals||Under budget||Green button|
- Click Save to save the Budget Indicator custom field.
- Restart Project Professional 2010, and then create a simple test application with a summary task and two subtasks. For example, create a subtask named T1 with duration of six days and subtask T2 with duration of two days.
- Assign resources to task T1 and task T2, where the resources have a standard rate cost defined. You can use enterprise and/or local resources. For example, use a standard rate of $50.
- On the Gantt chart, add a column for the Budget Indicator (Enterprise) field. Right-click the column header, click Field Settings, and then type Budget in the Title text box of the Field Settings dialog box.
- On the Project tab of the ribbon, click Set Baseline. In the Set Baseline dialog box, select Baseline in the Set baseline drop-down list, and then click Entire project. The graphical indicators for the summary task and for both subtasks are green.
- Increase the duration of task T1 to seven days. Both T1 and the summary task should show yellow indicators in the Budget column, because the cost is now over the baseline budget.
- Add subtask T3, set the duration to three days, and set T2 as its predecessor task (Figure 2). Assign a resource to T3. Although T3 is not in the baseline calculation, it increases the total cost of the summary task by more than 20 percent over the baseline. The Budget indicator for the summary task changes to red. The Budget indicator for T3 is white (rather than an empty field) because T3 has no baseline.
In Figure 2-6, the Budget column uses the Budget Indicator custom field in Project Web App. The Test Budget column uses a local task custom field with a test formula and shows the text value rather than an indicator.
Deleting a Custom Field or Lookup Table
To delete a custom enterprise field or Lookup Table, first navigate to the Custom Fields and Lookup Tables page in Project Web Access. If you want to delete a custom field, select it in the data grid and then click the Delete Field button. When prompted, click the Yes button in the warning dialog to delete the field. If you want to delete a custom Lookup Table, select it in the data grid and then click the Delete Lookup Table button. When the system prompts, click the Yes button in the warning dialog to delete the Lookup Table.
Modifying the Built-In Lookup Tables
As noted earlier in this Module, Project Server 2010 includes five built-in custom fields: Cost Type, Health, RBS, State, and Team Name. Each of these built-in custom fields, except the Team Name field, has a pre-assigned Lookup Table. If you want to use any of these fields, you must modify the Lookup Table values for the appropriate field. Do not delete or edit the values in the States lookup table because Project Server 2010 uses the Stat field and the specific values contained in the State lookup table to support the Proposals feature.
Modifying the Cost Type Lookup Table
Organizations generally use the Cost Type field to connect Project Server 2010 data with a third-party financial application. If you want to use the Cost Type field in this regard, you must modify the Cost Type lookup table to match the specifications of your financial application.
You can also use the Cost Type field to do financial analysis on your organization’s resources by cost types. For example, in our organization we only have three types of resources from a financial perspective: billable resources, non-billable resources, and outside contractors. Billable resources generate revenue, while the other two types of resources generate expenditures only.
Modifying the Health Lookup Table
Organizations use the Health field to monitor the current condition of the project in terms of the project management process. For example, the Health field communicates whether the project is on schedule, late, early, etc. The default Health lookup table contains a single-level Code Mask with six values in the Lookup Table. These values are:
- Not Specified
- On schedule
You may modify these values to match your organizations criteria for gauging the current condition of each project. In our organization, we categorize the current condition of each project using only five values, which are:
- Not Specified
- In Progress
- On Hold
The On Hold condition means that someone interrupted work on the project temporarily and that the project will resume at a later date. This often occurs when a project team is pulled off one project entirely to assist with another project with higher urgency or priority.