Я создал гистограмму, которая имеет 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
Ваше более чем добровольно опубликуйте свои собственные вопросы и ответы. Я только что ответил на ваш вопрос и отвечу. Также ** отметьте свой ответ **, чтобы помочь другому пользователю. – glh
Еще 15 часов, пока я не смогу ответить на свой вопрос. Благодарю. – fetta