Указание согласованных цветов в нескольких фигурных диаграммах в отчете с разбивкой на страницы (построитель отчетов)

Применяется к: Microsoft Report Builder (SSRS) Power BI Report Builder Конструктор отчетов в SQL Server Data Tools

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

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

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

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

Примечание.

Файлы определения страничных отчетов (.rdl) можно создавать и изменять в Microsoft Report Builder, Power BI Report Builder и в конструктор отчетов в SQL Server Data Tools.

Задать единые цвета для нескольких спарклайн-диаграмм фигур в таблице или матрице

  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)