在ssrs中初始选择第一个参数后,第二个参数未刷新

时间:2016-11-10 16:22:49

标签: reporting-services ssrs-2008

我确实看到很多关于类似问题的其他帖子,但他们没有帮助,因为我的问题有点不同。 我的报告中有4个参数 - 开始日期(日期 - 默认为NULL),结束日期(日期 - 默认为NULL),RecordID(文本)(Listbox -defaulted为NULL),RecordID2(文本)(文本框)

用户有两种选择来提取报告 -

1)在" RecordID2"中输入记录ID拉取报告的文本框

(OR)2)取消选中Start和End Date参数中的NULL,这将在RecordID参数中创建一个下拉列表。用户可以从下拉列表中选择1 RecordID来提取报告。

对于参数" RecordID2",我设置了以下默认表达式,以便主数据集始终在@ RecordID2上运行。

iif(Paramters!RecordID.Value ="", Nothing,Parameters!RecordID.Value)

我还将参数高级属性设置为"始终刷新"。

问题:报告在选项1和第一次运行选项2时运行良好。但是,当我从下拉列表中选择不同的值时,RecordID2不会更新。

例如:RecordID下拉列表中包含值(' 1234',' 2345')。在选择RecordID =' 1234'时,RecordID2文本框参数更新为' 1234'报告运行正常。之后,当我选择RecordID =' 2345' RecordID2文本框未更新为新值 - 它仍显示' 1234'。更改选择的预览看起来像是刷新了,但文本框值不会在此更改时刷新。

关于如何解决这个问题的任何想法都是?

2 个答案:

答案 0 :(得分:1)

两年后仍然是同样的问题,经过2天的测试后,我得到了一个技巧,就是将default valueavailable value的两个从属参数和{从第一个参数返回处理后的值。

设置dataset将为第二个参数创建一个下拉列表,而不是文本字段,并且将随主要参数而变化。

请参阅此示例。默认情况下,available value是11月,而Period最初会获得正确的值,但是当您将其更改为October时,仅下拉字段test2会更改,而文本字段不会更改。

这两个参数设置的唯一区别是test1没有test2,只有available value(两个字段也相同)。

enter image description here

答案 1 :(得分:0)

这是SSRS中的已知错误。有很多方法可以解决这个问题,google for" SSRS级联参数没有更新"回来很多。

例如http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/