簡體   English   中英

SSRS:根據表達式更改字體顏色

[英]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都設為黑色。

基本上,我想要的是:

  1. 當A = P = 0黑色時
  2. 當A> = P(例如,假設兩者均為5)時,則為綠色
  3. 當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,然后因為其中之一為零,所以將執行假部分。

實施規則

  1. 當A = P = 0黑色時
  2. 當A> = P(例如,假設兩者均為5)時,則為綠色
  3. 當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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM