SSRS 2005在一个表达式中使用两个数据集的语法

时间:2013-02-11 18:09:14

标签: reporting-services reportingservices-2005

我有以下表达式可以很好地添加两个值,即常规小时和加班时间。

Sum(IIF(Fields!BillStatus.Value = "F", (CDec(Fields!RegHrs.Value) + CDec(Fields!OvtHrs.Value)),CDec(0)),"ReportDataset")

我需要做的是添加第三个值,但是第三个值将来自不同的数据集,我似乎无法找到适当的语法。

不知何故,在OvtHrs.Value之后,我需要说一些有关...的效果

+ (Fields!HoursWorked.Value, "RBaseJobBaseline")

如何将该值作为IIF“true”子句的一部分注入,因为它需要来自不同的数据集。

2 个答案:

答案 0 :(得分:2)

在SSRS中组合集合的唯一方法是

  1. 查找[msdn] [1]
  2. LookupSet msdn
  3. MultiLookup msdn
  4. 但是这些功能来自MS SQL 2008R2版本的SSRS ,遗憾的是SSRS 2005中的 你不能这样做,你应该只在数据库级别组合数据集。

    [1]:http://technet.microsoft.com/en-us/library/ee210531.aspx ????

答案 1 :(得分:0)

将您的数据集(或SQL查询)合并到一个查询中。

使用SSRS2005中的DATASETS选项(通过控件的属性),使用报告聚合函数(如FIRST(),SUM()等)捕获“根”或主数据集。

要报告单个数据集的详细信息,请使用FIELDS选项。

SSRS2005一次只能处理一个数据集,除非您使用具有不同数据集的多个表(或查找参数等),但它们仍然完全相互独立。