|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
Постоянно требуется разработка всё более сложных запросов по просьбам отдела статистики и тому подобных. Хочу попросить народ поделиться опытом построения таких сложных отчётов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Разумеется все данные нафантазированы. как можно написать такой запрос? В кристале подобный отчёт написан плоско - выдаёт кучу столбцов, каждый из которых высчитывается отдельно а потом ещё и суммируется и получается что выдаётся развёрнутая в одну строку данная таблица, а кристал её просто форматирует. Некоторые мои коллеги пишут один запрос итоговый (и я склоняюсь к такому) - одну строчку таблицы, а потом с помощью union all делают кучу строк по образу и подобию включая в каждую дополнительные условия. Ещё коллеги сделали процедуру генерящую запрос, который возвращает одну строку таблицы, потом вызывают эту процедуру с разными условиями получают результат (по мне так тот же юньон олл) Может кто-то делает более хитрые, и элегантные конструкции? Поделитесь опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 13:32 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
А что такого особо хитрого в cross-tab AKA "шахматка"?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 13:57 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
для етого Билл Гейцц придумал Ёксель ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 13:59 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
dmitryk1, Есть пара статеек на Хабре про использование кляузы Model для создание отчетов. Разбираемое там несколько похоже на ваш сферический пример. Гляньте, может что-то пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 14:08 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
dmitryk1Может кто-то делает более хитрые, и элегантные конструкции? Поделитесь опытом. Да вам OLAP нужен батенька :-) Поинтересуйтесь есть ли у вашей БД готовое OLAP решение. Если есть, то постарайтесь его внедрить. Как минимум OLAP-кубы и предназначены для такого вида отчетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 14:11 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Ну, в формировании столбцов может и нету, а строки в данном случае не группируются, то есть каждую строку я должен высчитывать с условием, которое я должен прописать в столбцах. А поскольку строки разные - я их генерю ручками с разными условиями, получается я могу их только юнионом склеить. Вот у меня и вопрос то был, как можно по другому, не прописывая 20-50 раз (по числу строк) один запрос с небольшими вариациями. Сможете прислать пример какого-то отчёта который выводит такие данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 14:14 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
andreymx, Ну да. Вы про выдачу общих данных и отдачу в руки пользователя итогового подсчёта? Или имеется в виду макрос, который это будет считать коннектясь к базе? Или ещё что-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 14:18 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
kva6513, Спасибо. Похоже это замена олапу. Буду изучать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 14:41 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
dmitryk1, 1.На одном листе Excel рисуете шаблон отчета, названия строк, колонок, форматирование и т.д. 2.На втором листе в ячейках, соответствующих ячейкам данных шаблона, записываете select-ы ... , или вызовы процедур, или параметры запросов. 3.Пишете макрос, который генрирует запросы по данным 2-го листа, обращается к серверу, и складывает результаты в соотв.ячейки 1-го листа. Для небольших неформализуемых отчетов можно применять такой подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 15:19 |
|
разработка сложных отчётов в оракле (и не только)
|
|||
---|---|---|---|
#18+
DirksDRdmitryk1, [skip] Для небольших неформализуемых отчетов можно применять такой подход. Тут, возможно, будет проще тогда сохранить документ как хтмл, затем с него с сервера дёргать данные и вставлять в поля, названные в соответствии с айдишником. И данных можно дёргать много и с параметрами. У меня даже такое реализовано :) И безопасность тут лучше работает чем в экселе, и не требует установки какого-то дополнительного софта. В общем-то вопрос затеял исключительно чтобы узнать, вдруг есть какие-то ещё более хитрые способы, которые я упустил. Исключительно чтобы сократить количество шагов выполняемых для изменения отчёта. Сейчас получится - изменить страницу, добавив поля которые надо заполнить, изменить яваскрипт, чтобы получал новые данные, если это не расширение текущего запроса, а ещё один дополнительный запрос, ну и непосредственно сам запрос. В принципе можно извратиться и этап изменения яваскрипта опустить, вписав необходимое в хтмл код (конфиг), но всё равно два шага. Но лень-матушка тредует и это упростить :) Вот про "кляузы Model" читаю. В принципе многообещающе. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2015, 12:23 |
|
|
start [/forum/topic.php?fid=33&msg=39063090&tid=1547439]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 300ms |
total: | 568ms |
0 / 0 |