最も簡単な方法は、DataSet をセットアップするときに、QueryDesigner を使用して SSAS から必要なものを取得することです。ディメンション フィルタを指定すると、右端の [パラメータ] という見出しの下にチェックボックスが表示されます。これをチェックすると、SSRS パラメータが自動的に生成されます。
これにより、次のような値を期待するパラメーターが作成されます。これは、実際にはディメンション フィルターです。
\[DimensionName\].\[AttributeName\].&\[Value\]
ただし、MDX を介して手動で行う必要がある場合は、MDX 式を見て、(私の非常に限られた MDX の経験では、まだ学習中です) ではなく、ROWS でパラメーター (フィルター) を指定しようとしているように見えます。 FROM 句に適用します。
私はそれがもっとこのようなものになると思いますか?:
SELECT
NON EMPTY { [Measures].[Count of ID], [Measures].[Average of Amount] } ON COLUMNS
,NON EMPTY { ([DimensionName].[AttributeName].ALLMEMBERS * [Query].[State].[State].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM
(SELECT (STRTOSET(@Region,CONSTRAINED) ON COLUMNS FROM [Model])
WHERE ( IIF( STRTOSET(@Region, CONSTRAINED).Count = 1, STRTOSET(@Region, CONSTRAINED), [DimensionName].[AttributeName].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
DimensionNameとAttributeNameをキューブ定義の実際の値に置き換えます。@Region
これは、パラメーターが上記で指定したものと同じ形式であることを前提としています。そうでない場合は、レポート パラメーターを DataSet に割り当てるときに、DataSet プロパティの残りの構文を代用できます。
これが機能しない場合はお詫びします。現時点では、MDX に関する限られた知識で作業していますが、部分的な回答は、まったくないよりはましであると考えました。