2012-11-08 145 views
0

我们在用户登录并基于其商店进行身份验证的应用程序中使用SSRS。当他们生成报告时,我们将他们的商店名称传递给SSRS以生成其商店的报告。在第一代报告中一切正常。但是,当用户选择不同的日期范围时,他们将获得系统中所有商店的报告。我们使用MDX养活店面名称的默认和可用参数中的.rdl如下:SSRS参数传递问题

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 

通过app步进透露,当用户选择一个不同的日期范围内,所有参数都完好,正确店名称被保留,但是当用户点击“查看报告”参数将商店名称更改为ALL时。 :w00t:什么可能是错的?至于应用而言“查看报告”是一个黑盒子,所以不知道如何处理RDL改变:(预先感谢您的输入。

--Edited 对不起,查询我上面提供是参数查询: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]} (STRTOMEMBER(@FromCalendarDateHierarchy,CONSTRAINED):STRTOMEMBER(@ToCalendarDateHierarchy,CONSTRAINED))[COLUMNS FROM [Members])

回答

0

嗨,而不是返回真的所有成员的需要更改以下行:

NON EMPTY { ([Store].[Store].[Store].ALLMEMBERS) } 

要:

NON EMPTY { [Store].[Store].[Store] } 

它只会回到你那些具有价值。

+0

我认为这是由于默认参数设置。一旦我删除了默认值,它就可以工作。 –

0

的问题应该是,当日期被修改的所有参数低于此更新,必须检查Store parameter低于Date parameterenter image description here

移动Date与上面的Store参数箭头最多 enter image description here

我希望这有助于

+0

我想这也是由于在参数上设置的默认值。 –