2009-10-14 117 views
2

我有與代表不同的數據庫各列chart-柱形圖的形式爲SQL 2005和2008SSRS-圖表顏色編碼

我顯示輸出SSRS溶液。

有沒有辦法以不同顏色顯示每一列?

問候

Manjot

回答

2

你可以用一個公式來設置每個列的顏色,而是將工作最好的,如果你知道什麼是個別系列的值(「數據庫」?)都將是。

右鍵單擊您的圖表並調出其屬性。現在切換到數據選項卡並選擇Values列表中的第一項。點擊Edit...按鈕以顯示圖表中值(列)的屬性。在Appearance選項卡上有一個Series Style...按鈕,它將您帶到另一個對話框。

在這個新的Style Properties對話框中,切換到Fill選項卡。這就是您爲每個列設置顏色的位置。這可能是一個公式,所以你可能會使它像:

=Switch(
    Fields!Database.Value = "master", "Blue", 
    Fields!Database.Value = "msdb", "Red", 
    "Green") 

如果不提前其中「數據庫」會在圖表上表示知道,這種方法不能很好地工作。在這種情況下,你可能會想出一個公式來散列數據庫名稱並提供一個匹配的顏色。這聽起來像一個有趣的挑戰,所以如果你需要幫助來做這樣的事情,那麼請加上你的問題。

編輯

我剛買了一臺基於散列的顏色型方案的工作。這是一段非常討厭的代碼,但它確實爲我獲得了每個(字符串值)列的獨特顏色。也許有人可以想出更好的算法並將其發佈到此處。這裏是我的:

="#" & left(Hex(Fields!Database.GetHashCode()), 6) 

所以這是得到的字符串的哈希碼(數值),並將其轉換爲十六進制,然後採取最左邊的六個字符,並以「#」號前面加上它。這給了我們一個看起來像一個顏色值的字符串(例如#AB12F0)。

+0

太好了。 今晚我會試試。 謝謝堆! – Manjot 2009-10-14 01:35:41

+0

我剛剛給了它,但我一直無法使它與Switch()函數一起工作。如果您有同樣的問題,請嘗試使用嵌套的Iif()函數 - 對我來說工作正常。 – 2009-10-14 01:37:40

+0

如果您控制數據庫結構,則可以將顏色字段添加到表中並使用該字段,從而使您可以在所有圖表中保持一致的顏色。例如,我們的每個部門都會分配一種顏色,並且所有圖表都使用此顏色,因此無需繼續參考圖例即可查看此圖表中哪個部門是什麼顏色,從而可以輕鬆查看比較結果。 – 2009-10-14 02:57:28