Не могу разобраться с группировкой...

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Не могу разобраться с группировкой...

Сообщение Natalika »

Добрго времени суток всем!

Пишу отчет (свой интерфейс), выкидываю его в ексел. В этом отчете куча итогов по пяти полям т.е. соответственно пять группировок...
Самой отслеживать изменение каждого поля и подсчитывать сумму как то не охота :? В SDK вычитала что есть группировка из VIP.
Вот пример от туда....

_loop aTable
{
оператор1
groupby g1 : aTable f1
{
оператор2
groupby g2 : aTable f2
{
оператор3
}
оператор4
}
оператор5
}

Что то у меня не получается... компилятор ругается на GROUPBY.
Может кто знает как этим пользоваться... или что то нуно еще подключить...
Я не торможу, я уже приехала!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

А внизу написано:
Информация
Версия : Атлантис 5.03
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Сообщение Natalika »

Вот блин действительно... что то я не доглядела... :oops:
Ну да ладно... А как быть может кто нибудь подскажет как мне быть... :roll: Как вообще люди пишут отчеты такого рода... Неужели Вы сами отслеживаете изменение полей!!! :shock: :shock: :shock:
Я не торможу, я уже приехала!
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Сообщение Goblin »

как, как ?
Временная табла-аккумулятор и в ней группировку ...
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Сообщение Natalika »

Goblin я прошу прошения... за свое незнание

Я то и формирую данные для отчета во временную талицу... И что мне дальше с ней делать??? как мне ее группировать???
Я не торможу, я уже приехала!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

С использованием временной таблицы. В 5.03 подозреваю что технология эта же, только делается за кадром.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

Сделать у временной таблицы составной индекс = количеству уровней группировки.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

Еще вариант на внешней выгрузке (order Name EXTERNAL by ....), в данном случае нет необходимости описывать временную таблицу. Драйвер сам сделает временную таблиц,у в выгрузит в нее все записи из логической таблицы и отсортирует. Опять же вариант сводится в врем таблице где данные расположены в нужном порядке.
Оработка простая, берем первую запись, запоминаем все поля которые участвуют в группировке.Делаем цикл по таблице, опять с первой записи. и первым делом проверяем не изменилось ли какое либо поле из тех что участвуют в группировке. Если изменилось выводим итоги по уровню.
типа
if pole1<>storepole1
{
printitog1;
storepole1:=pole1
}
if pole2<>storepole2
{
printitog2;
storepole2:=pole2
}
когда все записи таблицы обработаны выводим итоги по всем уровням.
Natalika
Новичок
Сообщения: 20
Зарегистрирован: 23 июн 2005, 10:59
Откуда: Казахстан

Сообщение Natalika »

ну вот...
"Всю ночь гребли а лодку отвязать забыли..."

плохо что только так... пока можно... уууу как неудобно!
Я не торможу, я уже приехала!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

В форме INV_VED.FRM есть пример с group by.
Ответить