В SSRS 2008 я пытаюсь сохранить SUM SUM в группе, используя пользовательский код. Причина в том, что у меня есть таблица данных, сгруппированные и возвращающие суммы данных. У меня есть фильтр для группы, чтобы удалить строки, где групповые суммы равны нулю. Все работает, за исключением того, что я сталкиваюсь с проблемами с итоговыми значениями группы - это должно быть суммирование видимых итоговых значений группы, а вместо этого суммирование всего набора данных. Есть множество статей о том, как обойти это, обычно используя пользовательский код. Я создал пользовательские функции и переменные для поддержки счетчика:
Public Dim GroupMedTotal as Integer
Public Dim GrandMedTotal as Integer
Public Function CalcMedTotal(ThisValue as Integer) as Integer
GroupMedTotal = GroupMedTotal + ThisValue
GrandMedTotal = GrandMedTotal + ThisValue
Return ThisValue
End Function
Public Function ReturnMedSubtotal() as Integer
Dim ThisValue as Integer = GroupMedTotal
GroupMedTotal = 0
Return ThisValue
End Function
В основном CalcMedTotal получает СУММУ группы и сохраняет промежуточную сумму этой суммы. Затем в строке итогов группы я вывожу ReturnMedSubtotal, который должен дать мне накопленную сумму и сбросить ее для следующей группы. Это на самом деле прекрасно работает, за исключением - сбрасывает значение GroupMedTotal на каждом разрыве страницы. У меня нет явно установленных разрывов страниц, это просто естественный разрыв в средстве просмотра SSRS. И если я экспортирую результаты в Excel, все работает и выглядит правильно.
Если я вывожу Code.GroupMedTotal в каждой строке группы, я вижу, что она считается правильно, а затем, если группа занимает несколько страниц на следующей странице, GroupMedTotal сбрасывается и снова начинает отсчет с нуля.
Любая помощь в том, что происходит или как обойти это? Спасибо!