Я создал отчет, в котором пользователи могут выбрать компанию из сетки параметров, и он будет сравнивать результат с максимальным, минимальным, 2-м максимальным и 2-м мин (значения, сгенерированные с помощью пользовательского кода)
Если совпадение, он вернет взвешенную оценку, и я создал промежуточный итог для каждой строки, и я хотел бы использовать цветовое выражение для представления промежуточного итога в левой ячейке. (Если промежуточный итог больше 70, ячейка станет красным, ниже 49 станет зеленым, в промежутке от 50 до 70 станет желтым).
Для отчета столбец company и searchcompany является динамическим, строки являются статическими
Дизайн отчетов
Обзор отчетов
Однако, когда я реализую выражение, мой пользовательский код (все функции max min) не работает должным образом.
Представление дизайна отчета (размещение всех в одной строке)
Просмотр отчета (положить все в один ряд)
Я нашел решение, реализовав цветовое выражение в столбце промежуточных итогов.
Временное решение
Мне просто интересно, есть ли решение для меня, чтобы поместить все в одну колонку, как это?
Ожидаемый результат
Для пользовательского кода он ниже
Public Dim max1 As Integer
Public Dim max2 As Integer
Public Dim min1 As Integer
Public Dim min2 As Integer
Public Function setMinMax(ByVal v As Integer) As Integer
If max1=0 Then
max1 = v
ElseIf v>max1 Then
max2 = max1
max1 = v
ElseIf v<max1 And v>max2 Then
max2 = v
End If
If min1 = 0 Then
min1 = v
ElseIf v < min1 Then
min2 = min1
min1 = v
Elseif min2=0
min2 = v
ElseIf v<min2
min2 = v
End If
Return v
End Function
Public Function resetMinMax(ByVal s As String) As String
max1 = 0
max2 = 0
min1 = 0
min2 = 0
Return s
End Function
функция сброса (я не показывал в шапках экрана)
=Code.resetMinMax(Fields!r.Value)
функция minmax (у меня есть ввод в столбце компании)
=Code.setMinMax(Sum(Fields!v.Value))
функция min и max
= Code.max1
= Code.max2
= Code.min1
= Code.min2
Пользовательский код предоставлен niktrs для более подробной информации
SSRS 2016 найти 2-й минимум / 2-й максимум
Заранее спасибо