2011-12-16 11 views
1

私は動的パラメータに応じた行のグループにCROSSJOINを取り除くことができるようにしたい、このMDX - CROSSJOINでセットに影響を与えるためにIIFを使用し

SELECT 
    {[Measures].[Respondent Count]} ON COLUMNS 
,{ 
     [Groups In Rows].[Group].ALLMEMBERS* 
     [Questions In Rows].[By ShortCode].[Option].ALLMEMBERS* 
     [Questions In Columns].[By ShortCode].[Option].ALLMEMBERS 
    } ON ROWS 
FROM [cube] 

のように見えるCROSSJOINを持っているので、擬似中私たちは持っているでしょう

SELECT 
    {[Measures].[Respondent Count]} ON COLUMNS 
, 
IIF(@UseGroups = "yes", 
{  [Groups In Rows].[Group].ALLMEMBERS* 
     [Questions In Rows].[By ShortCode].[Option].ALLMEMBERS* 
     [Questions In Columns].[By ShortCode].[Option].ALLMEMBERS 
    }, 
{ 
     [Questions In Rows].[By ShortCode].[Option].ALLMEMBERS* 
     [Questions In Columns].[By ShortCode].[Option].ALLMEMBERS 
} ON ROWS 
FROM [Cube] 

このようなことは何ですか?

答えて

0

@UseGroupsの表記を使用しているので、私はReporting Servicesパラメータを参照していると仮定しています。

あなたは、クエリの式を使用して、パラメータに関してでクエリを作成することができます

="SELECT { [Measures].[Respondent Count] } ON COLUMNS, " 
&"  { " 
& Iif(@UseGroups = "yes", 
     "[Groups In Rows].[Group].ALLMEMBERS*", 
     "[Groups In Rows].[Group].All") 
&"   [Questions In Rows].[By ShortCode].[Option].ALLMEMBERS* " 
&"   [Questions In Columns].[By ShortCode].[Option].ALLMEMBERS " 
&"  } ON ROWS " 
&" FROM [Cube]" 

あなたはIif機能の偽ブランチのすべてのメンバーを含める必要があり、なぜなら、メタデータの問題の。

関連する問題