SSRS 2016 найти 2-й минимум / 2-й максимум - PullRequest
0 голосов
/ 26 июня 2018

Я хочу найти второе минимальное число в моей строке.Я могу дополнить Мин и Макс встроенным выражением.

Дополнительная информация о SSRS, она загружается из источника данных SSAS.

В проекте SSRS я выполнил шаги Криса

1.) Поместите пользовательский код всвойства отчета

2.) Введите выражение в два отдельных столбца (setMinMaxReset и setMinMax): = Code.setMinMaxReset (Fields! ID_AverageChangeRevenue_Value.Value) = Code.setMinMax (Fields! ID_AverageChangeRevenue_Value.alue.alue.al9).1010 * Конструкция SSRS

3.) Код = code.min2 был также введен в столбец MIN2

то же самое для MAX2

, но получаетсярезультат неверный.Спасибо за вашу помощь

SSRS Review

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете использовать пользовательский код в своем отчете для хранения 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

enter image description here

enter image description here

...