2013-02-19 27 views
0

我有一個包含兩列的報告。這兩列被命名爲「本月」或「上個月」。我正在嘗試在「本月」中與「上個月」中的數據相關的數據單元添加背景顏色。SSRS基於動態列中的數據的動態背景顏色

我熟悉使用IIF語句的動態顏色編碼,但似乎無法弄清楚這一點。

下面,我想用一個LOOKUP命令來使用IIF,但我不確定我是否正確使用這個命令。任何幫助,將不勝感激。

=IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") < LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "LightGreen", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") = LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Yellow", 

IIF(LOOKUP(Fields!Type.Value = "This Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS") > LOOKUP(
Fields!Type.Value = "Last Month", Fields!Type.Value, Fields!Count.Value, "ExecutiveFCAPS"), "Orange", "Transparent"))) 
+1

你有多少數據集?如果有人綁定到列(即Tablix)?數據集中的哪些字段。請編輯您的問題,將此信息輸入。謝謝 – 2013-02-19 23:02:58

+0

這種複雜程度通常可以在您的數據集中得到最好的解決。使用SQL。這使您有機會調試和測試您的代碼。 – 2013-02-20 05:38:42

+0

@PreetSangha,字段是FCAPSSubType,類型(包含本月或上個月),計數。 – EdwardT 2013-02-20 18:35:19

回答

0

我相信你需要做幾件事情,如果我理解您的問題:

  1. 更改您lookup功能lookupset功能;
  2. 單獨替換field = "Month""Month",因爲這將導致只有一個布爾值,而不是查找月份;和
  3. 將它們包裝在sum函數中。

我強烈建議你回去的SQL和重新夾具它製作2個獨立的領域,一爲This Month,另一個用於Last Month那麼你可以得到完全擺脫lookup功能。

如果這不起作用,建議您調整feed sql以使每個月的值具有顏色,因爲您可以使用窗口子句。

此外,你可以嘗試在ssrs中的scope函數。一個很好的幫助理解的地方是here

+0

我確實相信你明白我在做什麼。我改變了查找lookupset幷包裝每個lookupset總和(例如= IIF(SUM(LOOKUPSET(FIELD ...))所有單元格的顏色都是無顏色的,我試着將它改回查找而不是lookupset,所有 – EdwardT 2013-02-20 18:13:39

+0

本月和上個月不是類型列中的唯一值,這些列中的值可以更改 – EdwardT 2013-02-20 18:46:14

+0

我認爲在此基礎上,您只有選項是範圍函數,這是一個廣爲人知的問題與矩陣類型的報告 – glh 2013-02-20 19:01:08

0

我最終在SQL中做了所有計算,並在我的數據集中添加了變化列。在SSRS中,我配置了顏色代碼以讀取變體列,並相應地設置顏色代碼。我使用CASE來設置變化列數據。 (Fields!Variation.Value = 2,「LightGreen」,IIF(Fields!Variation.Value = 3,「Transparent」,IIF(Fields!Variation.Value = 1,「Orange」,「Transparent」 )))