【问题标题】:DateAdd function inside an IIF expression not workingIIF 表达式中的 DateAdd 函数不起作用
【发布时间】:2015-12-10 03:19:48
【问题描述】:

我正在处理一个 SSRS 文档,并在 IIF 表达式中使用 DateAdd 作为其中一个字段的值。它是这样的:

=IIF((Sum(Fields!Promo_BLen.Value) - Sum(Fields!Promo_Plan.Value)) >= "0" ,  DateAdd("s",Sum(Fields!Promo_BLen.Value) - Sum(Fields!Promo_Plan.Value),"00:00:00") , DateAdd("s",Sum(Fields!Promo_Plan.Value) - Sum(Fields!Promo_BLen.Value),"00:00:00"))

字段的值是数字,然后我将其格式化为“00:00:00”时间格式。出于某种原因,我不断收到错误消息。 另外,如果有任何帮助,我正在开发 VisualSudio 2013

有什么线索吗?

【问题讨论】:

  • 所以你要在字符串中添加秒数?您是否尝试过先将"00:00:00" 转换为日期时间而不是字符串?

标签: visual-studio-2013 reporting-services


【解决方案1】:

我用类似的公式进行了一些测试并想出了一些东西。似乎即使您达到一个输出(“条件为真”部分),它仍然会尝试计算另一个输出。如果你执行 DATEADD("s", -1, "00:00:00") 那么你会得到一个错误。

根据您要执行的操作,我建议使用以下解决方案: =DATEADD("s", ABS(Sum(Fields!Promo_Plan.Value) - Sum(Fields!Promo_BLen.Value)),"00:00: 00")

【讨论】:

  • 发挥它的魅力,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多