2017-05-17 43 views
3

我在SSRS報告在那裏我能夠交替使用這個表達式的行顏色交替行的顏色:SSRS與列組

=IIF(ROWNUMBER(NOTHING) MOD 2, "LightSteelBlue","WhiteSmoke") 

這個偉大的工程。但是,我有一個報告有一個列分組,這似乎混亂了交替的行顏色。

Report Image

的分組的列將交替列的顏色,而不是行的顏色。我已經搜索並找到了可能的行分組解決方案,但是沒有列分組,或者至少我沒有辦法工作。我只是想讓其他所有行都成爲「LightSteelBlue」或「WhiteSmoke」,沒什麼特別。

任何想法?

+0

我一直覺得在SSRS中替換行顏色很煩人。也許試着把表達方式放在行分組上(我相信這是正確的術語 - 自從我使用SSRS以來就有點兒了) –

+0

您是否只能替換主組?或者你是否試圖讓孩子羣體適應這種變化? –

+0

只有主組是交替的。列分組是行的一部分,所以顏色需要與行的其餘部分相匹配。由於只有一個行分組,因此我無法在行分組上放置較高的表達式。 – jackstraw22

回答

0

嘗試使用runningvalue代替ROWNUMBER其中字段名稱是您的詳細信息行領域:

= IIF(VAL(runningvalue(場yourfield.Value,countdistinct,無))MOD 2, 「LightBlueSteel」 「的WhiteSmoke」)

+0

如果我使用LastName的行分組填充字段!yourField.Value,則顏色僅在姓氏更改時交替出現,但這種方法不起作用,因爲我有記錄重複同一個人的位置。如果我使用StatusName的列組,它只會將頂部行更改爲藍色,其餘全部爲白色。 – jackstraw22

2

這裏是我想出瞭解決方案:「ROWNUMBER」

  1. 添加列表中的右端,並命名該文本框將可見性設置爲隱藏。

  2. 將表達式添加到RowNumber文本框中。

    =RunningValue(Fields!last_name.Value & Fields!entity_name.Value, CountDistinct, "dataset name") 
    
  3. 添加表達到Details行的背景顏色:

    =IIF(ReportItems!RowNumber.Value mod 2 > 0, "LightSteelBlue", "WhiteSmoke") 
    

的RunningValue()函數需要唯一的值。在我的情況下,由於屬於不同實體的一個成員,成員名稱可以重複多次。因此,我組合了last_name和entity_name以獲取唯一值。

希望這會有所幫助。

+1

您也可以組合這兩個表達式,這樣您就不需要添加列。 '= IIf(RUNNINGVALUE(Fields!last_name.Value&Fields!entity_name.Value,CountDistinct,Nothing)MOD 2,「LightSteelBlue」,「WhiteSmoke」)' –