SSRS 2008:是否可以为某些链接报告创建一个基于查询的报告参数?

时间:2010-03-12 18:36:21

标签: reporting-services ssrs-2008

我怀疑答案是否定的,但这里就是......

我在面向公众的网站上使用WebForms Report Viewer,允许用户报告自己或用户(如果用户是管理员用户)。

报告有一个名为Users的参数,管理员可以从列表中选择用户并从中生成报告。 Mundane用户也可以查看此报告,但我以编程方式为每个用户创建链接报告,并将UserID值设置为其ID,以便他们只能自己查看。

除了UserID参数是基于查询的,并且并非使用默认设置在列表中显示每个用户(用户列表基于日期范围参数可以提供,并且只有我们认为'活动'的用户日期范围可见。)

对于那些在默认日期范围(上个月)没有活动的普通用户而言,这种情况正在爆发。

我怀疑执行流程是这样的:

  1. 使用默认参数报告加载
  2. 现在应用关联的报告规则,并使用链接报告中的ID覆盖UserID的值
  3. 现在隐藏了UserID字段以防止用户更改
  4. SSRS在查询结果中找不到UserID默认值(我甚至不希望它运行)因此显示错误'UserID'参数缺少值 < / LI>

    通过一些测试,我发现不在默认日期范围内的用户与无法查看报告的用户之间存在完美的关联。

    有人可以建议一种方法,使报告可用于那些不在默认列表中的用户吗?报告是以编程方式创建的,因此我对这种情况有了相当的控制。

    我希望能够简单地将链接报表中的参数标记为不再基于查询,但这些属性都是只读的。 我真的,真的不想创建重复的报告来容纳这些用户,但我现在有点亏。

    非常感谢任何建议!

2 个答案:

答案 0 :(得分:1)

  1. 进入链接报告的参数部分。
  2. 禁用“有默认值”
  3. 点击“应用”
  4. 重新启用'默认'
  5. 点击“应用”
  6. 你很高兴去!

    我还没想出如何在删除后重新启用“基于查询”作为默认值:( 如果你发现了......我会非常感激的。

答案 1 :(得分:0)

难道你不能将param标记为'nullable'然后从链接报告中传入null(你可能需要改变后端才能应对这个问题吗?

或者在“用户”日添加额外的行,例如-1“未知用户”,然后你可以只注意-1并相应地处理