Страница 1 из 2
Упорядочивать группы по значению агрегатной функции
Добавлено: 29 окт 2009, 07:45
howdy
Здравствуйте.
Хотел бы узнать, есть ли возможность упорядочивать группы по значению агрегатной функции?
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 29 окт 2009, 17:36
Jan
Здравствуйте,
Попробуйте вот такую форму агрегатной функции:
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 30 окт 2009, 08:30
howdy
Объясните пожалуйста, где должно быть выражение такого вида:
{Totals.Sum(GroupHeaderBand1, expression)} ?
В текстовом поле на бэнде заголовка группы (GHeader0) я поместил следующее выражение:
{Totals.Sum(GHeader0, table["FILE_SIZE"])} (Расчет суммы по полю table["FILE_SIZE"]).
Оно соответвует Вашему образцу. К сожалению это не помогло.
Упорядочивание групп происходит только по полю, которое является условием группировки.
Можно ли как-то задать параметры сортировки в условии группировки?
Моя попытка задать значение (по которому, как мне кажется,
происходит сортировка) в обработчике события "взять значение" бэнда заголовка группы
приводит к ошибке и закрытию дизайнера когда я нажимаю "Предварительный просмотр".
Я подставляю в обработчик следующий код:
{e.Value = Totals.Sum(GHeader0, table["FILE_SIZE"]);}
пробовал даже так
{Totals.Sum(GHeader0, table["FILE_SIZE"]);}
Пользуюсь версией 2009.2 от 7 сентября.
Очень надеюсь на Вашу помощь.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 02 ноя 2009, 07:36
Edward
Здравствуйте,
Объясните пожалуйста, где должно быть выражение такого вида:
{Totals.Sum(GroupHeaderBand1, expression)} ?
В текстовом поле на бэнде заголовка группы (GHeader0) я поместил следующее выражение:
{Totals.Sum(GHeader0, table["FILE_SIZE"])} (Расчет суммы по полю table["FILE_SIZE"]).
Оно соответвует Вашему образцу. К сожалению это не помогло.
Упорядочивание групп происходит только по полю, которое является условием группировки.
Вы можете указать это выражение и на GroupHeader и на DataBand:
{Totals.Sum(GHeader0, table.FILE_SIZE)}
Если это выражение будет в условии группировки у GroupHeader, то произойдет зацикливание поскольку это выражение ссылается само на себя.
Можно ли как-то задать параметры сортировки в условии группировки?
Да, это возможно. У GroupHeaderBand для этого используйте свойство SortDirection.
Сортировка возможна по значению 'Condition', т.е. условия группировки.
Моя попытка задать значение (по которому, как мне кажется,
происходит сортировка) в обработчике события "взять значение" бэнда заголовка группы
приводит к ошибке и закрытию дизайнера когда я нажимаю "Предварительный просмотр".
Я подставляю в обработчик следующий код:
{e.Value = Totals.Sum(GHeader0, table["FILE_SIZE"]);}
пробовал даже так
{Totals.Sum(GHeader0, table["FILE_SIZE"]);}
Подскажите, какое у Вас условие для группы по смыслу задачи?
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 05 ноя 2009, 12:27
howdy
Здравствуйте.
Условием для группы является одно из полей.
Мне нужно:
1) Сгруппировать записи по этому полю.
2) Вычислить сумму по полю File_size для каждой группы, то есть суммарный размер.
3) Упорядочить результаты (то есть группы) НЕ по условию группировки, а по суммарному размеру.
Проблемы возникли только с пунктом 3.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 06 ноя 2009, 10:13
howdy
Сортировка возможна по значению 'Condition', т.е. условия группировки.
Значит ли это, что сортировка по значению агрегатной функции не возможна?
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 06 ноя 2009, 13:53
Edward
Здравствуйте,
Для Вашего случая возможен подход с использованием DataFromOtherDataSource.
Откройте отчет в программе Demo из стандартной поставки.
Чтобы работала связь master-detail между DataFromOtherDataSource и Вашим источником, необходимо выбрать на панели "Properties" объект "Report" и установить CacheAllData свойство для него в true.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 09 ноя 2009, 05:44
howdy
К сожалению, в отправленном Вами отчете отсутствует бэнд группировки
Для меня обязательно чтобы проблема решалась с помощью бэнда группировки.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 09 ноя 2009, 11:58
Edward
Здравствуйте,
Поставленная Вами задача решается при помощи отчета, который построен с использованием DataFromOtherDataSource.
Уточните, пожалуйста, Вашу задачу.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Добавлено: 09 ноя 2009, 12:18
howdy
Дело в том, что отчеты создаются автоматическим образом в программе.
Для группировки и вычисления итогов используется бэнд заголовка группы.
Ваш способ потребует значительных и трудоемких изменений программы, создающей отчеты,
т.к он предполагает другой способ группировки.
Хотелось бы этого избежать.
Надеюсь на Ваше понимание.
Спасибо.