实账户与临时账户

当需要定义非常复杂的 TGKML 脚本时,将其定义细分为多个步骤被认为是最佳实践。这种"分而治之"的方法通过临时科目来实现。临时科目与 Tagetik 科目表中存在的物理科目不同,仅在定义它的脚本中可用。

用于定义临时科目的语法如下:

<输出多维数据集>.@<分配给临时科目的名称> := <表达式>;

例如,可以写入

  • [LO].@TEMP_ACCOUNT := [C00000](Entity.Filter([A00]));

定义临时科目后,可以使用以下语法使用它

@<分配给临时科目的名称>

例如:

....:=@TEMP_ACCOUNT;

当在 TGKML 脚本中需要多次引用同一物理科目时,建议创建临时科目。这样,脚本会更高效。

通常,不应在应用临时偏移的脚本中使用临时科目,例如

[LO].@TEMP_ACCOUNT := [C00000](Entity.Filter([A00]));

... := @TEMP_ACCOUNT(Time.Scenario.Prev);

因为该科目可能在上一个场景中不存在。

在 TGKML 脚本中,凡是需要在函数中插入整数参数的地方,都可以使用临时科目。系统将读取该科目"第一条记录"的金额,将其舍入到最接近的整数值,并将其用作函数的参数。临时科目的"第一条记录"是不可预测的,因此使用此功能的正确方式是定义单记录临时科目。请注意,在这种情况下,系统仅上传第一条记录的金额信息,而不是整个记录的信息。这就是为什么该参数应被视为非维度性的,而不是与源数据具有相同的维度。