在计算脚本中使用替代变量来存储可能会更改的值。在需要不同用户为相同脚本指定不同值时,请使用运行时替代变量。
例如,如果各种各样的计算脚本、公式、筛选器、报告脚本和 MDX 脚本均需要引用当前月份,您可能不希望在多维数据集 Artifact 库中大约每 30 分钟搜索和替换月份。而是可以定义名为 CurrMonth 的替代变量,每个月将其分配值更改为合适的月份。引用变量的所有多维数据集 Artifact 随后会引用正确的月份。
此处是表示当前月份的简单替换变量示例:
变量名称:CurrMonth
值:Jan
替代变量值应用于运行包含该变量的计算脚本的所有用户。例如,如果 CurrMonth 具有值 Jan,则会为 Jan 运行包含 &CurrMonth 的所有脚本。替代变量的作用域可以是:
全局(用于服务器上的所有应用程序和多维数据集)
应用程序(用于应用程序中的所有多维数据集)
多维数据集(用于单个多维数据集)
要为特定多维数据集定义替代变量,请执行以下操作:
在 Oracle Analytics Cloud – Essbase Web 界面中,在应用程序页上,展开应用程序以显示您要修改的多维数据集。
从多维数据集右侧的操作菜单,启动检查器。
选择变量选项卡,然后单击“添加”
。
输入变量名称和值,单击保存,然后单击关闭。
要为特定应用程序定义替代变量,请执行以下操作:
在应用程序页上,从应用程序右侧的“操作”菜单,启动检查器。
选择变量选项卡,然后单击“添加”
。
输入变量名称和值,单击保存,然后单击关闭。
要全局定义替代变量,请执行以下操作:
在 Oracle Analytics Cloud – Essbase 中,单击控制台。
单击变量选项卡,然后单击添加。
输入变量名称和值,然后单击保存。
定义替代变量之后,您可以在计算脚本、公式、筛选器、MDX 脚本、加载规则和报告中使用它。要引用变量,请使用 & 符号为其添加前缀。
下面是一个引用替代变量的计算脚本示例:
FIX(&CurrMonth)
CALC DIM (Measures, Product);
ENDFIX
下面是一个引用替代变量的公式示例:
@ISMBR(&CurrMonth)
使用运行时替代变量,您可以在运行时操作的上下文中声明变量及其值,例如计算脚本、MaxL 脚本或 MDX 查询。运行时替代变量可以指定为具有数值或者引用成员名称。在用户不更改输入值的情况下,可以指定默认值。此外,对于计算脚本,可以在运行时从 Smart View 网格上存在的维成员来填充变量值。对于具有在运行时填充变量值的脚本,必须从 Smart View 启动计算脚本,因为变量在网格上下文之外没有定义。
可以使用键值对在计算脚本中定义运行时替换变量:
SET RUNTIMESUBVARS
{
myMarket = "New York";
salesNum = 100;
pointD = "Actual"->"Final";
}
或者,要定义使用根据 POV 动态改变的值的运行时替换变量,请将定义分配到 POV,然后使用 XML 语法来启用 Smart View 上下文提示。
有关详细信息,请参见以下主题
《Designing and Maintaining Essbase Cubes》中的 "Using Substitution Variables"
《Technical Reference for Oracle Analytics Cloud - Essbase》中的 "SET RUNTIMESUBVARS" 计算命令
库模板 Sample_Basic_RTSV,可在“文件”>“库”>“技术”>“计算”中找到。