Не могу разобраться с группировкой...
Модераторы: m0p3e, edward_K, Модераторы
Не могу разобраться с группировкой...
Добрго времени суток всем!
Пишу отчет (свой интерфейс), выкидываю его в ексел. В этом отчете куча итогов по пяти полям т.е. соответственно пять группировок...
Самой отслеживать изменение каждого поля и подсчитывать сумму как то не охота В SDK вычитала что есть группировка из VIP.
Вот пример от туда....
_loop aTable
{
оператор1
groupby g1 : aTable f1
{
оператор2
groupby g2 : aTable f2
{
оператор3
}
оператор4
}
оператор5
}
Что то у меня не получается... компилятор ругается на GROUPBY.
Может кто знает как этим пользоваться... или что то нуно еще подключить...
Пишу отчет (свой интерфейс), выкидываю его в ексел. В этом отчете куча итогов по пяти полям т.е. соответственно пять группировок...
Самой отслеживать изменение каждого поля и подсчитывать сумму как то не охота В SDK вычитала что есть группировка из VIP.
Вот пример от туда....
_loop aTable
{
оператор1
groupby g1 : aTable f1
{
оператор2
groupby g2 : aTable f2
{
оператор3
}
оператор4
}
оператор5
}
Что то у меня не получается... компилятор ругается на GROUPBY.
Может кто знает как этим пользоваться... или что то нуно еще подключить...
Я не торможу, я уже приехала!
-
- Местный житель
- Сообщения: 412
- Зарегистрирован: 28 апр 2005, 11:34
- Откуда: Галактика Млечный Путь
Еще вариант на внешней выгрузке (order Name EXTERNAL by ....), в данном случае нет необходимости описывать временную таблицу. Драйвер сам сделает временную таблиц,у в выгрузит в нее все записи из логической таблицы и отсортирует. Опять же вариант сводится в врем таблице где данные расположены в нужном порядке.
Оработка простая, берем первую запись, запоминаем все поля которые участвуют в группировке.Делаем цикл по таблице, опять с первой записи. и первым делом проверяем не изменилось ли какое либо поле из тех что участвуют в группировке. Если изменилось выводим итоги по уровню.
типа
if pole1<>storepole1
{
printitog1;
storepole1:=pole1
}
if pole2<>storepole2
{
printitog2;
storepole2:=pole2
}
когда все записи таблицы обработаны выводим итоги по всем уровням.
Оработка простая, берем первую запись, запоминаем все поля которые участвуют в группировке.Делаем цикл по таблице, опять с первой записи. и первым делом проверяем не изменилось ли какое либо поле из тех что участвуют в группировке. Если изменилось выводим итоги по уровню.
типа
if pole1<>storepole1
{
printitog1;
storepole1:=pole1
}
if pole2<>storepole2
{
printitog2;
storepole2:=pole2
}
когда все записи таблицы обработаны выводим итоги по всем уровням.