我有一个存储过程,它返回我在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)
无论哪种方式我都会收到错误
文本框的值表达式使用不带范围的聚合表达式 除非报告包含一个数据集,否则在数据区域外使用的所有聚合都需要范围。
有人可以帮我解释一下我的错误吗?
答案 0 :(得分:1)
你发现它不会以你想要的方式工作。
您可以尝试使用您的表达式将计算字段添加到数据集1,然后将该字段与该新字段相加。
=IIF(DateDiff("d", Fields!e_nextdate.Value, TODAY() ) < 0, 1, 0)
表达式:
="Events Overdue: " & Sum(Fields!CalcField.Value, "DataSet1")