SSRS转换和约会

时间:2017-03-30 02:34:48

标签: reporting-services

我正在编写一份报告,需要根据列中的特定值显示不同的日期计算。如果订单为“活动”,则启动时间为“现在”或者如果订单停止,则开始停止时间。

单个DateDiff表达式可以工作,但是当我尝试使用switch或IIF将它们组合在一个表达式中时,我会收到错误。

任何建议都会很棒。

=IIF(Fields!OrderStatus.Value="Active", DateDiff("d",Fields!OrderStartTime.Value, "Now"()),
       IIF(Fields!OrderStatus.Value="Discontinued", DateDiff("d",Fields!OrderStartTime.Value, Fields!DiscontinueTime.Value)
       )
)


=Switch(Fields!OrderStatus.Value="Active", 
DateDiff("d",Fields!OrderStartTime.Value, "Now"()),
Fields!OrderStatus.Value="Discontinued", 
DateDiff("d",Fields!OrderStartTime.Value, Fields!DiscontinueTime.Value),
)

1 个答案:

答案 0 :(得分:0)

你缺少第二个iif语句的第三个参数(在这种情况下,它将是{Nothing}。这应该有效:

= IIF(字段!OrderStatus.Value = “有效”,则DateDiff( “d”,字段!OrderStartTime.Value,今天()),IIF(字段!OrderStatus.Value = “停产”,则DateDiff( “d” ,字段!OrderStartTime.Value,字段!DiscontinuedTime.Value),为Nothing))