You can use any parameter for BI Publisher, but users will have to ensure they enter the value correctly, or the SQL statements in the data template will fail. Using supported parameters will allow you to provide a user interface to enter the values for parameters. Supported parameters for P6 fall into one of three categories:
Enumeration parameters allow users to pick parameters from static lists.
Dynamic parameters will generate the list at run time. For example, when focusing on Project ID, users will see a Project list that pulls the current projects from the P6 EPPM database.
Primitive parameters support basic selections. For example, if a parameter is a boolean, an option will appear for users to select or clear a text box instead of typing true or false.
The following are the supported parameters for P6, grouped by category:
Enumeration parameters map to fields that have a set list of possible values. When running a report with a enumeration parameter, P6 will offer a list to select one of the values. Users will see the localized text for the enumeration value's description; however, the return value will be the English description of the enumeration, which is the value the PX Views database stores.
Descriptions of enumeration parameters are in the following format:
Parameter:Name of the parameter.
Identifier: The value you must enter in the identifier field in BI Publisher when creating the parameter for the report.
Details: A description and technical details of the parameter.
Values: The values that will be available in P6.
Maps to field:The database field the return value maps to in the PX Views database. It could match multiple fields in the database, so only the primary table is listed.
Use case: An example of how you might use the parameter in a report.
Supported Enumeration Parameters
Parameter: Activity Priority
Identifier: p_activity_priority
Details: Allows users to select the leveling priority of an activity.
Values: Top, High, Normal, Low, Lowest
Maps to field: ACTIVITY.LEVELINGPRIORITY
Use case: Filter activity data by leveling priority.
Parameter: Assignment Proficiency
Identifier: p_assignment_proficiency
Details: Allows users to select a value for assignment proficiency.
Use case: Filter activity reports based on the type of the activity.
Parameter: Constraint Type
Identifier: p_contstraint_type
Details: Allows users to select an activity constraint type.
Values: Start On, Start On or Before, Start On or After, Finish On, Finish On or Before, Finish On or After, As Late As Possible, Mandatory Start, Mandatory Finish
Maps to field: ACTIVITY.PRIMARYCONSTRAINTTYPE and ACTIVITY.SECONDARYCONSTRAINTTYPE
Use case: Filter activities in a report by the activity primary or secondary constraint type.
Parameter: Duration Type
Identifier: p_duration_type
Details: Allows users to select the duration types of an activity.
Use case: Filter activities in a report based on their duration type.
Parameter: Percent Complete Type
Identifier: p_percent_complete_type
Details: Allows users to select the percent complete type of an activity.
Values: Physical, Duration, Units
Maps to field: ACTIVITY.PERCENTCOMPLETETYPE
Use case: Filter activities in a report based on the percent complete type of the activity.
Parameter: Project Status
Identifier: p_project_status
Details: Allows users to select the status of a project.
Values: Planned, Active, Inactive, What If, Requested, Template
Maps to field: PROJECT.STATUS
Use case: Filter the projects in a report based on the desired type. For example, you might want to use this for a report that needs to display information only on planned projects.
Parameter: Rate Source
Identifier: p_rate_source
Details: Allows users to select the rate source of an assignment.
Values: Resource, Role, Override
Maps to field: RESOURCEASSIGNMENT.RATESOURCE
Use case: Filter resource assignments included in a report based on the rate source of the assignment.
Parameter: Rate Type
Identifier: p_rate_type
Details: Allows users to select the rate type of an assignment.
Use case: Filter risks in a report based on the status of the risk.
Parameter: Risk Type
Identifier: p_risk_type
Details: Allows users to select the type of a risk.
Values: Threat, Opportunity
Maps to field: RISK.RISKTYPE
Use case: Filter risks in a report based on the type of risk.
Dynamic Parameters
Dynamic parameters map to fields that have a varying list of possible values. When running a report with a dynamic parameter, P6 will offer a list to select one of the available values.
Descriptions of dynamic parameters are in the following format:
Parameter:Name of the parameter.
Identifier: The value you must enter in the identifier field in BI Publisher when creating the parameter for the report. In some cases, identifiers can pass in context by appending short names to the end of the identifier. The character in quotations is the separator that the code splits and <name> represents the context you are trying to pass in.
Details: A description and technical details of the parameter.
P6: What the editor for the parameter will be in the Reports section of P6.
Return Value: The values that will be available in P6.
Maps to field: The database field the return value maps to in the PX Views database. It could match multiple fields in the database, so only the primary table is listed.
Use case: An example of how you might use the parameter in a report.
Supported Dynamic Parameters
Parameter: Activity Code Value
Identifier: p_a_code_val__<short name>
Details: Enables users to select an activity code value via a list. Context passes into the parameter by appending a colon":" followed by the short name of the activity code type you want to set.
P6: Provides a list that displays the Activity Code Values for the Activity Code type passed in the context.
Return value: Short name of the Activity Code (unique per code type).
Maps to field: ACTIVITYCODE.CODEVALUE
Use case: Create a report that displays some basic information about activities. Users at five locations need to run the report, but they only want to see the data for activities with codes matching their location. Instead of creating five reports hard coding the location (for example, location=L1) on each report, you can create one report and add this parameter to it (for example, p_a_code_val__Location).
In the data template for the report, filter the activities based on this parameter. Hard code the left side of the activity filter to match the activity code you selected, which in this case is location.
Example query: CODETYPENAME='Location' & CODEVALUE=:p_a_code_val__Location
If you did not have a parameter for this, you would need different templates for each location.
Details: Enables users to select a user defined Activity Code. The user defined Activity Code is two parameters on the report in BI Publisher, but will display only as one row in the report settings parameter table.
P6: Provides a list that displays all global Activity Code types. When users expand a type, the list shows the values for that type. By selecting a value, both the type and value will return to the report.
Return value: Short name for the Activity Code Value, primary key for the Activity Code type.
Maps to field:
p_activity_code_value maps to ACTIVITYCODE.CODEVALUE
p_activity_code_type maps to ACTIVITYCODE.CODETYPEOBJECTID
Use case: Create a report that can have a variable Activity Code. The report pulls activities and displays some basic statistics of the activities. The data template for the report must accommodate setting both sides of the query. While a typical parameter just sets the IN clause for a user defined field, this parameter must set both sides. The "Activity Code Value" parameter Use case example shows where it hard codes the CODETYPENAME to be Location. This parameter enables multiple user defined activity codes to be used on the same report. For each parameter you use, you must add p_activity_code_value.1 and p_activity_code_type.1. There must be a pair of numbers to ensure that the editor works properly.
Parameter: Cost Account
Identifier: p_cost_account
Details: Enables users to select Cost Accounts. The P6 user must have access to view Cost Accounts for the list to populate.
P6: Provides a list that displays all Cost Accounts in a hierarchical tree.
Return value: Short name of the cost account (unique).
Maps to field: COSTACCOUNT_FULL.NAME
Use case: Filter items using certain Cost Accounts or generate information on the Cost Accounts.
Parameter: EPS
Identifier: p_eps_id
Details: Enables a user to select an EPS.
P6: Provides a list that displays all of the EPS nodes where the user has access.
Return value: The short name of the EPS.
Maps to field:
EPS_FULL.NAME
EPS_U.NAME
Use case: Use a parameter for EPS to filter a query to load all projects under an EPS for a report.
Parameter: Expense Category
Identifier: p_expense_category
Details: Enables a user to select Expense Category where the user has access.
P6: Will provide a list that displays all of the Expense Categories.
Return value: The short name of the Expense Category (unique).
Maps to field:
EXPENSECATEGORY_FULL.NAME
EXPENSECATEGORY_U.NAME
Use case: Run a report filtered by assignments that use a certain Expense Category associated with them.
Parameter: Funding Source
Identifier: p_funding_source
Details: Enables a user to select a Funding Source.
P6: Provides a hierarchical list filled with Funding Sources where a user has access.
Return value: The short name of the Funding Source (unique).
Maps to field:
FUNDINGSOURCE_FULL.NAME
FUNDINGSOURCE_U.NAME
Use case: Filter the report data to include only projects that have the selected Funding Source assigned.
Parameter: Portfolio ID
Identifier: p_portfolio_id
Details: Enables a user to select a Portfolio where the user has access.
P6: Provides a list of Portfolios where the user has access.
Return value: The portfolio short name (unique).
Maps to field: PROJECTPORTFOLIO_FULL.NAME
Use case: Filter the report data to include only the projects in a Portfolio.
Note: If there is a user portfolio that shares the same name as one of the global portfolios, then the report will return data for both when you run it. You'll need to use the Portfolio Name and User ID to make a unique constraint.
Parameter: Project ID
Identifier: p_project_id
Details: Enables a user to select one or more projects where the user has access.
P6: Click the Projects menu, and select Open Project to display the Project list. Enables switching between Template and Regular projects.
Return value: The project short name (unique).
Maps to field: PROJECT_FULL.ID
Use case: Run a report where the data comes from selected projects.
Parameter: Project Code Value
Identifier: p_p_code_val__<short name>
Details: Select a Project Code value. Note that underscores (_) are the only special character allowed. Do not use other special characters.
P6: Provides a list containing the project code values for the Project Code whose short name matches the second part of the parameter. For example: If the short name was Scope, and there were four values – Local, Regional, Country, and Global – the list would display Local, Regional, Country, and Global in the list.
Return value: Activity code value short name (unique per code type).
Maps to field: PROJECTCODE_FULL.CODEVALUE
Use case: Filter the set of projects loaded to those projects that have the user-selected Project Code Value assigned to them.
Details: Similar to the User Defined Activity Code, this parameter consists of two parameters in BI Publisher: One parameter returns the selected Project Code Value, and the other parameter returns the Project Code type ID. For each parameter you use, you must add both p_project_code_value.# and p_project_code_type.#. There must be a pair of numbers for the editor to work properly. You can have multiple sets to allow for more than one User Defined Code Value.
P6: Provides a list populated with all the global Project Codes as the first level. Expanding a Project Code type will list all the values for the type. In the parameter table, only one row will represent both parameters. After you select a Project Code Value, both parameters will be set.
Return value: The short name for p_project_code_value and the object id for p_project_code_type.
Maps to field:
p_project_code_value maps to PROJECTCODE_FULL.CODEVALUE
p_project_code_type maps to PROJECTCODE_FULL.CODETYPEOBJECTID
Use case: Create a report that enables the projects to filter based on a Project Code that the user defines. Unlike the Project Code Value parameter, the report creator should not hard code the Project Code type. Instead, they should write the query to enable the p_project_code_type.1 parameter to determine the Project Code type. This lets a report be more flexible in the filter criteria.
Details: Similar to the other user-defined codes this parameter consists of two parameters on the report in BI Publisher: One parameter returns the selected Resource Code Value, and the other parameter returns the Resource Code type ID. For each parameter you use, you must add both p_resource_code_value.# and p_resource_code_type .# There must be a pair of numbers in order for the editor to work properly. You can have multiple sets to allow for more than one user-defined code value.
P6: Provides a list populated with the Resource Codes as the first level. Expanding a Resource Code type will list all the values for the type. In the parameter table, only one row will represent both parameters. After you select a Resource Code Value, both parameters will be set.
Return value:
p_resource_code_value: short name for the code value
p_resource_code_type: object id for the code type
Maps to field:
p_resource_code_value maps to RESOURCECODE_FULL.CODEVALUE
p_resource_code_type maps to RESOURCE_CODE_FULL.CODETYPEOBJECTID
Use case: Create a report that allows for the resources to be filtered based on a Resource Code Value and type that the user defines. Unlike the Resource Code Value parameter, the report creator should not hard code the resource code type. Instead, they should write the query to enable the p_resource_code_type.1 parameter to determine the resource code type. This allows a report to be more flexible in the filter criteria.
Parameter: Resource Code Value
Identifier: p_r_code_val__<short name>
Details: Select a Resource Code value to use for filtering loaded resources for a report.
P6: Provides a list populated with the resource code values for the resource code type indicated by the <short name> at the end of the parameter. For example: If the short name was Department, the list would display Engineering, Marketing, Research, and Development as the values in the list.
Return value: The short name of the Resource Code Value (unique per code type).
Maps to field: RESOURCECODE_FULL.CODEVALUE
Use case: Create a report where the resources filter based on the resources that match the user-selected Resource Code Value for a particular Resource Code type. The report data query must hard code the Resource Code type for matching resources to the returned code value.
Parameter: Resource Team
Identifier: p_resource_team
Details: Enables resource team selection.
P6: Provides a list populated with resource teams that the user has access to view.
Return value: The short name of the resource team (unique).
Maps to field: RESOURCETEAM_FULL.NAME
Use case: Filter a report to load resources that are on the selected resource team.
Parameter: Resource ID
Identifier: p_resource_id
Details: Select a resource to filter a report.
P6: Provides a list populated with resources that the user has access to view.
Return value: The short name of the resource (unique).
Maps to field: RESOURCES_FULL.NAME
Use case: Filter the activities in a report based on the user-selected resource assigned to the activity.
Parameter: Responsible Manager
Identifier: p_responsible_manager
Details: Select a responsible manager (OBS).
P6 GUI: Provides a list populated with the OBS structure that the user has access to view.
Return value: The short name of the OBS (unique).
Maps to field: PROJECT_FULL.OBSNAME and OBS_FULL.NAME
Use case: Filter a report to load only the projects that have the user-selected responsible manager.
Parameter: Risk Category
Identifier: p_risk_category
Details: Select a Risk Category.
P6: Provides a list populated with all the Risk Categories that the user has access to view.
Return value: The name of the Risk Category (unique).
Maps to field: RISK_FULL.RISKTYPE
Use case: Filter a report to load only the Risks of the user-selected category.
Parameter: Role Team
Identifier: p_role_team
Details: Select a Role Team.
P6: Provides a list populated with all the Role Teams the user has access to view.
Return value: The name of the Role Team (unique).
Maps to field: ROLLTEAM_FULL.NAME
Use case: Filter a report of Resources to include only the Resources that are assigned to the user-selected Role Team.
Parameter: Role
Identifier: p_p6_role_id
Details: Select a Role.
P6: Provides a list populated with all the Roles the user has access to view.
Return value: The short name of the Role (unique).
Maps to field: ROLL_FULL.ID
Use case: Filter a report of Resources to include only the Resources that have the user-selected Role.
Parameter: Timesheet Period
Identifier: p_timesheet_period_start and p_timesheet_period_end
Details: This parameter consists of two parameters on the report in BI Publisher, but is represented by a single row in parameter list for P6. The user will select a timesheet period, and it will set the Start Date to p_timesheet_period_start and the End Date to p_timesheet_period_end.
P6: Drop down menu of the Timesheet Periods in the database. Selecting a Timesheet Period will return the Start Date and End Date in the parameters.
Return value: The Start Date and End Date of the Timesheet Period selected by the user.
Maps to field: N/A
Use case: Filter a report to look for a date between two dates of a Timesheet Period. Instead of adding two date parameters and making the user manually enter the Start and End of the period, the user can use a drop down with the Timesheet Periods in the database.
Parameter: User
Identifier: p_p6_user_id
Details: Select a P6 EPPM user name.
P6: Provides a list populated with the P6 users that the logged-in user has access to view.