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

Reporting services 在一个表达式中使用两个数据集的SSRS 2005语法,reporting-services,reportingservices-2005,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.Val

我有下面的表达式,它可以很好地添加两个值:正常工作时间和加班时间

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”子句的一部分注入,因为它需要来自不同的数据集。

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

  • 查阅[msdn][1]
  • 看起来心烦意乱
  • 多重查找
  • 但是这些函数来自MS SQL 2008R2版本的SSRS,不幸的是,在SSRS 2005中,您不能这样做,您应该只在数据库级别合并数据集

    [1] :??

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

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

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


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

    SSRS不允许您以行为单位直接组合两个不同数据集中的值-有关更多详细信息和替代解决方案,请参阅此问题的答案:Yikes!这是一个相当严重的限制。我必须找到一个不同的解决办法。谢谢你的反馈和另一个问题的链接,马克。