在每个示例中,我都能找到方便的逻辑,这正是我正在使用的逻辑,但是我无法让它做我需要做的事情。看来我绝对不能在IIF表达式中使用AND条件,但是即使尝试解决这一问题,我也无法获得正确的结果。
尝试#1:
=iif(Fields!Days_to_Bill.Value >= 5, "Yellow", iif(Fields!Days_to_Bill.Value >= 10, "Red", "Transparent"))
尝试2:
=iif(Fields!Days_to_Bill.Value >= 5 and < 10, "Yellow", iif(Fields!Days_to_Bill.Value >= 10, "Red", "Transparent"))
这会导致以下错误:
我真的以为这将是一个超级简单的表达,但我一定会缺少一些东西。
答案 0 :(得分:1)
对于初学者来说,第二个IIF()
需要针对要检查的每个条件重复Fields!Days_to_Bill.Value
。
因此您需要=iif(Fields!Days_to_Bill.Value >= 5 and Fields!Days_to_Bill.Value < 10...
第二,第一个方程是正确的,您将获得预期的结果。在IIF()
语句中,它将停止在第一个“ True”值。结果集中的所有内容均为> = 5,因此它们均为黄色。
答案 1 :(得分:0)
如果仅更改表达式的顺序,则可以避免使用and
。只需先检查> = 10的值。另外,我怀疑所需的突出显示逻辑,因为我怀疑您在示例中犯了一些错误。
=iif(Fields!Days_to_Bill.Value >= 10, "Transparent", iif(Fields!Days_to_Bill.Value >= 5 "Yellow", "Red"))