SSRS(报表服务器)中的 DateDiff 函数出错?

DateDiff function in SSRS (report server) gives error?

我正在尝试使用 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")

没有 return 值。使用此表达式添加一列并检查是否获得值。

如果值正确,请确保 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"))
              )
     )