首页 > 解决方案 > 如何检索报表中未设置的参数值?

问题描述

我在报表生成器中工作,调用一个存储过程,该过程具有一个参数,当为空时,它将自身设置为某个值。我想在报告中显示此参数设置的内容。通过实验,报表生成器的参数集合仅显示从报表发送的参数。

我考虑过但无法工作或次优的替代方案:

  1. 将参数添加到 select 语句。主要缺点是如果没有结果,则不会显示值。
  2. 使用返回值或输出参数。似乎没有办法做到这一点。
  3. 在存储过程中重新创建“null”逻辑。显示正确的输出,但这是一个代码分支。

我怎样才能显示这个值?有没有办法显示返回值或输出值?

标签: sql-serverreporting-servicesreportbuilder3.0

解决方案


您可以更改过程以在 UNION ALL 选择中返回参数值,以便始终返回具有参数值的行。该行对于所有其他列可能为 NULL,以便您可以在报告的其余部分中将其过滤掉。

另一种可能性是将第二个数据集添加到报表中,它只会根据您传递的内容获取参数的值。然而,这也是一种代码分叉。但是,可以通过将分叉放入 UDF 并在两个数据集中使用相同的 UDF 来减轻分叉。

另一种可能性是复制在报告中的自定义代码块中填充参数的逻辑。但是,这也是一个代码分叉。


推荐阅读