请考虑以下脚本,其中假设 SalesYTD
是 Sample.Basic
中 Ratios
的子代(其中帐户和时间是密集维)。
SET UPDATECALC OFF; "SalesYTD"( IF(@ismbr("Jan")) "SalesYTD" = "Sales"; Else "SalesYTD"="Sales" + @prior("SalesYTD"); Endif)
在此示例中,12 个月中有 11 个月的数据满足 ELSE 条件,而只有 1 个月的数据满足 IF 条件。此外,SalesYTD 成员是在单元格模式下计算的,这意味着无论 IF 顺序如何都会先计算 January,因为它首先出现在大纲中。可以在 IF 语句中使用 NOT 来优化此脚本,如下例所示:
SET UPDATECALC OFF; "SalesYTD"( IF(NOT(@ismbr("Jan"))) "SalesYTD" = "Sales" + @prior("SalesYTD"); Else "SalesYTD"="Sales"; Endif)