ユーザーがログインし、ストアに基づいて認証されるアプリケーション内で SSRS を使用しています。レポートを生成するときに、ストア名を SSRS に渡して、ストアのレポートを生成します。最初のレポート生成では、すべてが正常に機能します。しかし、ユーザーが別の日付範囲を選択すると、システム内のすべての店舗に関するレポートが取得されます。次のように、MDX を使用して、.rdl 内のストア名の既定の使用可能なパラメーターをフィードします。
SELECT
NON EMPTY { [Measures].[MTDActiveMembers],
[Measures].[YTDActiveMembers],
[Measures].[MTDMembers],
[Measures].[YTDMembers],
[Measures].[Members],
[Measures].[Members - Active] }
ON COLUMNS,
NON EMPTY { ([Store].[Store].[Store].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
( STRTOSET(@StoreStore, CONSTRAINED) )
ON COLUMNS
FROM
(
SELECT
( STRTOMEMBER(@FromCalendarDateHierarchy, CONSTRAINED) : STRTOMEMBER(@ToCalendarDateHierarchy, CONSTRAINED) )
ON COLUMNS
FROM
[Members]
)
)
CELL PROPERTIES VALUE,
BACK_COLOR,
FORE_COLOR,
FORMATTED_VALUE,
FORMAT_STRING,
FONT_NAME,
FONT_SIZE,
FONT_FLAGS
アプリをステップ実行すると、ユーザーが別の日付範囲を選択すると、すべてのパラメーターはそのままで、正しい店舗名が保持されますが、ユーザーが店舗名の「レポートの表示」パラメーターを押すと、ALL に変更されることがわかりました。:w00t: 何が問題なの? アプリに関する限り、「レポートの表示」はブラック ボックスなので、rdl で何を変更すればよいかわかりません :( ご意見をお寄せいただきありがとうございます。
編集済み
申し訳ありませんが、上記で提供したクエリは実際のレポート クエリです。パラメータクエリは次のとおりです。
WITH MEMBER [Measures].[ParameterCaption] AS [Store].[Store].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] AS [Store].[Store].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS [Store].[Store].CURRENTMEMBER.LEVEL.ORDINAL
SELECT
{[Measures].[ParameterCaption],
[Measures].[ParameterValue],
[Measures].[ParameterLevel]}
ON COLUMNS,
[Store].[Store].ALLMEMBERS
ON ROWS
FROM
(
SELECT
( STRTOMEMBER(@FromCalendarDateHierarchy, CONSTRAINED) : STRTOMEMBER(@ToCalendarDateHierarchy, CONSTRAINED) )
ON COLUMNS
FROM
[Members]
)