Share via


如何:跨多個形狀圖指定一致的色彩 (報表產生器 3.0 和 SSRS)

在非形狀圖上,您可以根據圖表中的數列索引,從調色盤選取新的色彩。例如,圖表上的第一個數列將會對應到調色盤中的第一個色彩。不過,對於形狀圖來說,這個行為是不同的。在形狀圖上,調色盤中的每個色彩都會對應到資料集中的資料點。例如,資料點 1 對應到調色盤中的第一個色彩,資料點 2 對應到調色盤中的第二個色彩等等。

如果資料點沒有值,則不會顯示在形狀圖上。也就是說,資料點會略過而不顯示任何色彩。例如,如果點 2 的值為零,點 1 將會對應到調色盤中的第一個色彩,而點 3 將會對應到調色盤中的第二個色彩。這個方法相當實用,因為不需要繪製空點時,圓形圖之資料集中的空點不一定要使用調色盤色彩。

副作用是,在報表中顯示多個圓形圖時,圓形圖可能會針對具有相同類別目錄群組的資料點顯示不同的色彩。若要解決這個問題,您需要定義對應到類別目錄群組的個別色彩,而不是個別的資料值。做法取決於形狀圖是否為資料表或矩陣中的走勢圖,或它們是否為報表本身中的形狀圖。

圖例會連接到數列,因此,您針對數列指定的任何色彩都會自動顯示在圖例上。

[!附註]

您可以在 Business Intelligence Development Studio 中的報表產生器 3.0 及報表設計師中建立及修改報表定義 (.rdl)。每一個撰寫環境都提供了不同的方式讓您建立、開啟,以及儲存報表和相關的項目。如需詳細資訊,請參閱在報表設計師及報表產生器 3.0 (SSRS) 中設計報表,位於 microsoft.com 網站上。

若要在資料表或矩陣中跨多個走勢圖形狀圖指定一致的色彩

  1. 按一下圖表,即可顯示 [圖表資料] 窗格。

  2. [類別目錄群組] 區域中,以滑鼠右鍵按一下某個類別目錄,然後按一下 [類別目錄群組屬性]

  3. 在 [一般] 索引標籤的 [將群組同步處理於] 方塊中,按一下您要同步處理其色彩之類別目錄的名稱,然後按一下 [確定]

若要跨多個形狀圖指定一致的色彩

  1. 以滑鼠右鍵按一下報表主體的外面,然後選取 [報表屬性]

  2. [程式碼] 中,將下列程式碼輸入到文字方塊中。

        Private colorPalette As String() = {"Color1", "Color2", "Color3"}
        Private count As Integer = 0
        Private mapping As New System.Collections.Hashtable()
        Public Function GetColor(ByVal groupingValue As String) As String
            If mapping.ContainsKey(groupingValue) Then
                Return mapping(groupingValue)
            End If
            Dim c As String = colorPalette(count Mod colorPalette.Length)
            count = count + 1
            mapping.Add(groupingValue, c)
            Return c
        End Function
    

    [!附註]

    您需要將 "Color1" 字串取代成您自己的色彩。您可以使用具名色彩 (例如 "Red"),或者您可以使用代表色彩的六位數十六進位值 (例如 "#FFFFFF" 代表黑色)。如果您已經定義三個以上的色彩,您將需要擴充色彩的陣列,讓陣列中的色彩數目符合形狀圖中的點數。您可以指定包含具名色彩或色彩十六進位表示法之字串值的逗號分隔清單,以便將新的色彩加入到陣列中。

  3. 按一下 [確定]。

  4. 以滑鼠右鍵按一下形狀圖,並選取 [數列屬性]

  5. [填滿] 中,按一下 [運算式] (fx) 按鈕來編輯 [色彩] 屬性的運算式。

  6. 輸入下列運算式,其中 "MyCategoryField" 是顯示在 [類別目錄群組] 區域中的欄位:

    =Code.GetColor(Fields!MyCategoryField)