BOUND 函数的高级用法
下面来看一些 BOUND 函数的高级用法。
如 IF 构造 一节所述,IF 表达式的求值系统会执行以下运算
但是,出于多种原因,该表达式可能无法给出正确结果,例如当
在这些情况下,为了获得正确结果,必须使用 BOUND 函数并编写
[LO].[X00000] := Bound ([D00000] + [E00000], @bound, if [C00000] == 0 then [D00000] else [E00000] end);
- [C00000](1-[D00000])
通过使用 BOUND 函数,可以为所有 D00000 未定义的组合计算出正确结果。例如,如果我们编写
[LO].[X00000] := Bound([C00000], “bound”, @bound * (1 – [D00000]));
则对于所有 D00000 不存在的组合,结果将为 C00000。只有使用 BOUND 函数才能得到该结果,因为它允许按照 C00000 的域来展开 D00000 的域。
在此示例中,我们使用 C00000 科目作为 BOUND 表达式。使用属于某个赋值的科目作为 BOUND 表达式并非强制要求,您可以使用任何已定义的科目。