Хорошо, я опубликую некоторые методы, которые я попробовал.
Некоторые из них из Интернета (1 неделя исследования), а некоторые из меня.
1, определите область действия
=SUM(Fields!Max_Number, "table1_Courses")
или
=RunningValue(Fields!Max_Number.Value,SUM,"table1_Courses" )
Это не работает, так как он все еще пытается суммировать скрытые значения, хотя они даже не отображаются.
2, Агрегирующие функции
=SUM(Fields!Max_Number.Value)/RowNumber("table1_Courses")
Отображается так же, как Fields! Max_Number.Value, однако, поскольку SSRS05 не поддерживает вложенную агрегацию, вы не можете снова суммировать ее в заголовке.
3, Использование ReportItems
=Sum(ReportItems("course_max").Value)
=ReportItems("total_max").Value
Ну, функция агрегирования в ReportItems может использоваться только в верхнем / нижнем колонтитуле. И вы не можете установить ссылку с тела. Кажется, MS заставляет их работать отдельно, так что вы просто не можете
ссылаются друг на друга.
Другая проблема заключается в том, что когда отчет не находится на той же странице, он будет возвращать только результат для текущей страницы. Например. у вас есть всего 200, 150 на 1-й странице и 50 на второй, затем на 1-й странице Sum(ReportItems("course_max").Value)
показывает 150, но не 200.
4, используя пользовательский код.
Public Dim total_cmax As Integer = 0
Public Function sum_cmax(cmax As Integer) As Integer
total_cmax = total_cmax + cmax
Return cmax
End Function
Public Function get_cmax(obj As Object) As Integer
obj.Value = total_cmax
End Function
Не могу представить, что мне нужно написать такой простой код для такой простой функции для MS! Ну, это работает, но не идеально.
Функция get_cmax
не может использоваться до sum_cmax
, в противном случае она будет запускать get_cmax
в самом начале, который вернет 0, и все get_cmax
на странице (даже после 'sum_cmax') вернутся 0. Опять же, MS не дает вам никакой возможности изменить порядок рендеринга. Таким образом, вы должны поставить get_cmax
за столом, И, вне вашего стола.
Пока это единственное решение, которое я смог найти. Интересно, может ли кто-нибудь найти способ отобразить значение в заголовке? Помещение =ReportItems("total_max").Value
перед таблицей вернет вам 0. Поэтому я действительно не могу найти способ исправить это.
Надеюсь, это поможет.