Considerare lo script riportato di seguito, in cui si presuppone che SalesYTD
sia un figlio di Ratios
in Sample.Basic
(dove Conti e Ora sono dimensioni dense).
SET UPDATECALC OFF; "SalesYTD"( IF(@ismbr("Jan")) "SalesYTD" = "Sales"; Else "SalesYTD"="Sales" + @prior("SalesYTD"); Endif)
In questo esempio, mentre undici dodicesimi dei dati soddisfano la condizione ELSE, solo un dodicesimo dei dati soddisfa la condizione IF. Inoltre, il membro SalesYTD viene calcolato in modalità cella. Pertanto, gennaio viene calcolato per primo, indipendentemente dall'ordine delle condizioni IF, perché viene visualizzato per primo nel profilo. È possibile ottimizzare questo script utilizzando NOT nell'istruzione IF, come illustrato nel seguente esempio:
SET UPDATECALC OFF; "SalesYTD"( IF(NOT(@ismbr("Jan"))) "SalesYTD" = "Sales" + @prior("SalesYTD"); Else "SalesYTD"="Sales"; Endif)