我试图将秒数显示为分钟。有时我得到的价值是负面的。这会导致问题。我想检查值是否为负值,以便我可以指定默认值。但我不能让If和Format语句一起工作。
这是我在不转换成分钟的情况下显示值所做的工作:
=Fields!RateLossSeconds.Value
这是我将秒转换为分钟所做的工作:
=Format(DateAdd("s", Fields!RateLossSeconds.Value, "00:00"), "mm:ss")
这是我用来添加条件的代码:
=IIF(Fields!RateLossSeconds.Value < 0, 0, Format(DateAdd("s", Fields!RateLossSeconds.Value, "00:00"), "mm:ss"))
正如您所看到的,if语句无法正常工作。
答案 0 :(得分:1)
#Error是由于SSRS在IIF
逻辑流之前评估整个=IIF(
Fields!RateLossSeconds.Value < 0, 0,
Format(
DateAdd("s",IIF(Fields!RateLossSeconds.Value<0,0,Fields!RateLossSeconds.Value),"00:00"),
"mm:ss"
)
)
表达式引起的,因此即使您正在处理负值,它也会检查两个分支的错误。
尝试使用此表达式:
{{1}}
它检查第一个IIF()的False分支中是否有负值。 在这种情况下,我将负值替换为零,但您可以使用任何您想要的值。
如果有帮助,请告诉我。