方案是专用工作区,用户可在不影响现有数据的情况下,在其中对 Essbase 数据中的不同假设进行建模并查看对聚合结果带来的影响。
每个方案是一个多维数据集的虚拟切片,一个或多个用户可在其中对数据进行建模,然后提交或放弃更改。
启用了方案的多维数据集具有称为“沙盒”的特殊维。沙盒维是平面的,具有一个名为 "Base" 的成员以及最多 1000 个其他成员,通常称为沙盒成员。沙盒维中的所有成员均为 0 级。沙盒成员的命名为 sb0、sb1,以此类推。每个沙盒都是一个独立的工作区,"Base" 保存多维数据集中当前包含的数据。一个特定的方案只能与一个沙盒成员关联。
Sandbox Base sb0 sb1 sb2
基本数据是您使用沙盒来对可能的更改进行建模的起点。除非方案所有者应用沙盒数据(也称为方案数据),否则不提交这些数据,在应用时将覆盖 "Base" 数据。
首次创建时,沙盒成员交集都是虚拟的,没有实际存储。来自多维数据集的物理数据存储在 "Base" 成员切片中。查询新沙盒成员会动态地体现存储在 Base 中的值。
仅当更新沙盒中的任何值之后,您的更改才会实际存储在沙盒中。在沙盒成员中更新一些值之后,对沙盒进行查询时,将体现已存储沙盒值与从基本成员动态继承的值的混合。
明确提交在沙盒中进行的更改之前,更改不会提交到基本成员,这通常是在审批工作流之后执行。请参见了解方案用户角色和工作流。
当您在沙盒中完成工作之后,可以将沙盒放到审批工作流之中,也可跳过该工作流并将更新的值提交到 "Base" 成员,或者拒绝并丢弃沙盒更改。
要使方案管理发挥作用,必须启用混合模式。对于查询,默认为启用。请勿禁用它。对于计算,还需要启用 HYBRIDBSOINCALCSCRIPT 应用程序配置。请参见 HYBRIDBSOINCALCSCRIPT(或使用 SET HYBRIDBSOINCALCSCRIPT 计算命令基于每个计算进行控制)。
安全性和筛选器适用于沙盒维。
已启用方案的多维数据集具有 CellProperties 维,您应该忽略该维,因为它用于内部进程。您无需修改它或者将其用于计算、查询或加载规则,它不应包括在任何计算或其他操作中。
有两个用于在 Smart View 中查看和使用方案数据的入口点。
您可以使用 Essbase Web 界面在 Smart View 中启动方案,也可以通过 Smart View 专用连接来使用方案数据。
可以在 Web 界面中从方案启动 Smart View。
在这样做的时候,由于您是从方案进入的,因此在 Smart View 中,只能在与所进入方案关联的沙盒成员中工作。沙盒成员是隐式的。Smart View 网格中不会显示它。
在 Essbase 中,单击方案。
单击要查看的方案旁边的 Excel 图标 。
选择以打开文件。
这将启动 Excel,并带有与方案的 Smart View 连接。
在这样做的时候,该特定方案的数据切片位于工作表中。您只能查询该方案中的数据。如果您至少具有该应用程序的“数据库更新”权限,则可以将数据提交到该方案(将数据提交到方案时,会将数据提交到一个沙盒成员)。
只能在 Windows 上使用 Firefox、Internet Explorer 或 Chrome 浏览器从 Web 界面在 Smart View 中启动方案。
可以打开 Excel 并建立与多维数据集的专用连接,而无需从 Web 界面中开始工作。
这样做之后,沙盒维将在工作表中,因此可以将数据提交到您具有访问权限的任意沙盒成员。当您是多个方案的参与者,但必须明确了解要使用的沙盒时,这会很有用。
要查看与方案关联的沙盒成员,请转到 Web 界面,依次单击方案和方案名称,然后查看常规选项卡。
打开 Excel。
建立与启用了方案的多维数据集的专用连接。
执行即席分析。
追溯到沙盒维以查看沙盒成员。
示例
这是 Smart View 网格,其中包括基本成员和沙盒成员。尚未更新沙盒值,因此它们体现的是基本值。这些值仅存储在基本成员中,而不存储在沙盒成员中:
更改后的沙盒值 500(如下所示)存储在沙盒成员中。未更新的剩余沙盒值 271 仅存储在基本成员中:
下面是一个包含多个沙盒成员的网格。如果您有“数据库访问”用户角色和相应的写入筛选器,则可以同时在多个方案中提交数据:
默认情况下,Essbase 会计算某个维中的所有成员,除非使用 fix 语句将计算范围限制为该维中的某个特定的成员或成员组。
对于此行为,沙盒维是一个例外;如果沙盒维中的成员未包括在用于计算的 fix 语句中,则默认情况下只会计算沙盒维中的基本成员。要计算沙盒维中的非基本成员,请将其包括在 fix 语句中,也可以与基本成员一起包括。
当在 fix 语句中指定了非基本沙盒维成员时,会从计算中排除基本成员,除非显式将其添加到 fix 中。
此行为不同于从 fix 中排除的非沙盒维上的计算;如果从 fix 语句中排除维,Essbase 将计算隐式维中的所有成员。沙盒维以不同方式计算,因为其目的通常是计算指定时间的 Base 沙盒或特定沙盒。Essbase 计算基本成员值而非工作沙盒值,以下情况除外:
计算固定在特定沙盒成员上。
在 Web 界面中基于某个从方案启动的工作表(被称为从方案启动的表)执行计算时。请参见从 Essbase Web 界面中查看和处理方案数据。
如果您从方案启动的工作表执行计算脚本,只要脚本中未明确提到沙盒,则计算运行在与方案关联的沙盒中。
如果您所在的工作表是使用 Smart View 专用连接打开的而且您要显示沙盒与基本值,如果您要突出显示沙盒中的任何数据单元格并在没有显式沙盒 fix 的情况下启动计算脚本,则将隐式计算沙盒而且 Smart View 将指示已计算沙盒。如果您突出显示基本成员中的单元格(或不突出显示单元格),则启动计算脚本时将计算基本成员,Smart View 将指示已计算基本成员。
您可以使用已有的 MaxL 脚本和保留的运行时替代变量名称 ess_sandbox_mbr 来计算沙盒成员。
无需针对服务器或应用程序创建任何替代变量,即可在任何 MaxL 脚本中(为沙盒)实施此语句。
您可以使用在针对方案启用多维数据集之前导出的数据来加载启用了方案的多维数据集。数据将加载到基本沙盒成员。
如果未使用列导出,则无法对大纲成员进行更改,这会导致数据加载无效。如果使用了列导出,但大纲已发生更改,则可能需要使用 .rul 文件加载数据。
启用了方案的多维数据集有一个供内部使用的 CellProperties 维,但是此维包括在数据导出结果中,在加载导出数据时必须考虑它。而且,在使用导出的数据时务必要了解沙盒维的行为。
在从启用了方案的多维数据集导出数据时需要考虑以下事项:
透明分区和复制的分区可以将来自两个 Essbase 多维数据集的切片连接到一起。在存在零个、一个或两个启用了方案的多维数据集时,就可以这样做。
在创建方案后,沙盒即会投入使用。但是,无法保证分区后的多维数据集上的方案都映射到同一个沙盒编号。同一个用户不能是多个多维数据集中沙盒的参与者。引入方案会施加如下限制:
示例:通常允许从透明分区目标多维数据集回写到源,但不允许从启用了方案的目标多维数据集的非基本沙盒成员回写到源。这与允许远程沙盒用户直接写入源多维数据集中的基本成员的权限相冲突。
请参见了解透明分区和复制的分区。
在启用了方案的多维数据集中,可以使用 XREF 和 XWRITE 来引用另一个多维数据集中的数据或向另一个多维数据集写入数据。
XREF 从本地多维数据集(包含 XREF 语句的多维数据集)查询远程多维数据集。如果远程多维数据集启用了方案,则 XREF 仅从远程多维数据集拉取基本数据。
XWRITE 从本地多维数据集(包含 XWRITE 语句的多维数据集)更新远程多维数据集。由于 XWRITE 将数据写入远程多维数据集,因此 XWRITE 语句的作用域很重要。
对于启用了方案的多维数据集和未启用方案的多维数据集的不同组合,XWRITE 的行为如下:
当未启用方案的本地多维数据集引用一个启用了方案的远程多维数据集时,XWRITE 始终会更新远程多维数据集中的基本成员。
请参见了解 @XREF/@XWRITE。
数据审计线索跟踪对多维数据集中的数据进行的更新。要在启用了方案的多维数据集中处理审计线索,您应了解“旧”数据值和“新”数据值的定义,以及用来在 Smart View 中处理沙盒数据的两个不同入口点。
如果将提交到某个单元格的最新数据更新视为“新”数据,将该单元中以前的所有数据值视为“旧”数据,则有助于了解审计线索在启用了方案的多维数据集中的工作方式。
启用了方案的多维数据集中的新沙盒或未使用的沙盒不包含存储值。向用户显示的值(如电子表格中显示的值)反映基本单元中存储的值。
如果在启用了方案的新多维数据集上使用数据审计线索,则沙盒的电子表格中显示的基本值将被视为“旧”值。
当您更新沙盒中的值时,这些值存储在沙盒(而非基本单元)中。就数据审计线索而言,这些值是“新”值。
如果您以后更新这些“新”值,则审计线索将跟踪最新的更改。它会将以前的值视为“旧”值,将更新后的值视为“新”值。
当您通过打开 Excel 并与多维数据集建立专用连接来开始工作时,审计线索的工作方式与任何其他数据集的预期工作方式一样。
这些限制适用于方案和沙盒维。
聚合存储多维数据集上不支持方案。
沙盒成员不支持 DATAEXPORT 计算命令。它仅受基本成员支持。
在从方案启动的工作表连接到方案时,MDX 查询、MDX 插入和 MDX 导出将使用基本成员,而不是使用该方案的沙盒。
从 Essbase Web 界面的 Smart View 中启动方案时,不支持带有 svLaunch 参数的运行时替代变量。请参见从 Essbase Web 界面中查看和处理方案数据。
在直接通过私有连接来连接到方案时,带有 svLaunch 参数的运行时替代变量可正常工作。这是因为工作表中包含沙盒成员。
在使用启用了方案的多维数据集的混合模式中,有少部分函数不受支持。请参见 "Functions Supported in Hybrid Mode"。