【发布时间】:2014-07-29 14:58:14
【问题描述】:
我的问题是在 DataSet (exec pStoredProcedure) 中执行存储过程时,SSRS 会填充不同的字段供我使用。我希望对这些字段之一进行额外查询。 数据集 1 是:
exec pInfos @SessionGUID=@SessionGUID
数据集 2 很简单:
select * from myTable where infoHeader is @HeaderInfo
在此查询中,@HeaderInfo 是我返回的第一个 DataSet 中的数据字段。请注意,tablix 正在扩展 @HeaderInfo 的数量。
将这个字段作为参数放入并将结果放入 tablix 的简单方法是什么? (注意 tablix 数据源是 dataset1)。
【问题讨论】:
-
最简单且合乎逻辑的方法是让存储过程返回您需要的完整数据集。
-
@TMNT2014 不幸的是,我无法修改数据库端的存储过程。除了引用数据字段之外,还有其他方法可以保存我需要的数据集部分吗?
-
第一部分非常简单。您需要添加一个多值 [@] HeaderInfo 参数,从第一个数据集的字段中设置值并在第二个数据集中引用它 - 从 myTable 中选择 *,其中 infoHeader 在 (@HeaderInfo)。这将为您提供所需的两个数据集。将这两个数据集结合起来会是个问题。您是否有机会使用 SSRS 2008 R2? R2 版本有一个方便的查找功能,可以轻松地将两个数据集联系在一起。
标签: sql stored-procedures reporting-services ssrs-2008 field