1

SQL Server Reporting Service でキューブに接続してデータセットを作成すると、クエリ デザイナーでフィルターを使用してクエリを作成します。次の MDX が作成されます。

  SELECT NON EMPTY { KPIValue("KPI1"), KPIGoal("KPI1"), KPIStatus("KPI1") } 
ON COLUMNS, NON EMPTY { ([Create Date].[Month Num].[Month Num].ALLMEMBERS * [Create Date].[Hierarchy].[Month].ALLMEMBERS ) } 
DIMENSION PROPERTIES MEMBER_CAPTION, 
MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT 
( STRTOSET(@CreateDateYear, CONSTRAINED) ) 
ON COLUMNS FROM [ERP]) 
WHERE ( IIF( STRTOSET(@CreateDateYear, CONSTRAINED).Count = 1, 
STRTOSET(@CreateDateYear, CONSTRAINED), 
[Create Date].[Year].currentmember ) ) 
CELL PROPERTIES VALUE, BACK_COLOR, 
FORE_COLOR, FORMATTED_VALUE, 
FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

このデータセットを追加すると、Reporting Services によって という名前のパラメーターが作成されCreateDateYearます。このパラメーターに「2014」のような値を渡すと、何も得られず、のような値を渡す必要があります[Create Date].[Year].&[2014]

レポートを変更して、見苦しくユーザーフレンドリーでない文字列ではなく、「2014」のような値を渡すようにこのパラメーターを変更するにはどうすればよい[Create Date].[Year].&[2014]ですか?

4

2 に答える 2

0

文字列の連結を使用して、MDX で "プレフィックス" '[作成日].[年].&[' と "ポストフィックス" ']' を追加します。

STRTOSET('{ [Create Date].[Year].&[' + @CreateDateYear + '] }', CONSTRAINED)

@CreateDateYear「2014」のようなものが含まれている場合。

注: MDX のセットの適切な構文であるため、メンバーの一意の名前を中かっこで囲みました。また、複数選択を許可する場合は、MDX ではなく、Reporting Services で文字列連結を行う方がよいでしょう。

于 2014-07-23T08:15:34.123 に答える