-1

ポスト プロセッサの評価中に、基になる行を参照して、集計できないデータを取得する必要があります。

私のキューブ スキーマが、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]]

データストア クエリを使用して詳細行を取得するのに苦労します。

  1. storeB にクエリを実行して「value1」の ID を取得します
  2. storeC にクエリを実行して「value2」の ID を取得します
  3. 前の 2 つのクエリの結果を使用して storeA をクエリします。
  4. それらの行で「if」ステートメントを実行する

かなり複雑ですね。

その間、ドリルスルー機能が同様の作業を効率的に行います。そこで、ドリルスルーを使用して取得作業を完了するというアイデアに行き着きました。

しかし、そのようなユースケースは聞いたことがありません。したがって、私の質問: 誰かが同様のユースケースを持っていますか?どのように解決しましたか? 注意事項はありますか?

私の最初の試みから、ポスト プロセッサの実行中にドリルスルー クエリを実行すると、コンテキストに関連する問題が発生する可能性があるようです。

4

1 に答える 1

0

ポスト プロセッサでは、ファクト タンクからデータストア クエリにアクセスできます。たとえば、金額を計算し、その金額を特定の通貨に変換して表現したい場合は、PP で何をする必要がありますか。変換 (例: 通貨) で、その座標を使用してストアをクエリし、金額を変換できるレートを取得します。

簡単な話: - 集計値を処理する必要がある場合は、ポスト プロセッサを使用します - 基礎となる事実を照会する必要がある場合は、データストア クエリを使用します (AP4 のインデクサー クエリと同様) - ポスト内でデータストア クエリを使用できますプロセッサ

したがって、すべてがユースケースに関連しています。

これがお役に立てば幸いです。これが役に立たない場合は、ユースケースの詳細をお気軽にお知らせください。よろしくお願いします。

于 2014-11-04T00:39:31.583 に答える