2016-09-26 98 views
0

我很難在SSRS中使用具有多個子句的if語句。錯誤在IF語句中使用多個子句SSRS

我使用的表達:

=IIF(DateDiff("d",Fields!Project_Target_Date.Value, Now())>-14 AND DateDiff("d",Fields!Project_Target_Date.Value, Now())<-1, "Yellow") OR IIF(DateDiff("d",Fields!Project_Target_Date.Value, Now())>-1, "Red", "Black") 

對於我得到的錯誤:

The Color expression for the textrun ‘Project_Target_Date.Paragraphs[0].TextRuns[0]’ contains an error: [BC30516] Overload resolution failed because no accessible 'IIf' accepts this number of arguments. 

我希望能設定目標日期的顏色以顯示黃色,如果2周之內現在,如果目標日期已過去,則顯示爲紅色,否則顯示爲黑色。

我想我離開/俯視簡單的事情。

任何幫助,將不勝感激!

謝謝!

回答

0

試試這個:

=IIF(
    DateDiff("d",Fields!Project_Target_Date.Value, Now())>-14 
    AND 
    DateDiff("d",Fields!Project_Target_Date.Value, Now())<-1, "Yellow", 
    IIF(
    DateDiff("d",Fields!Project_Target_Date.Value, Now())>-1, "Red","Black")) 

我比較喜歡的,而不是嵌套的綜合投資框架使用開關:

=Switch(
    DateDiff("d",Fields!Project_Target_Date.Value, Now())>-14 AND 
    DateDiff("d",Fields!Project_Target_Date.Value, Now())<-1, 
    "Yellow", 
    DateDiff("d",Fields!Project_Target_Date.Value, Now())>-1, 
    "Red", 
    true,"Black" 
) 

讓我知道,如果這有助於。

+0

完美,謝謝! –

0

您錯誤地嵌套您的IIF。您可以使用類似:

=IIF(DateDiff("d",Fields!Project_Target_Date.Value, Now())>-14 AND DateDiff("d",Fields!Project_Target_Date.Value, Now())<-1, "Yellow",IIF(DateDiff("d",Fields!Project_Target_Date.Value, Now())>-1, "Red", "Black")) 
+0

輝煌,謝謝! –