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
はデフォルトで無効になっていますが、ビジネス・ルールで明示的にオフにすることをお薦めします。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データベース・サイズを削減します。次の2つの方法のいずれかを使用して、#missingブロックをクリアします:
方法1明示的な密の再構築を実行します
Planningでは、このプロセスを手動またはジョブを介して実行できます。データベースの再構築は、EPM自動化およびREST APIを使用して実行することもできます。
Calculation Managerを使用してデータベースの再構築を実行するには:
情報ソース:
方法2
すべてのデータをクリアします。事前に環境にアップロードしたファイルからデータを再ロードします。
データ型がスマート・リスト、日付、テキストおよびパーセンテージのメンバーの集計演算子として「なし」を使用
データ型がスマート・リスト、日付、テキストおよびパーセンテージのディメンション・メンバーは、集計演算子として「なし」
を使用する必要があります。「加算」集計演算子を使用すると、値を加算せずにキューブ・サイズが増加します。集計演算子として「無視」を使用すると、メンバーのディメンション内でのみ加算が停止します。他のディメンションからの値のロールアップが停止することはありません。これにより、不要なブロックが作成される可能性があります。