报告服务级联参数不起作用

时间:2011-08-12 23:16:00

标签: ssrs-2008 reportviewer reporting-services

我希望报告根据用户选择的位置参数选择默认日期时间值,但问题是当用户选择其他位置时,日期时间参数不会更新。我确保将location参数放在日期时间参数之上,但它仍然没有按照我的预期运行,我在这里做错了什么?

5 个答案:

答案 0 :(得分:3)

不幸的是,这是“按设计”。 Microsoft Connect - SSRS - default not refreshed for cascading parameters.

  

2007年微软发布:“如上所述,事实并非如此   一个bug。我们不会重新评估后续的默认值   参数,除非所选值不再是有效值   名单。我们不知道目前的价值是否具体   由用户请求或由于默认值而存在。你可以   通过某种方式来控制这种行为   但它目前按设计工作。“

我认为这是SSRS中的一个错误。但微软已经解决了这个问题。如果它也影响你,请登录连接并投票确认

Microsoft Connect - Your feedback improving Microsoft products.

解决方法/黑客在这里:Boyan Penev - SSRS Cascading Parameters Refresh: Solved.

然而,只有依赖参数具有有效值的LIST,并且其他用户报告它仅适用于第一个依赖参数时,hack才有效。

如果依赖参数是自由格式条目或日期,则根本不能使用hack。

答案 1 :(得分:1)

考虑将您的日期时间值放在具有基于位置参数

的逻辑的数据集中
SELECT CASE @Location WHEN 'Paris' THEN GETDATE()+10
                      WHEN 'Berlin' THEN GETDATE()+11
                      WHEN 'New York' THEN GETDATE()+8
       ELSE GETDATE() END as DefaultDate

然后将日期参数默认值设置为此数据集。

答案 2 :(得分:0)

不幸的是,SSRS一旦设置就不刷新级联参数。除了重新加载报告之外,我所知道的唯一方法是使用ReportViewerDialog创建自定义UI。

答案 3 :(得分:0)

我发现如果你使用存储过程渲染子参数,通过传入父选择,数据集将被刷新

答案 4 :(得分:-1)

我一直有同样的问题,并意识到导致这个问题是一个简单的错误。在这里发布OP和其他任何寻找此问题的人。

您需要确保SSRS中的所有参数都设置为正确的值字段,而不是显示字段。您可以通过简单地在参数默认值中选择“名称”字段而不是请求的“值”字段来复制许多已识别的级联参数问题。这将正确填充下拉列表,但不会选择任何内容,并且级联将停止。然后,由于Closed be Design问题,可能看起来好像级联参数没有刷新。

  1. 在SSRS的“报告数据”选项卡中,右键单击参数并选择 参数属性。
  2. 选择默认值。
  3. 确保将值字段设置为正确的值,而不是您为报告用户提供的值。