如果布尔参数值为false / No,如何阻止用户运行报表?

时间:2017-04-11 23:21:39

标签: reporting-services rdl

如果布尔参数值为false / No?

,如何阻止用户运行报告

或者,

如果布尔参数值为false / No,如何禁用View Report按钮?

场景:

我正在创建一个新的报告,说“报告2”可以解决另一个报告创建的数据,说“报告1”在之前运行。作为提醒用户运行报告1​​的检查,我在报告2上添加了一个布尔参数 - “你执行了报告1吗?”这是Yes和No选项的下拉列表,默认设置为No。

我想强制用户在执行报告之前选择是,否则显示消息或者只是不加载报告或禁用“查看报告”按钮(这不重要,任何选项都可以)。

有人可以给我一些指示。

提前致谢。

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点......

选项1:您可以使用所描述的简单文本参数,其中包含两个可用选项,默认为“否”。然后,您可以在数据集中使用该参数,例如

IF @ConfirmParameter = "Yes"
    BEGIN
       SELECT * FROM MyTable -- Original query here
    END

除非将下拉列表设置为“是”,否则不会向数据集返回任何数据。然后,您可以将报表tablix / table中的NoRowsMessage属性设置为“您需要先运行报表1”,以满足您的需要。

选项2:您可以拥有一个没有默认值的简单布尔参数。这将阻止报告在至少采用一个选项之前运行,如果用户仍然运行报告,则可以使用类似的实现选项1。

选项3:只需选择“是”选项,但没有默认选项。

选项4:此最终选项可能不适合,具体取决于您的方案,但如果报告1始终必须在报告2之前立即运行,那么您可以添加一个链接(文本框中包含“转到”在报告1中报告“操作”以运行报告2.只有在报告1运行后才会显示。然后将报告2更改为SSRS Web门户/报告管理器隐藏,以便报告2无法轻松自行运行。