SSRS(报表服务器)中的日期差异函数出错?



我试图使用DateDiff函数找到两个日期之间的天数间隔。 我定义了 2 个数据集。如果companycode是"AB",那么我从一个数据集中检索另一个数据集的数据。

这是我的表达。当我切换到预览模式时,它会在第一行First(Fields!PeriodFrom.Value显示红色标记。为什么?(生成报告后,该字段显示#Error

我在这里做错了什么?

=IIF(Parameters!CompanyCode.Value="AB", 
DateDiff("d",First(Fields!PeriodFrom.Value, "ABReportData"), First(Fields!PeriodTo.Value, "ABReportData")),
DateDiff("d",First(Fields!PeriodFrom.Value, "XYReportData"), First(Fields!PeriodTo.Value, "XYReportData")))

我认为有两种可能的情况。第一个是表达式

=First(Fields!PeriodFrom.Value, "ABReportData")

不返回值。使用此表达式添加一个列,并检查是否获得值。

如果值正确,请确保DateDiff()函数获取日期:

=IIF(Parameters!CompanyCode.Value="AB", 
DateDiff("d",
CDate(First(Fields!PeriodFrom.Value, "ABReportData")), 
CDate(First(Fields!PeriodTo.Value, "ABReportData"))
),
DateDiff("d",
CDate(First(Fields!PeriodFrom.Value, "XYReportData")), 
CDate(First(Fields!PeriodTo.Value, "XYReportData"))
)
)

最新更新