SSRS 2005 - 级联参数和默认值更新问题

问题描述:

我有一个带有级联参数的报告。第一个参数是Finanical Period Type,可以是Month或Week。第二个参数是财务月份或星期的列表,具体取决于为第一个参数选择了哪些内容。这一切都很好,顺序选择一系列不同的财务周期类型可以正确更新第二个参数的值。SSRS 2005 - 级联参数和默认值更新问题

但是,我现在希望为第二个参数添加一个默认值,该参数又取决于第一个参数。所以我给填充第二个参数DefaultPeriod的数据集添加了一个额外的字段,并设置了第二个参数的默认值,以便从上述字段中检索。

我第一次选择财务周期类型时,默认设置是正确的。但是,更改财务期类型会导致第二个参数的更新列表,但默认值不正确。它仍然被设置为原始默认值,即使认为数据集已刷新并且DefaultPeriod字段是正确的。

这是IDE和Report Manager站点中的问题。

不幸的是,即使底层数据集发生变化,默认值也只会被确定一次。唯一的解决方案是在第二个列表的每个版本中都有一个特殊选项。假设它是字符串参数,我会将它称为“Default”,其值为“-default-”,并且在使用数据集中的值之前,我会检查“-default-”的值并将其转换为任何值基于第一个参数值的适当的默认值。

我知道这很复杂,但这是我发现解决问题的唯一方法。

正如JC所说,默认并不总是被刷新。但是,如果您真的需要刷新级联参数,则实际上有一种解决方法。诀窍是每当父对象的值发生变化时,使级联参数的选择无效。

有关更多详细信息,请参阅Boyan Penev的以下文章:http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/