如何检索未在报告中设置的参数值?

时间:2018-11-07 20:09:43

标签: sql-server reporting-services reportbuilder3.0

我正在使用报表构建器,调用一个存储过程,该存储过程的参数为null时会将其自身设置为某个值。我想在报表上显示此参数的设置。通过实验,报表生成器的参数集合仅显示从报表发送的参数。

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

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

如何显示此值?有没有办法显示返回值或输出值?

2 个答案:

答案 0 :(得分:1)

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

另一种可能性是向报表中添加第二个数据集,该数据集除了根据您传递的内容获取参数的值外什么也不做。但是,这也是一种代码派生。但是,可以通过将分叉放入UDF中并在两个数据集中重新分配相同的UDF来缓解此分叉。

另一种可能性是复制在报表的“定制代码”块中填充参数的逻辑。但是,那也是代码叉。

答案 1 :(得分:0)

我从没在Report Builder界面中工作过,但是我在BIDS / VS中构建报表确实有很多经验...在rdl中将参数default设置为与ind中的默认值匹配就很简单了。存储过程。