2012-03-23 82 views
19
使用“内部”参数的规则

有一个选项在SSRS创建“内部”参数:哪些是在SSRS

  1. 在使用它们什么情况下?
  2. 什么是使用内部参数的一般规则?

回答

32

SSRS中的内部参数是最终用户在运行时无法配置的参数。

这与隐藏参数不同,该参数不提示用户提供,但仍可通过URL配置到报表服务器。

请参阅MSDN上的"Creating Report Parameters"了解更多信息。

它们的一种可能的用法是与Report Viewer control一起使用。 ASP.Net页面可以包含报告查看器控件,并在代码隐藏中使用内部参数为报表提供最终用户不应该能够控制的值,例如用户ID。

这可以防止用户提供不同的用户ID以查看他们不应该被允许查看的数据。

但是,如果您在报表中使用内部参数,但希望它在报表查看器控件外保持功能,则需要指定一个适当的默认值。否则,报告将无法从报告管理器或报告服务器中使用。

+1

我正在玩弄使用UserId的方式(通过报表服务器呈现的报表),以根据谁在查看报表来过滤报表中的信息。我迄今发现的例子并没有使用隐藏参数。这将是一个很好的情况下使用隐藏参数? ...是的,但我需要提供默认值?...默认值可以是UserID变量? – whytheq 2012-03-24 16:35:40

+2

@Whytheq如果您使用“隐藏”参数,用户仍然可以通过编辑URL来模拟其他用户。 – TomG 2014-06-10 12:34:46

+0

@TomG谢谢 - 所以基本上一个经验法则是,如果用户从不需要知道参数的值然后使它们成为内部的? – whytheq 2014-06-10 12:42:11

2

如果将参数设置为Internal,则除报告定义(数据集查询或存储过程)外,不会以任何方式公开它。换句话说,内部参数是一个在运行时无法更改的参数。已发布报告的最终用户绝不会将此视为参数。但发布商可以随时在报告的管理选项中更改参数值。 你可以找到例如内部参数的在这个环节的功能: https://sqlserverreportingservices.wordpress.com/2012/11/16/using-internal-parameters-to-filter-data-without-user-intervention/

1

如果您将参数设置为隐藏,会当用户在报表服务器上订阅,但可以看到,如果你设置的参数为Internal ,具有浏览器角色的用户无法看到并更改它。