Упорядочивать группы по значению агрегатной функции

Обсуждение Stimulsoft Reports.NET
howdy
Сообщения: 10
Зарегистрирован: 29 окт 2009, 07:24
Откуда: moscow

Упорядочивать группы по значению агрегатной функции

Сообщение howdy »

Дело в том, что отчеты создаются автоматическим образом в программе.
Для группировки и вычисления итогов используется бэнд заголовка группы.
Ваш способ потребует значительных и трудоемких изменений программы, создающей отчеты,
т.к он предполагает другой способ группировки.
Хотелось бы этого избежать.

Надеюсь на Ваше понимание.
Спасибо.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Упорядочивать группы по значению агрегатной функции

Сообщение Edward »

Здравствуйте,

Да, такой метод возможен, но он требует предварительного расчета необходимых Вам значений, сохранения их в hash таблицу и использования своей функции, определенной в CodeTab для Вашего GroupHeader.

1) На закладке "Код" определите переменную типа HashTable, которая будет содержать пары Условие Группировки-Значение агрегатной функции. И понадобится функция, которая проанализирует эту hash таблицу и выдаст результат агрегатной функции в зависимости от входного значения для этой функции - аргумента этой функции.
2) Располагаете вначале отчета дополнительный GroupHeader и DataBand, оба нулевой высоты. В BeforePrint у DataBandа, устанавливаете обработчик для расчета сумм в соответствии с группировкой в HashTable.
3) После того как сформирована в 1) и 2) Hash таблица, можно использовать её значения в основном GroupHeader, который Вам необходимо добавить. Функция из пункта 1) может возвращать значения 1,2,3,... в зависимости от входного аргумента и таким образом быть использована для группировки.

Спасибо.
Ответить