寸法が関連しているかどうかを判断するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/6345178

  •  27-10-2019
  •  | 
  •  

質問

MDXを生成するクエリビルダーアプリケーションを開発し、以下を使用してキューブから顧客数を取得しようとしています。これは正常に機能します。

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

ただし、ユーザーが顧客とは関係のない次元をドラッグした場合:

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    { [Employee].[Status].[Active], [Employee].[Status].[Inactive]},  
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

カウント結果は明らかに間違っています。

生成されたMDXクエリから除外できるように、次元が顧客に関連しているかどうかを判断する方法はありますか?

役に立ちましたか?

解決 2

を使用して問題を解決しました 存在する(set_expression1、set_expression2 [、measuregroupName]) 関数。どの寸法が関連しているかを手動で決定する必要はありません。 存在します 関数は無関係なタプルをフィルターし、{ [Customer].[Customer].Children, [Customer].[Gender].[Female]} カウントオーバーを行うように設定します。

これがMDXです:

WITH MEMBER MEASURES.X AS Exists(
    [Customer].[Customer].Children,
    {[Customer].[Gender].[Female]}
    *
    {[Employee].[Status].[Active], [Employee].[Status].[Inactive]}
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

他のヒント

この情報は、キューブから取得できます アモ. 。 Cube クラスには、必要なすべてのキューブメタデータが含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top