Вы можете использовать пользовательский код в своем отчете для хранения min2 и max2 в переменных (чтобы избежать путаницы с несколькими функциями get / set, я объявил переменные как общедоступные)
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
Для каждой группы строк (зеленый цвет) вы будете использовать resetMinMax, передавая групповую строку в качестве параметра.Функция инициализирует значения для каждой строки группы и отображает имя группы
=Code.resetMinMax(Fields!r.Value)
. Для каждой ячейки значения (синий цвет) вы будете использовать setMinMax, передавая значение в качестве параметра.Функция выполнит вычисления min / max и отобразит значение параметра
=Code.setMinMax(Sum(Fields!v.Value))
. Для значений min и max просто вызовите каждую переменную
= Code.max1
= Code.max2
= Code.min1
= Code.min2