如何获取报告的所有参数的默认值列表?

时间:2018-05-14 15:03:36

标签: sql vb.net reporting-services sql-server-2008-r2

我有一个报告,我希望在用户点击“查看报告” 之前获取每个参数 的默认值。棘手的部分是可以从查询中生成一些参数。

例如,如果用户打开此报告,他们会将这些值视为默认值:

enter image description here

(上图是用户在更改任何参数之前和点击“查看报告”之前看到的内容的屏幕截图)

每个多值参数都是从查询或存储过程生成的。我需要获取为这些生成的值。所有这一切背后的总体目标是,我将使用它们来确定用户在运行报告时更改的参数。

因此,请查看Commodity参数。它有很多默认值。假设用户只选择了“包”。我需要使用VB代码或SQL来确定用户将该参数的默认值从该查询返回的所有结果更改为“Bags”。我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以制作参数的克隆并使用相同的数据集(如果您使用级联参数,则可能必须克隆数据集)

在我的示例中,最初两个参数都从数据集(2003年)获得第一年。 在用户进行选择后,原始参数值(将设置为内部 - 我将其保持为示例可见)保留数据集的初始值,而用户参数返回所选年份。

enter image description here

答案 1 :(得分:0)

SSRS确实支持级联参数。这一切都发生在您查看报告之前。因此,运行以获取后续参数可用值的数据集可以引用先前参数的值。但是,这只是一种方式。您无法检查下一个参数的值,因为它在该范围内不存在。

作为一般规则,此行为不适用于其他目的。但是我想没有什么可以阻止你在最后一个参数查询上调用存储过程并在它们运行报告之前执行一些操作。

我没有全面了解你想要完成的事情,但我希望这至少能指明你正确的方向。