以表示式來顯示「案例規劃範圍」的時間範圍和「模組規劃與預測準備」組態任務資訊,讓您能指定下列項目:
模組計畫開始年度:如果是目前會計年度,會傳回整數值 "1";如果是下一個會計年度,則會傳回 "0"。
註:
「模組開始年度」、「模組結束年度」、「模組開始期間」、「模組結束期間」、及「模組計畫開始年度」只對 Planning 模組和 Oracle Strategic Workforce Planning Cloud 應用程式有效,且需要使用 "PlanningFunctions" 語法。
Calculation Manager 語法:
[[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")]]
案例名稱
可以在「案例」成員中輸入 ScenarioName
,或 Oracle Hyperion Calculation Manager 執行階段提示成員類型變數。成員必須以雙引號括住。例如,[[getStartYear("Actual")]]
。
ScenarioName
也可以是下列格式中的替代變數:
getSubVarValue("CubeName", "SubstitutionVariableName")
會傳回處於由 CubeName
定義的立方體層級之指定替代變數的替代變數值
getSubVarValue("SubstitutionVariableName")
會傳回處於所有立方體的應用程式層級之指定替代變數的替代變數值
您必須要用雙引號括住 CubeName
和 SubstitutionVariableName
,請勿使用 & 或 {}。請參閱下方的範例 3 和範例 4。
模組名稱
ModuleName
必須是 Oracle Hyperion Planning 和 Strategic Workforce Planning 中某個目前「模組」的預先定義名稱。這些使用 ModuleName
來作為參數的表示式,會使用 ScenarioName
的「規劃與預測準備」組態任務時間範圍資訊,而這可能會與「規劃與預設案例」之應用程式中的時間範圍不同。
您也可以在這些表示式中參照「規劃與預測」之外的其他「案例」,但表示式只會傳回您在維度編輯器中為「案例規劃範圍」設定的時間範圍,而這將會與應用程式中所有「模組」的時間範圍相同。如需「案例規劃範圍」的詳細資訊,請參閱關於案例。
「計畫開始年度」是「模組」之「計畫案例」專有的另一個「規劃與預設準備」組態任務。此表示式會傳回與其設定相關的值,像是會在設定為目前會計年度整數值 "1",並在設定為下一個會計年度時傳回 "0"。此表示式只能在條件陳述式的環境定義中使用,因為它不會把維度成員當作值來傳回。請參閱下方的範例 5。
下列為 ModuleName
的有效值,而它們適用於特定的業務程序:
表格 8-8 有效的 ModuleName
值
業務程序 | 有效的 ModuleName 值 |
---|---|
規劃模組 |
|
Strategic Workforce Planning |
|
註:
ModuleName
值必須要用雙引號括住,且不區分大小寫。
範例 1
下列語法中,{rtpScenario}
是成員 類型且預設值為實際 的執行階段提示變數:
FIX({rtpScenario}, [[getStartYear({rtpScenario})]]:[[getEndYear({rtpScenario})]], [[getStartMonth({rtpScenario})]]:[[getEndMonth({rtpScenario})]]) FIX ( Working, P_000, "111") "5800" = 5500; ENDFIX ENDFIX
會傳回下列指令碼:
FIX ("Actual", "FY10" : "FY18", "Jan" : "Dec") FIX (Working, P_000, "111") "5800" = 5500; ENDFIX ENDFIX
範例 2
下列語法:
FIX({rtpScenario}, [[PlanningFunctions.getModuleStartYear("CAPITAL",{rtpScenario})]]: [[PlanningFunctions.getModuleEndYear("CAPITAL",{rtpScenario})]] , "Jan" : "Dec") FIX(OEP_Working, P_000, "111") "5800" = 5500; ENDFIX ENDFIX
會傳回下列指令碼,其中 Capital 模組「規劃與預測準備」組態任務分別將「規劃案例」的開始和結束年度設定為 FY18 及 FY22:
FIX("OEP_Plan", "FY18" : "FY22", "Jan" : "Dec") FIX(OEP_Working, P_000, "111") "5800" = 5500; ENDFIX ENDFIX
範例 3
下列語法在立方體層級使用替代變數。在這個範例中,Plan1
是立方體名稱,而 CurrentMonth
是替代變數名稱。
FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("Plan1", "CurrentMonth"))]], "FY15", "BU Version_1", "No Currency", "No Entity", "No Grades") "Current" = 15; ENDFIX
這個程序會產生下列指令碼:
FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No Grades") "Current" = 15; ENDFIX
範例 4
下列語法在應用程式層級使用替代變數。在這個範例中,CurrentMonth
是替代變數名稱。
FIX ("OEP_Plan", [[getStartMonth(getSubVarValue("CurrentMonth"))]], "FY15", "BU Version_1", "No Currency", "No Entity", "No Grades") "Current" = 15; ENDFIX
這個程序會產生下列指令碼:
FIX ("OEP_Plan", "Jan", "FY15", "BU Version_1", "No Currency", "No Entity", "No Grades") "Current" = 15; ENDFIX
範例 5
下列語法:
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
會產生下列指令碼,其中 Workforce 模組「規劃與預測準備」組態任務已將「計畫開始年度」設定為下一個會計年度,因此第一個條件測試 (IF) 失敗且沒有執行,而第二個條件測試 (ELSEIF) 通過並執行,因為 isPlanStartYearSameAsCurrentFiscalYear
在設定為下一個會計年度 時會傳回整數 "0":
FIX("OEP_Plan","OEP_Working", FY20:FY24) "Bonus" ( IF(0 == 1) "Bonus" = "Salary" * 0.2; ELSEIF(0 == 0) "Bonus" = "Salary" * 0.3; ) ENDFIX