【发布时间】:2016-05-31 00:52:57
【问题描述】:
我有一个简单的 SSRS 报告,它由两部分组成:详细信息部分和标题部分。标题有标题,细节有存储过程结果集。
报告调用存储过程 dbo.usp_GetChanges,如下所示:
create procedure dbo.usp_GetChanges
as
declare @Date int
select top 1 @Date = datekey
from DatesProcessed order by DatesProcessedid desc
select RunDate, OldName, NewName from EmployeeLog
where RunDate = @Date
如果最后一次运行日期是 20150215,那么结果如下所示:
20150215 Joe John
20150215 Mary Marie
20150215 Bob Bobo
对于 SSRS 标头,我使用 SP 的结果集来填充标题。所以当天报告的标题是:Changes for 20150215
但是假设在报告运行的那一刻,没有进行任何更改,因此 SP 没有返回任何内容。是否可以使用相同的存储过程返回 @Date?
我知道有几种方法可以解决这个问题(即子报告、另一个 SP 等);我正在寻找可以集成到这个存储过程中的解决方案。
我正在考虑向 SP 添加一个 OUTPUT 变量(即@Date datetime OUTPUT),但 SSRS 将其解释为输入参数。我尝试将其隐藏在 SSRS 中,但它要求我提供参数值,即使它没有用于此目的。
谢谢。
【问题讨论】:
标签: sql-server tsql stored-procedures reporting-services ssrs-2008