2017-05-15 9 views
0

値に基づいてセルを塗りたいと思っていました。最初の式はLimeGreenのみで動作しますが、IIFはすべてのケースで動作します。どうして?SSRSのスイッチ式

=Switch(
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) > 0, "LimeGreen", 
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) <= 0 & 
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) >= -0.05, "Yellow", 
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) < -0.05, "Red") 

=IIF(
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) > 0, "LimeGreen", 
    IIF(Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) < 0.05, "Red", "Yellow") 
) 
+3

あなたは本当にシンボル '&' = 'And'ですか?私はそれが文字列の連結に使用されていると思う。 –

+0

あなたは正しい。私は2番目の条件を削除し、他のものとして黄色を入れました。 – Testtest11

+1

Code.Trend()は何を返しますか? – BishNaboB

答えて

1
=Switch(
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) > 0, "LimeGreen", 
Code.Trend(Variables!Sold1.Value, Variables!Sold2.Value) >= -0.05, "Yellow", 
True, "Red") 

0以上のものはLimeGreenします。その後、-05を超えるものは黄色になります。他のすべては赤です。

最初のテストでは> 0を探しますので、残りのオプションはすべて< = 0です。これは、2番目のテストがすべて-05と0の間のすべての値であることを意味します。最後のテストはすべてがキャッチですが、値は< -.05です。