Working with Formula Expressions

Working with Formula Expressions

Разбирая стандартные модули WorkForce, Capex, Financial Project Planning обнаружил странный синтаксис в элементах формул



[OpenInputValueBlock]
IF (NOT @ISUDA([Dimension("DIM_NAME_SCENARIO")], "Actual"))
IF ("Tax Region" == [TaxRegion.USA])
IF ("CYTD Total Salary"<= "SSTax Cap")"SSTax Rate1" * "Total Salary"; ELSEIF("CYTD Total Salary (Prior)"<= "SSTax Cap") "SSTax Rate1" * ("SSTax Cap" - "CYTD Total Salary (Prior)") + "SSTax Rate2" * ("CYTD Total Salary" - "SSTax Cap"); ELSE "SSTax Rate2" * "Total Salary"; ENDIF ELSEIF("Tax Region" == [TaxRegion.NoRegion])
#MISSING;
ENDIF
ENDIF
[CloseInputValueBlock]

которое преобразуется и хранится в EssBase как


IF (@ISMBR("HSP_InputValue"))
IF (NOT @ISUDA("Scenario", "Actual"))
IF ("Tax Region" == 2)
IF ("CYTD Total Salary"<= "SSTax Cap")"SSTax Rate1" * "Total Salary"; ELSEIF("CYTD Total Salary (Prior)"<= "SSTax Cap") "SSTax Rate1" * ("SSTax Cap" - "CYTD Total Salary (Prior)") + "SSTax Rate2" * ("CYTD Total Salary" - "SSTax Cap"); ELSE "SSTax Rate2" * "Total Salary"; ENDIF ELSEIF("Tax Region" == 1) #MISSING; ENDIF ENDIF ENDIF

или

[OpenInputValueBlock]
[CYTD("Sign-On Bonus")]
[CloseInputValueBlock]


IF (@ISMBR("HSP_InputValue"))
@SUMRANGE("Sign-On Bonus", @CURRMBRRANGE("Period", LEV, 0, ,0));
ENDIF