Reporting services SSRS(报表服务器)中的DateDiff函数出现错误?
我正在尝试使用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
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()
在大多数情况下解决了这个问题。