Поделиться через


Как указать согласованные цвета для нескольких фигурных диаграмм (построитель отчетов версии 3.0 и службы SSRS)

На нефигурных диаграммах новые цвета выбираются из палитры, связанной с индексом рядов в диаграмме. Например, первый ряд в диаграмме сопоставлен с первым цветом палитры. Однако в фигурных диаграммах используется другой принцип. В фигурных диаграммах каждый цвет палитры сопоставлен с точкой данных в наборе данных. Так, точка данных 1 сопоставлен с первым цветом палитры, точка данных 2 — со вторым цветом палитры и т. д.

Если точка данных не имеет значения, она опускается из изображения на фигурной диаграмме. Это означает, что точка данных не включается в число окрашиваемых. Так, если точка 2 имеет значение «ноль», точка 1 будет соответствовать первому цвету палитры, а точка 3 — второму цвету палитры. Такой подход полезен, поскольку пустые точки набора данных круговой диаграммы не обязательно используют палитру цветов, когда нет необходимости рисования пустой точки.

В качестве побочного эффекта при отображении в отчете нескольких круговых диаграмм расположенные в этих диаграммах точки данных одной и той же категории группирования могут отображаться различными цветами. Для решения этой проблемы необходимо определять индивидуальные цвета, соответствующие группе категорий, а не индивидуальным значениям данных. Способ определения зависит от того, представляет ли собой фигурная диаграмма спарклайн в таблице или матрице или она непосредственно находится в отчете.

Условные обозначения связаны с рядом, поэтому любой цвет, заданный пользователем для ряда, будет автоматически отображаться в условных обозначениях.

ПримечаниеПримечание

В построителе отчетов и в конструкторе отчетов среды Business Intelligence Development Studio можно создавать и изменять определения отчета (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» пользователю следует заменять собственными цветами. Можно использовать именованные цвета, например, «Красный», или представляющие тот или иной цвет шестиразрядные шестнадцатеричные значения, такие, как "#FFFFFF" для черного. Если определено более трех цветов, нужно расширить массив цветов, чтобы число цветов в массиве соответствовало числу точек в фигурной диаграмме. Можно добавлять новые цвета к массиву, составив список строковых значений с разделителями-запятыми, содержащий именованные цвета или шестнадцатеричные представления цветов.

  3. Нажмите кнопку ОК.

  4. Щелкните правой кнопкой мыши фигурную диаграмму и выберите пункт Свойства ряда.

  5. В меню Заливка нажмите кнопку Выражение (fx) и измените выражение для свойства Цвет.

  6. Введите следующее выражение, где "MyCategoryField" ― это поле, отображаемое в области Группы Категорий (Category Groups):

    =Code.GetColor(Fields!MyCategoryField)
    

См. также

Задания

Основные понятия