私はSSASキューブとMDXを学ぼうとしています。これまでのところ、キューブブラウザで表示したときに正しいデータ/計算を返すキューブを作成することができました。
クエリビルダーを使用して、レポートサービスでクエリを作成し、キューブにクエリを実行しました。これによって生成されたMDXを確認し、実際の結果に影響を与えないと思われるものを取り出しました。クエリは次のようになります。
SELECT NON EMPTY { [Measures].[AverageConnectedSeconds] } ON COLUMNS,
NON EMPTY { ([Operator].[ACCESS DEF].[ACCESS DEF].ALLMEMBERS * [Calls].[Notification Time Bands].[Notification Time Bands].ALLMEMBERS) } ON ROWS
FROM ( SELECT ( -{ [Calls].[Notification Time Bands].&[0] } ) ON COLUMNS
FROM ( SELECT ( { [Calls].[Incoming YN].[N] } ) ON COLUMNS
FROM ( SELECT ( -{ [Calls].[Entity Type].&[6] } ) ON COLUMNS
FROM ( SELECT ( -{ [Calls].[Reason Text].&[Background Call] } ) ON COLUMNS
FROM ( SELECT ( { STRTOMEMBER(@OperatorId) } ) ON COLUMNS
FROM [PNC5data] )))))
構文を読み、クエリがネストされた選択を実行している理由を理解していると思います。ネストされたSELECTFROMがSQLでWHERE句として機能していることを理解していますか?
もしそうなら:MDXで使用されるWHERE句は何ですか?いつ/なぜそれを使用するのですか?
誰かがこのクエリで実際に起こっていることの内訳を教えてくれるなら、私は本当に感謝しています!または、MDXの理解を深めることができるリソースに私を導くことができれば、私は素晴らしいと思います!
ありがとう、
ジェームズ