12

次の計算されたメンバーを使用したMDXクエリがあります。

with member [Measures].[BBOX] as
Count(
    Filter(
        CrossJoin([Dim Response].[Response ID].Children, [Dim Question].[Question Text].Children),
        [Measures].[Question Bottom Box] > 0
    )
)

アイデアは、ディメンションの2つのメンバーの組み合わせのカウントが必要なことです。(MDXの語彙が少しずれている場合はご容赦ください)。また、いくつかの基準に基づいています。

クエリの残りの部分は次のようになります。

select 
{({[Measures].[TBOX], [Measures].[BBOX]}, 
[Dim Product].[Category Name].&[Office])} on columns,
{[Dim Question].[Question Text].Members} on rows 
from H1_FY10_Revised
where ({[Dim Question].[Category Name].&[Partner]}, 
{[Dim Subsidiary].[Subsidiary Alias Name].&[Germany]})

私の質問は、メインクエリ(where句)で発生するデータのスライスは、計算されたメンバーに変換されますか?計算されたメンバーから返されるデータとメインクエリの軸の間に何らかの暗黙の結合がありますか?

または別の言い方をすれば、計算されたメンバーのクロス結合はメインクエリのコンテキストで実行されますか?

4

1 に答える 1

3

CrossJoinの評価はコンテキストに依存しませんが、Filter 関数は依存します。

計算されるメンバーはクエリのコンテキストで評価されますが、次の理由により、計算されるメンバーが定数値を持つ場合があります。

  • [Dim Response].[Response ID].Children は [Dim Response].[Response ID] と同等です。DefaultMember.Children ( MSDNを参照)。
  • [Dim Question].[Question Text].Children は [Dim Question].[Question Text] と同等です。DefaultMember。子供

したがって、の結果はCrossJoinスライサーに依存しません。の値のみが[Measures].[Question Bottom Box]スライサーに依存します。

于 2012-11-20T21:49:25.880 に答える