SSRS参数传递问题

时间:2012-11-08 13:14:49

标签: sql reporting-services rdl

我们在用户登录并根据其商店进行身份验证的应用程序中使用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:可能出错了什么?就app而言,“查看报告”是一个黑盒子,所以不知道用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] 。[存储] .ALLMEMBERS ON行(来自[会员]的SELECT(STRTOMEMBER(@FromCalendarDateHierarchy,CONSTRAINED):STRTOMEMBER(@ToCalendarDateHierarchy,CONSTRAINED))

2 个答案:

答案 0 :(得分:0)

您好,而不是真正返回所有成员,您需要更改以下行:

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

要:

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

它只会返回那些有价值的东西。

答案 1 :(得分:0)

问题应该是当修改日期时,更新下面的所有参数都会更新,您必须检查Store parameter <{strong> Date parameterenter image description here

使用箭头向上Store参数移到Date上方 enter image description here

我希望这会有所帮助