【发布时间】:2012-10-05 18:10:02
【问题描述】:
我正在从 SQL 中的存储过程创建一个 SSRS 报告,当我将数据集添加到报告中时,我发现我必须将其添加到我的过程的顶部,以便将字段返回到我的存储过程中的数据集:
IF 1=2 SELECT '' as [Date], '' as [Portfolio ID], '' as [Portfolio Base Ccy], 0 as [All in Market Value Base], 0 as [All in Market Value Converted]
为什么我必须这样做,为什么 SSRS 不能简单地接受:
SELECT [Date], [Portfolio ID], [Portfolio Base Ccy], [All in Market Value Base], [All in Market Value Converted]
FROM @Worktable
从我的程序底部或
SELECT * FROM @Worktable
?
编辑: 好的,我想我已经将我的程序中的问题缩小到面对我的程序中有一个调试参数。因此,如果此参数设置为“Y”,那么我会显示我的程序的每个步骤,这使得调试更容易(如果需要,我可以添加一个示例)。同样在我的程序结束时,我的最终结果集有一个 if 语句:
IF @ReportType IN ('SSD', 'TTD', 'STD')
BEGIN
SELECT.........
END
IF @ReportType IN ('SS', 'TT', 'ST')
BEGIN
SELECT.........
END
这也是一个问题吗?
【问题讨论】:
-
你对存储过程做了什么特别的事情吗?在数据集对话框中,当您简单地选择源过程时会发生什么?另外,能否请您发布您的程序名称,以便我们查看您在做什么?
-
通常你会将数据集的“命令类型”属性设置为“存储过程”,对于数据集的查询,只需输入存储过程的名称。您能否补充一下您是如何设置数据集属性的?
标签: tsql reporting-services ssrs-2008