2013-04-16 3 views
1

Я создал гистограмму, которая имеет 1 серию данных и около 8 баров со значениями в диапазоне 0-100%. Некоторое время назад я нашел учебное пособие о том, как сделать разные цвета для столбцов в одной и той же серии данных и попытался изменить его в соответствии с моими текущими потребностями, но я делаю что-то неправильно.SSRS - гистограмма - шкала цвета шкалы в зависимости от значения

различных цветов в тех же сериях данных работают так:

отредактировать код отчета, чтобы добавить следующую функцию:

Private colorPalette As String() = {"Green", "Blue", "Red", "Orange", "Aqua", "Teal", "Gold", "RoyalBlue", "#A59D93", "#B8341B", "#352F26", "#F1E7D6", "#E16C56", "#CFBA9B"} 
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 

Теперь у меня есть общедоступный функцию GetColor, который я использую в формуле для серии данных цвета на графике (свойства серии, вкладка «Заливка»):

=Code.GetColor(Fields!proc_choroby.Value)

Я пытался т o изменить исходную функцию для возврата цветов в зависимости от значения серии. Я написал этот код, но это, видимо, не так:

Public Function GetColor(ByVal value As Single) As String 
    Dim color As String 
    If value < 0.4 Then 
    color = "FFFFCC" 
    ElseIf value > 0.4 And value < 0.6 Then 
    color = "FFFF00" 
    ElseIf value > 0.6 And value < 0.7 Then 
    color = "FFCC00" 
    ElseIf value > 0.7 And value < 0.8 Then 
    color = "FF9900" 
    ElseIf value > 0.8 And value < 0.9 Then 
    color = "993300" 
    Else: color = "800000" 
    End If 
    Return color 
End Function 
+0

Ваше более чем добровольно опубликуйте свои собственные вопросы и ответы. Я только что ответил на ваш вопрос и отвечу. Также ** отметьте свой ответ **, чтобы помочь другому пользователю. – glh

+0

Еще 15 часов, пока я не смогу ответить на свой вопрос. Благодарю. – fetta

ответ

0

Я только что нашел ошибку, вернулся цвет значения отсутствуют «#» в начале. Остальное работает точно так, как должно.

Моя проблема решена, но я собираюсь поставить вопрос в любом случае, если кто-то захочет использовать это в будущем, и я не нашел ничего в google по этому вопросу.

Смежные вопросы