нид хелп по группировкам
Модераторы: m0p3e, edward_K, Модераторы
нид хелп по группировкам
Соратники!!! Наше время настало...бла бла бла... Кароче очень нужно получить консультацию. Очень. Стоит задача такая: нужно сгруппировать данные вначале по группам МЦ а там еще сгруппировать по месяцам и выводить денежку. По отдельности группировать (только по группам или только по месяцам) я научился, а вот чтобы так не могу чота. Нид хелп и свежый взляд, а то мой уже помутнел. Вот вьюва (тока не смейтесь плиз)
.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;
Спасибо за внимание.
.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;
Спасибо за внимание.
-
- Постоянный гость
- Сообщения: 58
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: -
- Контактная информация:
Re: нид хелп по группировкам
Выгружай все данные в ексель хай там потом сводят как хотят!!!
Я всегда так делаю ну или почти всегда
Я всегда так делаю ну или почти всегда
ХОЧУ изучить правила написания ИНТЕРФЕЙСОВ, создание собственных контуров и компиляции ADF словарей :)
Re: нид хелп по группировкам
Собирай данные в таблицах памяти и групируй их там как душе угодно, подготавливай для выгрузки в отчет в том виде, в котором они тебе нужны и выгружай
Ищу возможности довести и так отличный продукт до еще большего блеска
Re: нид хелп по группировкам
их, они враги кароче, такой вариант не устраивает это раз, во-вторых я не умею такие вещи делать, эх.
Re: нид хелп по группировкам
ммммммммм, интересна-интересна, мысль о промежуточной обработке данных между сбором и выводом посещала меня с утра, но, тут есть большое но, я пока не очень опытен и литературы тоже почти нет в наличии.
Не подскажыте ли какиеньть полезные сцылочки (на udaff.com ходил, там нету) или сами расскажете что это такое таблицы памяти и как с ними работать, чувствую в них заложен глубокай смысл и потенциал...
Да, спасибо за участие, это так ... трогательно, спасибо.
Не подскажыте ли какиеньть полезные сцылочки (на udaff.com ходил, там нету) или сами расскажете что это такое таблицы памяти и как с ними работать, чувствую в них заложен глубокай смысл и потенциал...
Да, спасибо за участие, это так ... трогательно, спасибо.
Re: нид хелп по группировкам
interface MyFace;
table struct MyTable
(
nrec : comp
,MyString : string
,MyDouble : double
)
with index
(
MyTable00 = MyString
)
;
Дальше работаешь как с любой другой таблицей, но очень быстро...
table struct MyTable
(
nrec : comp
,MyString : string
,MyDouble : double
)
with index
(
MyTable00 = MyString
)
;
Дальше работаешь как с любой другой таблицей, но очень быстро...
-
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"
Re: нид хелп по группировкам
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.
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.
Некоммерческое общение в форуме
Re: нид хелп по группировкам
Первоначальный вариант мой схож с этим, за исключением того что некоторые вещи обрезались вне (( )), но почему то когда начинается выборка с ДО отчет работает крайне долго, честно говоря я так ни разу и не дождался окончания. А вот вариант, который в вопросе работает за несколько минут (выборка за год). Все хорошо за исключением того, что я не могу разрулить цыклы, как и что группировать. Синтаксис меня мучает.
.{по группам
!--вывод названия группы
.{по месяцам
!--вывод месяца
.begin
MySumm := 0;
end.
.{по спецификациям
.begin
MySumm := MySumm + spstep.summa;
end.
.}//по спецификациям
!--вывод MySumm
.}//по месяцам
.}//по группам
Как оформить синтаксически такую обработку?
.{по группам
!--вывод названия группы
.{по месяцам
!--вывод месяца
.begin
MySumm := 0;
end.
.{по спецификациям
.begin
MySumm := MySumm + spstep.summa;
end.
.}//по спецификациям
!--вывод MySumm
.}//по месяцам
.}//по группам
Как оформить синтаксически такую обработку?
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: нид хелп по группировкам
Ребят а иерархические отчеты не пробовали раскручивать?
Оченно интересно и пользительно )))
попробуйте ))) - там внутренний объект на пасквиле строит деревья в нужном разрезе с нужными подитогами и протчая, протчая, протчая...
Описалово как работать с этими объектами могу намылить
Оченно интересно и пользительно )))
попробуйте ))) - там внутренний объект на пасквиле строит деревья в нужном разрезе с нужными подитогами и протчая, протчая, протчая...
Описалово как работать с этими объектами могу намылить
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: нид хелп по группировкам
можно мне описание на stanislav@intell.ru?
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: нид хелп по группировкам
2 St.Anislav
Ушло
Ушло
Re: нид хелп по группировкам
А через Excel получается очень быстро и красиво с группировками любой сложности
И писать очень просто.
Из формы отправляем в Эксель только исходные данные. А после запускаем в Екселе макрос.
Макрос записывается заранее.
Ну очень удобно. Я практически все отчеты так делаю. Если нужны примеры могу выдать и расказать.
И писать очень просто.
Из формы отправляем в Эксель только исходные данные. А после запускаем в Екселе макрос.
Макрос записывается заранее.
Ну очень удобно. Я практически все отчеты так делаю. Если нужны примеры могу выдать и расказать.
-
- Местный житель
- Сообщения: 783
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва
- Контактная информация:
Re: нид хелп по группировкам
Маверик, а мне не перешлешь?
Denisooo@yandex.ru
Очень интересная штука. Когда начал разгребать из чего состоят интерактивные отчеты (таблицы, связи) - с тех пор думаю, как это дело повторить в своем фейсе
Denisooo@yandex.ru
Очень интересная штука. Когда начал разгребать из чего состоят интерактивные отчеты (таблицы, связи) - с тех пор думаю, как это дело повторить в своем фейсе
Re: нид хелп по группировкам
О, было бы очень кстати, примеры да с камментами самое милое дело для начинающих.
Адресочек tuhel@yandex.ru
Адресочек tuhel@yandex.ru
Re: нид хелп по группировкам
Гражданин Maverick!!!
Буду рад любой литературе...
Не затруднит ли Вас на вот такой адресочек замылить tuhel@yandex.ru
Буду рад любой литературе...
Не затруднит ли Вас на вот такой адресочек замылить tuhel@yandex.ru