нид хелп по группировкам

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

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

anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

нид хелп по группировкам

Сообщение anykey »

Соратники!!! Наше время настало...бла бла бла... Кароче очень нужно получить консультацию. Очень. Стоит задача такая: нужно сгруппировать данные вначале по группам МЦ а там еще сгруппировать по месяцам и выводить денежку. По отдельности группировать (только по группам или только по месяцам) я научился, а вот чтобы так не могу чота. Нид хелп и свежый взляд, а то мой уже помутнел. Вот вьюва (тока не смейтесь плиз)
.ard
.create view vXXX as
select
katmc.kgroupmc,
basedoc.dform,
spstep.summa
from
katmc,
basedoc,
spstep
where
((
word( 2 ) == Pick.wList and
katmc.cgroupmc /== pick.crec and
spstep.cmcusl /== katmc.nrec and
word( 1 ) == spstep.prmc and
stepdoc.nrec /== spstep.cstepdoc and
basedoc.nrec /== stepdoc.cbasedoc and
word( 201) == basedoc.viddoc and
word( 2 ) == basedoc.status
))and Start <= basedoc.dform
and Finish > basedoc.dform
and basedoc.descr = 'SAL'
order by katmc.kgroupmc, basedoc.dform;

Спасибо за внимание.
ApachiA
Постоянный гость
Сообщения: 58
Зарегистрирован: 29 мар 2005, 17:49
Откуда: -
Контактная информация:

Re: нид хелп по группировкам

Сообщение ApachiA »

Выгружай все данные в ексель :) хай там потом сводят как хотят!!!


Я всегда так делаю :) ну или почти всегда
ХОЧУ изучить правила написания ИНТЕРФЕЙСОВ, создание собственных контуров и компиляции ADF словарей :)
Vitas
Местный житель
Сообщения: 230
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь

Re: нид хелп по группировкам

Сообщение Vitas »

Собирай данные в таблицах памяти и групируй их там как душе угодно, подготавливай для выгрузки в отчет в том виде, в котором они тебе нужны и выгружай
Ищу возможности довести и так отличный продукт до еще большего блеска
anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: нид хелп по группировкам

Сообщение anykey »

их, они враги кароче, такой вариант не устраивает это раз, во-вторых я не умею такие вещи делать, эх.
anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: нид хелп по группировкам

Сообщение anykey »

ммммммммм, интересна-интересна, мысль о промежуточной обработке данных между сбором и выводом посещала меня с утра, но, тут есть большое но, я пока не очень опытен и литературы тоже почти нет в наличии.
Не подскажыте ли какиеньть полезные сцылочки (на udaff.com ходил, там нету) или сами расскажете что это такое таблицы памяти и как с ними работать, чувствую в них заложен глубокай смысл и потенциал...

Да, спасибо за участие, это так ... трогательно, спасибо.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: нид хелп по группировкам

Сообщение m0p3e »

interface MyFace;

table struct MyTable
(
nrec : comp
,MyString : string
,MyDouble : double
)
with index
(
MyTable00 = MyString
)
;

Дальше работаешь как с любой другой таблицей, но очень быстро... :)
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: нид хелп по группировкам

Сообщение ecasoft »

create view vXXX as
select
katmc.kgroupmc,
basedoc.ddoc,
spstep.summa
from
katmc,
basedoc,
spstep
where
((

!---Выбрали все ДО нужнго типа в заданном интервале используя индекс и узловое условие--------------------------------
word( 201) == basedoc.viddoc and
word( 2 ) == basedoc.status
Start <<= BaseDoc.dDoc and
Finish >> BaseDoc.dDoc and
(basedoc.descr = 'SAL') and
basedoc.nrec == stepdoc.cbasedoc and
!----Получили все позиции спецификации ДО, которые относятся к выбранной группе.
!---------------------------------------
word( 2 ) == Pick.wList and
word( 1 ) == spstep.prmc and
stepdoc.nrec == spstep.cstepdoc and
(
(pick.crec = katmc.cgroupmc)
) and

spstep.cmcusl = katmc.nrec and

));

Цикл по таблице PIck - это по группам МЦ цикл. В нем цикл по всем ДО и далее по всем spstep. Никаких ордеров(порядков) не надо задавать.
Правда не будет порядка по кодам групп, как хотел. Если хочешь порядок по группам, то надо идти уже по каталогу групп и искать каждую в Pick и выводить по ней все.

В запросе максимально используются имеющиеся индексы таблиц, чтобы ускорить работу.

Не проверял работу...писал тут сразу :)

По поводу запроса описанного выше - непонятно чего получить хотелось..все равно суммировать не будет по группам сразу...без подсчета в цикле. Да и сразу в одном SQL чтобы и сортировку получить - это будет все равно работать только на внешней выгрузке..работает долго на таких больших таблицах, как spstep.
Некоммерческое общение в форуме
anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: нид хелп по группировкам

Сообщение anykey »

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

.{по группам
!--вывод названия группы
.{по месяцам
!--вывод месяца
.begin
MySumm := 0;
end.
.{по спецификациям
.begin
MySumm := MySumm + spstep.summa;
end.
.}//по спецификациям
!--вывод MySumm
.}//по месяцам
.}//по группам

Как оформить синтаксически такую обработку?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: нид хелп по группировкам

Сообщение Maverick »

Ребят а иерархические отчеты не пробовали раскручивать?
Оченно интересно и пользительно )))
попробуйте ))) - там внутренний объект на пасквиле строит деревья в нужном разрезе с нужными подитогами и протчая, протчая, протчая...
Описалово как работать с этими объектами могу намылить
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
St.Anislav
Постоянный обитатель
Сообщения: 147
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск
Контактная информация:

Re: нид хелп по группировкам

Сообщение St.Anislav »

можно мне описание на stanislav@intell.ru?
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: нид хелп по группировкам

Сообщение Maverick »

2 St.Anislav
Ушло
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Spvl
Постоянный обитатель
Сообщения: 136
Зарегистрирован: 29 мар 2005, 17:49

Re: нид хелп по группировкам

Сообщение Spvl »

А через Excel получается очень быстро и красиво с группировками любой сложности
И писать очень просто.
Из формы отправляем в Эксель только исходные данные. А после запускаем в Екселе макрос.
Макрос записывается заранее.

Ну очень удобно. Я практически все отчеты так делаю. Если нужны примеры могу выдать и расказать.
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: нид хелп по группировкам

Сообщение Deinis »

Маверик, а мне не перешлешь?
Denisooo@yandex.ru
Очень интересная штука. Когда начал разгребать из чего состоят интерактивные отчеты (таблицы, связи) - с тех пор думаю, как это дело повторить в своем фейсе
:)
anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: нид хелп по группировкам

Сообщение anykey »

О, было бы очень кстати, примеры да с камментами самое милое дело для начинающих.

Адресочек tuhel@yandex.ru
anykey
Сообщения: 6
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: нид хелп по группировкам

Сообщение anykey »

Гражданин Maverick!!!
Буду рад любой литературе...
Не затруднит ли Вас на вот такой адресочек замылить tuhel@yandex.ru
Ответить