【发布时间】:2018-08-14 14:15:41
【问题描述】:
我正在尝试设置日期范围。我收到一个名为 @EffectiveDate 的参数,我想设置一个从生效日期前 3 年开始的范围。
举个例子。这是工作代码。
CStr(Format(CDate(DateAdd(DateInterval.Year, -3, Today())),"yyyy"))
但是当我尝试使用下面的参数时
=CStr(Format(DateAdd(DateInterval.Year, -3, CDate(Parameters!EffectiveDate.Value)),"yyyy"))
我得到一个错误。我不知道错误是什么。运行报告时我看到的只是#Error。
该参数在 SSRS 中设置为“日期/时间”,我什至将其转换为以防万一。
以下代码确实有效
=CStr(Format(CDate(Parameters!EffectiveDate.Value),"yyyy"))
所以看起来确实是“DateAdd”方法
任何帮助将不胜感激。谢谢
【问题讨论】:
-
它看起来应该可以工作了。如果您在 Visual Studio 中运行报告,您应该会在 错误列表 窗口中收到 有点 有用的错误消息,该消息可能会缩小哪个函数存在问题的范围。 FORMAT 已经转换为字符串,因此 CSTR 应该是不必要的。
-
我会排除所有功能并一次添加一个,直到出现错误。首先只是 EffectiveDate 参数,然后添加 CDATE,然后(如果有效)DateAdd 函数,然后格式化,CSTR ...您也可以尝试
CSTR(YEAR(Parameters!EffectiveDate.Value) - 3)
标签: visual-studio reporting-services ssrs-2008