Scenarios
Expose Scenario Planning Range time horizon and Module Planning and Forecast Preparation configuration task information as expressions, which allow you to specify the following:
- Start Year: Returns the start year in string format for the given scenario.
- End Year: Returns the end year in string format for the given scenario.
- Start Month: Returns the start month in string format for the given scenario.
- End Month: Returns the end month in string format for the given scenario.
- Module Start Year: Returns the start year in string format for the given module and scenario.
- Module End Year: Returns the end year in string format for the given module and scenario.
- Module Start Period: Returns the start period in string for the given module and scenario.
- Module End Period: Returns the end period in string format for the given module and scenario.
-
Module Plan Start Year: Returns an integer value of "1" if Current Fiscal Year and "0" if Next Fiscal Year.
Note:
Module Start Year, Module End Year, Module Start Period, Module End Period, and Module Plan Start Year are only valid for Planning Modules and Strategic Workforce Planning applications and require the "PlanningFunctions" syntax.
Calculation Manager Syntax:
[[getStartYear("ScenarioName")]]
[[getEndYear("ScenarioName")]]
[[getStartMonth("ScenarioName")]]
[[getEndMonth("ScenarioName")]]
[[PlanningFunctions.getModuleStartYear("ModuleName","ScenarioName")]]
[[PlanningFunctions.getModuleEndYear("ModuleName","ScenarioName")]]
[[PlanningFunctions.getModuleStartPeriod("ModuleName","ScenarioName")]]
[[PlanningFunctions.getModuleEndPeriod("ModuleName","ScenarioName")]]
[[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear("ModuleName")]]
Scenario Name
ScenarioName
can be a typed in Scenario member, or a Calculation Manager run-time prompt member type variable. The member must be enclosed in double quotes. For example, [[getStartYear("Actual")]]
.
ScenarioName
can also be a substitution variable in the following formats:
-
getSubVarValue("CubeName", "SubstitutionVariableName")
returns the substitution variable value for a given substitution variable at the cube level defined by theCubeName
-
getSubVarValue("SubstitutionVariableName")
returns the substitution variable value for a given substitution variable at the application level for all cubes
The CubeName
and SubstitutionVariableName
must be enclosed in double quotes, do not use & or {}. See Example 3 and Example 4 below.
Module Name
ModuleName
must be a pre-defined name of a current Module in Planning and Strategic Workforce Planning. These expressions using ModuleName
as a parameter use the Planning and Forecast Preparation configuration tasks time horizon information for ScenarioName
, which may have different time horizons per Module within an application for the Plan and Forecast Scenarios.
Other Scenarios beyond Plan and Forecast can also be referenced in these expressions, but will only return the time horizon set for the Scenario Planning Range in the dimension editor, which will be the same for all Modules within the application. See About Scenarios for more information on the Scenario Planning Range.
The Plan Start Year is another Planning and Forecast Preparation configuration task that is specific to the Plan Scenario for Modules. This expression returns a value relative to its setting such that it returns an integer value of "1" if set to Current Fiscal Year and "0" if set to Next Fiscal Year. This expression is only available within the context of a conditional statement as it does not return a dimension member as a value. See Example 5 below.
Valid values for ModuleName
are as follows and are applicable to the specific business process:
Table 10-4 Valid ModuleName
Values
Business Process | Valid ModuleName Value
|
---|---|
Planning Modules |
|
Strategic Workforce Planning |
|
Note:
The ModuleName
value must be enclosed in double quotes and is not case-sensitive.
Example 1
The following syntax, where {rtpScenario}
is a run-time prompt variable of type member with a default value of actual:
FIX({rtpScenario}, [[getStartYear({rtpScenario})]]:[[getEndYear({rtpScenario})]],
[[getStartMonth({rtpScenario})]]:[[getEndMonth({rtpScenario})]])
FIX ( Working, P_000, "111")
"5800" = 5500;
ENDFIX
ENDFIX
returns the following script:
FIX ("Actual", "FY10" : "FY18", "Jan" : "Dec")
FIX (Working, P_000, "111")
"5800" = 5500;
ENDFIX
ENDFIX
Example 2
The following syntax:
FIX({rtpScenario}, [[PlanningFunctions.getModuleStartYear("CAPITAL",{rtpScenario})]]:
[[PlanningFunctions.getModuleEndYear("CAPITAL",{rtpScenario})]] , "Jan" : "Dec")
FIX(OEP_Working, P_000, "111")
"5800" = 5500;
ENDFIX
ENDFIX
returns the following script, where the Capital module Planning and Forecast Preparation configuration task set the Start and End Years for FY18 and FY22, respectively, for the Plan Scenario:
FIX("OEP_Plan", "FY18" : "FY22", "Jan" : "Dec")
FIX(OEP_Working, P_000, "111")
"5800" = 5500;
ENDFIX
ENDFIX
Example 3
The following syntax uses a substitution variable at the cube level. In this example, Plan1
is the cube name and CurrentMonth
is the substitution variable name.
FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("Plan1", "CurrentMonth"))]], "FY15",
"BU Version_1", "No Currency", "No Entity", "No Grades")
"Current" = 15;
ENDFIX
This produces the following script:
FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No
Grades")
"Current" = 15;
ENDFIX
Example 4
The following syntax uses a substitution variable at the application level. In this example, CurrentMonth
is the substitution variable name.
FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("CurrentMonth"))]], "FY15", "BU
Version_1", "No Currency", "No Entity", "No Grades")
"Current" = 15;
ENDFIX
This produces the following script:
FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No
Grades")
"Current" = 15;
ENDFIX
Example 5
The following syntax:
FIX("OEP_Plan","OEP_Working",FY20:FY24)
"Bonus"
(
IF([[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear ("Workspace")]] == 1)
"Bonus" = "Salary" * 0.2;
ELSEIF([[PlanningFunctions.isPlanStartYearSameAsCurrentFiscalYear ("Workforce")]] == 0)
"Bonus" = "Salary" * 0.3;
)
ENDFIX
produces the following script where the Workforce module Planning and Forecast Preparation configuration task has set the Plan Start Year to Next Fiscal Year such that first conditional test (IF) fails and is not executed while the second conditional test (ELSEIF) passes and is executed since the isPlanStartYearSameAsCurrentFiscalYear
returns an integer of "0" if set to Next Fiscal Year:
FIX("OEP_Plan","OEP_Working", FY20:FY24)
"Bonus"
(
IF(0 == 1)
"Bonus" = "Salary" * 0.2;
ELSEIF(0 == 0)
"Bonus" = "Salary" * 0.3;
)
ENDFIX