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

Reporting services SSRS(报表服务器)中的DateDiff函数出现错误?,reporting-services,ssrs-2012,ssrs-tablix,Reporting Services,Ssrs 2012,Ssrs Tablix,我正在尝试使用DateDiff函数查找两个日期之间的天数差。 我定义了两个数据集。如果companycode为'AB',则从一个数据集或另一个数据集检索数据 这是我的表情。当我切换到预览模式时,它会在第一个行(字段!PeriodFrom.Value行)显示红色标记。为什么?(生成报告后,该字段显示#Error 我做错了什么 =IIF(Parameters!CompanyCode.Value="AB", DateDiff("d",First(Fields!PeriodFrom.Valu

我正在尝试使用DateDiff函数查找两个日期之间的天数差。 我定义了两个数据集。如果
companycode
为'AB',则从一个数据集或另一个数据集检索数据

这是我的表情。当我切换到预览模式时,它会在第一个
行(字段!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"))
              )
     )

问题是日期格式。我像'01-08-2019'一样传递。但函数适用于'2019-08-01'格式。是的,我想是这样的。而
CDate()
在大多数情况下解决了这个问题。