优化 BSO 多维数据集可减小数据库大小;其中涉及以下过程:
从不
作为合并运算符删除 BSO 多维数据集中的零
首先通过将多维数据集中稀疏维中的零块替换为 #missing 块,删除这些零块。
要将零块替换为 #missing 块:
设置业务规则环境以优化此业务规则:
SET UPDATECALC OFF; SET CREATENONMISSINGBLK OFF; SET CREATEBLOCKONEQ OFF; FIXPARALLEL(NumberThreads, @RELATIVE("SparseDim",0)) FIX on all level 0 sparse dimension @RELATIVE(SparseDim,0)
Note:
UPDATECALC
、CREATENONMISSINGBLK
和 CREATEBLOCKONEQ
处于禁用状态,Oracle 建议在业务规则中显式关闭它们。SparseDim
" 替换为要替换零块的稀疏维的名称。FIXPARALLEL
以帮助提高性能,例如 FIXPARALLEL(4, @RELATIVE("Scenario",0))
。ENDFIXPARALLEL
。计算设计 1(适用于密集或稀疏计算)
此计算将生成原始值,并将零值更改为 #missing。
"DenseMbr" = "DenseMbr" * "DenseMbr" / "DenseMbr"; "SparseMbr" = "SparseMbr" * "SparseMbr" / "SparseMbr";
计算设计 2(仅适用于块模式下的密集成员)
"DenseBlockHeader" ( @CALCMODE(BLOCK); IF ("DenseMbr" == 0) "DenseMbr" = #Missing; ENDIF
Note:
DenseMbr
、SparseMbr
和 DenseBlockHeader
应替换为实际名称。从多维数据集中删除 #Missing 块
删除 #missing 块以减小 BSO 数据库大小。使用以下两种方法之一清除 #missing 块:
方法 1执行显式密集重建
在 Planning 中,可以手动或通过作业运行此过程。也可以使用 EPM Automate 和 REST API 执行数据库重建。
要使用 Calculation Manager 执行数据库重建:
信息源:
方法 2
清除所有数据。从以前上传到环境的文件重新加载所有数据。
对数据类型为“智能列表”、“日期”、“文本”和“百分比”的成员,使用“从不”作为合并运算符
数据类型为“智能列表”、“日期”、“文本”和“百分比”的维成员应使用从不
作为合并运算符。使用“加法”合并运算符会增加多维数据集大小,但不会添加任何值。使用“忽略”作为合并运算符将仅停止成员的维中的加法;它不会停止汇总来自其他维的值,这可能会创建不需要的块。