ポスト プロセッサの評価中に、基になる行を参照して、集計できないデータを取得する必要があります。
私のキューブ スキーマが、A、B、C の 3 つのストアのフィールドで構成されているとします。この場合、次のようになります。
<datastoreSelection baseStore="storeA">
<fields>
<field name="fieldAmount1" expression="fieldAmount1" />
<field name="fieldAmount2" expression="fieldAmount2" />
<field name="fieldRefValue" expression="fieldRefValue" />
<field name="fieldForDimension1" expression="storeB/fieldForDimension1" />
<field name="fieldForDimension2" expression="storeC/fieldForDimension2" />
</fields>
</datastoreSelection>
私の立方体には 2 つのディメンションがあります。
- 「fieldForDimension1」に基づく次元1
- 「fieldForDimension2」に基づく次元 2
fieldRefValues を外部値 'externalValue' と比較するポストプロセッサがあります (この外部値は、ユーザーが変更できるコンテキスト値であると仮定しましょう)。
if (fieldRefValues <= externalValue) {
return fieldAmount1;
} else {
return fieldAmount2;
}
externalValue はその場で変化する可能性があるため、この if セクションを前処理することはできません。また、集計レベルで作業することもできません (より正確には、詳細線で作業する必要がある間隔があります)。
ActivePivot v5 に取り組んでいますが、インデクサーのような要素はないようです。さらに、データストアに関する私の謙虚な知識は、私のスキーマが複数のストアからのフィールドで構成されているため、私のニーズを満たしていない可能性があると考えさせられます。つまり、場所でデータストアをクエリする方法が見つかりません。
たとえば、PP のクエリに場所が付属している場合
[[myPP][value1][value2]]
データストア クエリを使用して詳細行を取得するのに苦労します。
- storeB にクエリを実行して「value1」の ID を取得します
- storeC にクエリを実行して「value2」の ID を取得します
- 前の 2 つのクエリの結果を使用して storeA をクエリします。
- それらの行で「if」ステートメントを実行する
かなり複雑ですね。
その間、ドリルスルー機能が同様の作業を効率的に行います。そこで、ドリルスルーを使用して取得作業を完了するというアイデアに行き着きました。
しかし、そのようなユースケースは聞いたことがありません。したがって、私の質問: 誰かが同様のユースケースを持っていますか?どのように解決しましたか? 注意事項はありますか?
私の最初の試みから、ポスト プロセッサの実行中にドリルスルー クエリを実行すると、コンテキストに関連する問題が発生する可能性があるようです。