当您具有联合分区时,Essbase 会尽可能将 Essbase 计算和查询转换为 SQL,并将其推送到自治数据仓库,以便在数据存储位置进行处理。
Essbase 多维数据集大纲包含元数据(维名称和成员名称)。自治数据仓库保存与元数据关联的数据。数据存储在事实表中。
由于 Essbase 将计算处理推送到数据存储位置,因此这有助于解决数据延迟问题。这是从 Essbase 21.5 开始提供的新功能。
如果您刚开始使用 Essbase,请先查看计算多维数据集以了解有关计算的一般信息。
使用联合分区时的计算方式取决于您在创建联合分区时使用的 Essbase 多维数据集类型:块存储 (BSO) 或聚合存储 (ASO)。
计算比较说明
对于基于 BSO 的联合分区多维数据集,当您计算和查询时,Essbase 会分析相关项并写入 SQL 以在自治数据仓库中使用分析视图处理结果。
对于基于 ASO 的联合分区多维数据集,Essbase 服务器会处理定制计算和分配,然后将结果推送到自治数据仓库。
有关联合分区计算的说明/限制
Essbase 块存储 (BSO) 计算函数可以应用于 BSO 大纲公式,其结果会影响从 Smart View、MDX 及其他网格客户端进行的查询。可以使用相同的函数以及计算命令编写过程计算脚本。
在自治数据仓库中进行处理的计算函数
使用联合分区时,以下 Essbase 计算函数会转换为 SQL 并在自治数据仓库中进行处理。未在此处列出的其他函数在 Essbase 中进行处理。
在自治数据仓库中进行处理的计算命令
使用联合分区时,以下 Essbase 计算命令会转换为 SQL 并在自治数据仓库中进行处理。
DATAEXPORTLEVEL ALL DATAEXPORTCSVFORMAT DATAEXPORTOVERWRITEFILE DATAEXPORTDECIMAL
命令 ARRAY 和 VAR,以及在 CALC DIM 或 CALC ALL 中处理的动态公式都在 Essbase 中进行处理,性能可能较低。
联合分区多维数据集不支持一些计算命令,如果使用这些命令,将返回错误。请参见联合分区的限制。
如果您需要运行 Essbase 块存储 (BSO) 计算脚本,请选择密集维作为透视维。如果透视维是稀疏维,则联合分区不支持计算脚本。
块计算模式(在 Essbase 配置设置 CALCMODE 设为 BLOCK 时启用)不适用于联合分区多维数据集。计算处理会推送到自治数据仓库。如果存在异常,并且计算改为在 Essbase 服务器上处理,则由解析顺序确定相关性分析。
在对具有联合分区的聚合存储多维数据集执行定制分配时,只能覆盖现有值。不能向现有值添加值或从其减去值。
其他限制
请参见联合分区的限制。
查询结果中的精度位数
当您计算具有联合分区的多维数据集时,自治数据仓库会部分处理计算和聚合。因此,与未使用联合分区时得到的值相比,查询结果的精度值可能稍有不同。
计算顺序
与混合模式 BSO 多维数据集和 ASO 多维数据集相似,联合分区多维数据集中成员的计算优先级遵循您在 Essbase 大纲上设置的已定义解析顺序。
能够运行 Essbase 计算和数据加载作业
对于具有联合分区的任何块存储 (BSO) 应用程序,默认情况下,Essbase 配置设置 FEDERATEDAVCALC 隐式设置为 TRUE。这样,用户就可以运行 Essbase BSO 计算并通过 Essbase 执行数据加载,以更新自治数据仓库事实表中的记录。