当您有2个数据集时,SSRS表达式可根据其他行值计算行数

时间:2015-09-03 18:30:06

标签: ssrs-2008-r2

我有一个存储过程,它返回我在SSRS 2008R2中使用的值。该报告有2个数据集, Dataset1 Dataset2 。在报告中,我使用文本框中的表达式计算行

="Number of Events: " & Count(Fields!e_code.Value,"DataSet1")

工作正常。

我还需要根据存储过程中被称为days的另一列的值来计算另一个tetxbox中的行。我使用

获得该列
DATEDIFF(DAY,GETDATE(),hevents.e_nextdate) as Days

当我尝试创建新的文本框表达式

="Events Overdue: " & Sum((Fields!e_code.Value,"DataSet1")IIF(Fields!Days.Value "DataSet1")<0,1,0) 

="Events Overdue: " & Sum(IIF(DateDiff("d",Fields!e_nextdate.Value,"DataSet1", Now())<0)

无论哪种方式我都会收到错误

  

文本框的值表达式使用不带范围的聚合表达式   除非报告包含一个数据集,否则在数据区域外使用的所有聚合都需要范围。

有人可以帮我解释一下我的错误吗?

1 个答案:

答案 0 :(得分:1)

你发现它不会以你想要的方式工作。

您可以尝试使用您的表达式将计算字段添加到数据集1,然后将该字段与该新字段相加。

=IIF(DateDiff("d", Fields!e_nextdate.Value, TODAY() ) < 0, 1, 0)

表达式:

="Events Overdue: " & Sum(Fields!CalcField.Value, "DataSet1")