私は OLAP を初めて使用するので、この質問に使用する適切な用語を知らないかもしれませんが、ここで我慢してください。
親/集計セルにはほとんどデータがありますが、子/葉のセルにはデータが欠落していることが多い(属性値は不明ですが、ゼロではありません)。現在、スクリプトと SQL を組み合わせて使用していますが、扱いにくくなっています。データの構造には OLAP キューブと MDX の方が適しているように見えますが、それを処理する必要があるタスクには必ずしも適しているとは限りません。例えば:
- OLAP は主に読み取り専用レポート用に設計されているようです。バッチ処理でデータに多くの変更を加えます
- OLAP は、集計を計算するために完全なリーフ レベルのデータが必要なようです。私のデータにはさまざまなレベルで欠損値があります
私がやりたいことの例:
- 元のマルチレベル データをキューブにロードし、既知の親を保持します。それらの値を子の計算された集計として上書きしたり表示したりしないでください (不完全な場合があります)。
- 複雑なクエリ/他のキューブの結合の結果に基づいて、キューブ内のセルを作成/更新/削除します。場合によっては、キューブを変換して、わずかに異なるディメンション定義を使用する必要があります。
- ユーザーは未知の値の見積もりを必要とします。適切な見積もりを作成することはできますが、すべてのディメンションとレベルで既知の親/子に準拠するように調整する必要があります (これは思ったよりも難しいことです)。私はすでにこれを行っていますが、データを RDBMS からカスタム実行可能ファイルにプルする必要があります。
- クエリと計算では、未知数を適切に処理できる必要があります。理想的には、集計されたセルの値のどの程度が推定値と既知の値で構成されているかを簡単に問い合わせたり、信頼/エラー統計を計算したり、既知の親とすべてがある場合に未知のセルの正確な値を導出できるかどうかを確認したりできます。知られている兄弟など
- データは大きくなる可能性があります... 最大数千万のファクト テーブル行。バッチ ジョブのパフォーマンスはまともなものである必要があります (数分で問題ありませんが、数時間で十分です)。
OLAP サーバーと MDX は、この種の作業に適したツールでしょうか? 階層/多次元/ギャップ充填データの操作に適した他のツールはありますか?