我在報表中遇到表達式問題。我根據其中的值爲表格中的文本框背景着色。該字段中的文本涉及SQL Server的備份。該值是日期或文本「尚未採取」。如果日期超過2天,我想讓背景變成黃色。如果它的一週以上或日期值爲「尚未採用」,我希望背景爲紅色。否則,它會變成綠色。SSRS表達式評估問題
,因爲我開始爲SSRS報告(在幾個星期前)我已經遇到的問題是,我的表情似乎得到完全評估。即使只使用其中的一個,IF語句也會評估其真值和假值。
這成爲一個問題,因爲「尚未採取」顯然不是一個日期,並與我需要將日期字符串轉換爲日期的日期一起工作。下面是代碼我目前:
=IIF(Fields!LastBackUpTaken.Value = "Not Yet Taken","Red", IIF(IsDate(Fields!LastBackUpTaken.Value) = true,
IIF(CDate(Fields!LastBackUpTaken.Value).AddDays(Parameters!DaysTillExpiry.Value).CompareTo(NOW()) = 1,
"GreenYellow",
IIF(CDate(Fields!LastBackUpTaken.Value).AddDays(7).CompareTo(NOW()) = 1, "Yellow", "Red")),
"Red"))
所以基本上,表達寫着「如果LastBackUpTaken.Value =‘尚未採取’,返回紅色如果不是‘尚未採取’檢查以查看字符串是否爲日期如果不是日期,則返回紅色如果日期是計算並返回相應顏色
此表達式適用於所有文本字段, t「還未拍攝」作爲其文本,對於那些確實有「還未拍攝」的字段,因爲其文本沒有任何顏色設置。 o提及,無論何時文本「尚未採取」
任何想法?
謝謝!我知道這個代碼,但並不是很喜歡它,它試圖按照我希望的方式使用Report參數。沒有想到這個解決方案,但它奇妙地工作。 – 2008-11-28 18:58:11