[英]SSRS: change font color based on the expression
我正在嘗試為ssrs中的字體顏色提供以下表達式:
=IIF(Fields!A.Value<>0 AND Fields!P.Value <>0, IIF(Fields!A.Value >= Fields!P.Value, "Green", "Red"), "Black")
它適用於所有數字,除非當A或P均為0時,我都將A和P都設為黑色。
基本上,我想要的是:
IIF語法沒有按我預期的那樣工作,即當我在P中有0,在A中有5時,字體顏色應該是綠色,反之亦然應該是紅色。
我必須設法解決我想要的Switch語句。
=Switch(Fields!A.Value>=Fields!P.Value and (Fields!P.Value<>0 AND Fields!P.Value <>0), "Green",
(Fields!A.Value = 0 and Fields!P.Value =0), "Black",
(Fields!A.Value=0 AND Fields!A.Value < Fields!P.Value), "Red",
(Fields!P.Value = 0 AND Fields!A.Value > Fields!P.Value), "Green")
有人可以向我解釋為什么我的IIF聲明不起作用嗎?
非常感謝您的幫助。 謝謝。
如果你的問題是
我的值是P = 0,A = 5,但顏色不是綠色
(我認為是)
這是因為您正在使用構造
=IIF(Fields!A.Value<>0 AND Fields!P.Value <>0 , truepart, falsepart)
您是說,只有做到真正的一部分,當A不為零,P是不為零。 因為您正在比較值0和5,然后因為其中之一為零,所以將執行假部分。
實施規則
- 當A = P = 0黑色時
- 當A> = P(例如,假設兩者均為5)時,則為綠色
- 當A <P紅色
然后,您將需要一個類似
=iif(Fields!A.Value = 0 AND Fields!P.Value = 0, "Black", <-- Set to Black if both zero
iif(Fields!A.Value >= Fields!P.Value , "Green", <-- Else, set to Green if A >= P
"Red")) <-- Otherwise set to Red
希望這會有所幫助。 如果我誤解了,請告訴我,我將盡力提供進一步的幫助
您的IIF
無效,因為它在做其他事情。 要了解它在做什么,該IIF
的等效SWITCH
為:
=Switch(Fields!A.Value>=Fields!P.Value and (Fields!P.Value<>0 AND Fields!P.Value <>0), "Green",
NOT(Fields!A.Value>=Fields!P.Value and (Fields!P.Value<>0 AND Fields!P.Value <>0)), "Black",
Fields!A.Value<>0 AND Fields!P.Value <>0 AND NOT(Fields!A.Value >= Fields!P.Value), "Red"
您實際需要的是:
IIF(
Fields!P.Value=0 AND Fields!P.Value =0,
"Black",
IIF(
Fields!A.Value>=Fields!P.Value,
"Green",
"Red"
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.