2015-09-03 22 views
0

我有一个存储过程,它返回在SSRS 2008R2中使用的值。该报告有2个数据集,数据集1数据集2。在报告中,我使用文本框中的表达式计算行数当您有2个数据集时,SSRS表达式根据另一行值对行进行计数

="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) 

无论哪种方式,我得到一个错误

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

有人可以帮忙解释我要去哪里吗?

回答

0

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

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

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

为表达式:

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

谢谢你,伟大的工作!!!! –

相关问题