|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Здравствуйте. Я в Oracle, и вообще в БД новичок. Сейчас пытаюсь своими силами освоить Reports 11g. Чувствую себя при этом как слепой на оргии - все приходится делать на ощупь. Поэтому хотелось бы попросить указать хоть на какие-то учебники/инструкции и прочее подобное. У меня есть только 1 глава из книги Пэрри, посвященная Отчетам, и ее естественно не хватает. Курсы со стоимостью 30-60 тыс. руб. просьба не советовать, нет финансовой возможности. И еще. Прикрепил ссылку на файлик RDF. Помогите пожалуйста объединить все 5 запросов в 1 табличку (со 2 по 5-ый должны выводиться по очереди, каждый в отдельной колонке, после последней колонки первого запроса). 1 запрос - прекрасно отображается, при попытке привязать второй - ошибка rep-1213. В одной теме был аналогичный вопрос, но объяснения я не понял :(. Заранее спасибо всем желающим помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:15 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Забыл уточнить. Приложенный отчет - попытка перенести из Report 5-ой версии след. отчета: .dt 1 1 4 7 35 36 41 42 57 58 76 77 92 93 99 100 104 105 128 130 131 133 142 144 164 166 177 178 255 . . declare god a4 . declare nmmd a30 . declare nmsv a6 . declare nplv1 a15 . declare gostm a18 . declare nmpf a15 . declare tlot 99999.9 . declare kdag 9999 . declare nabor a25 . declare kceh a2 . declare nceh a10 . declare kdpr a6 . declare knpr a20 . declare grvb a10 . declare napt a75 . declare votg 9999999999.999 . define sel select to_char(dotg,'yyyy') god,sert97.nmmd,sert97.nmsv,nplv1,sert97.gostm,nmpf,tlot, sert97.kdag,kceh,grvb,kdpr,sum(votg)/1000 into god,nmmd,nmsv,nplv1,gostm,nmpf,tlot,kdag,kceh,grvb,kdpr,votg from sert97,smar where sert97.prar is null and dotg>=to_date('01/01/2010','dd/mm/yyyy') and dotg<to_date('01/04/2013','dd/mm/yyyy') and sert97.nmmd=smar.nmmd and sert97.gostm=smar.gostm and sert97.nmsv=smar.nmsv group by to_char(dotg,'yyyy'),sert97.nmmd,sert97.nmsv,nplv1,sert97.gostm,nmpf,tlot,sert97.kdag,kceh,grvb,kdpr order by to_char(dotg,'yyyy') .. . define sel1 select napt into napt from kupa.gruzpol where grvb=&grvb .. . define sel2 select nceh into nceh from kupa.ceh where kceh=&kceh and rownum=1 .. . define sel3 select nabor into nabor from kupa.oborud where kdag=&kdag and rownum=1 .. . define sel4 select knpr into knpr from kupa.product where kdpr=&kdpr .. .t 1 . define zag .body .. . define body . execute sel1 . execute sel2 . execute sel3 .execute sel4 . print god .nc . print nmmd .nc . print nmsv .nc . print nplv1 .nc . print gostm .nc . print nmpf .nc . print tlot .nc . print kdag .nc . print nabor .nc . print kceh .nc . print nceh .nc . print knpr .nc . print votg .nc . print napt .nc .. . report sel body zag .te .stop ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:34 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Kaimen, Я бы Вам, как новичку, для начала бы посоветовал изучить SQL, чтобы научиться составлять правильные запросы. Книг в сети полно, в том числе и на русском. А потом уже "выводить" данные в отчёте, причем не обязательно искать документацию по 11 репортам, достаточно и более ранних версий, 6-ой например, суть не изменилась.. Ссылки на ресурсы ищите на форуме, уже не раз дублировались.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 10:45 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
mRdUKEKaimen, Я бы Вам, как новичку, для начала бы посоветовал изучить SQL, чтобы научиться составлять правильные запросы. Книг в сети полно, в том числе и на русском. А потом уже "выводить" данные в отчёте, причем не обязательно искать документацию по 11 репортам, достаточно и более ранних версий, 6-ой например, суть не изменилась.. Ссылки на ресурсы ищите на форуме, уже не раз дублировались.. Про SQL я уже прочитал несколько хороших книг, но одной теории мало, нужно ее закреплять практикой. Тот листинг, что я привел, 100% рабочий в 5 версии. Хотелось бы понять как его же реализовать в графической оболочке. Он достаточно простой, не думаю, что специалисту будет сложно объяснить один небольшой конкретный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 11:40 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Как-то странно описана поставленная задача. Что значит "...(со 2 по 5-ый должны выводиться по очереди, каждый в отдельной колонке, после последней колонки первого запроса)..."? Скоре всего, подразумевается, что для каждой строки из запроса Q1 должна быть получена строка в Q2..Q5, и определенный реквизит из этой строки должен быть включен в отчет. Такую задачу, в принципе, вообще правильнее было бы решать, объединив это всё в Q1 (либо через соединение, либо выбрав нужные данные подзапросом). Тогда и Q2..Q5 не потребуются. А для нормального объединения в том варианте отчета, который вы приложили (сейчас там в Q2..Q5 выбирается случайная единственная строка), следует использовать data link. Кроме того, у вас поле NAPT не лежит в пределах нужного repeating frame. - Кстати, лично я считаю Reports "слишком уж специфичным" средством генерации отчетов. После его мозгоразрывающей архитектуры и кошмарного дизайнера, поработав с _нормальными_ продуктами и поняв, как оно _должно_ быть - чувствуешь только негатив, когда нужно опять что-то подправить в одной из кучи rdf-ок. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 13:48 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
-=APS=-Как-то странно описана поставленная задача. Что значит "...(со 2 по 5-ый должны выводиться по очереди, каждый в отдельной колонке, после последней колонки первого запроса)..."? Скоре всего, подразумевается, что для каждой строки из запроса Q1 должна быть получена строка в Q2..Q5, и определенный реквизит из этой строки должен быть включен в отчет. Такую задачу, в принципе, вообще правильнее было бы решать, объединив это всё в Q1 (либо через соединение, либо выбрав нужные данные подзапросом). Тогда и Q2..Q5 не потребуются. А для нормального объединения в том варианте отчета, который вы приложили (сейчас там в Q2..Q5 выбирается случайная единственная строка), следует использовать data link. Кроме того, у вас поле NAPT не лежит в пределах нужного repeating frame. - Кстати, лично я считаю Reports "слишком уж специфичным" средством генерации отчетов. После его мозгоразрывающей архитектуры и кошмарного дизайнера, поработав с _нормальными_ продуктами и поняв, как оно _должно_ быть - чувствуешь только негатив, когда нужно опять что-то подправить в одной из кучи rdf-ок. :( Спасибо за отклик, про постановку задачи вы правильно поправили меня, прошу прощения за косноязычность (в листинге Reports 5.1 все более наглядно). Объединить это все в Q1 я и сам изначально хотел, но столкнулся с условиями WHERE в запросах со 2 по 5 (и ROWNUM в них), не смог упаковать их в один запрос. Советовался у специалистов, которые сказали что сделать это нельзя. Если вы знаете способ как реализовать объединение не в Reports, а непосредственно на SQL, подскажите. А про data link я почитаю в справке, спасибо. -=APS=- Кроме того, у вас поле NAPT не лежит в пределах нужного repeating frame. Никак не могу его туда "запихать" :( :( Не посоветуете ли другую литературу по Reports, поскольку даже на сайте Oracle любые инструкции просто отсутствуют (ошибка 404). И есть ли какие-то еще инструменты по созданию отчетов, имеющие возможность использовать базы Oracle? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:12 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Kaimen, Структуры таблиц (типы полей) и связи между ними дали бы, вопросов меньше было бы. А так на вскидку, должно быть что-то типа этого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
можно на основе этих таблиц сделать вью, и уже исходя из этой вью "тащить" что нужно, считать суммы соответсвенно.. + добавить Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:38 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
mRdUKE можно на основе этих таблиц сделать вью, и уже исходя из этой вью "тащить" что нужно, считать суммы соответсвенно.. [/src] Имеется в виду представление отчета в виде Модели данных (первая кнопка слева на панели инструментов в окне "Редактор отчетов")? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 14:56 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
авторНе посоветуете ли другую литературу по Reports, поскольку даже на сайте Oracle любые инструкции просто отсутствуют (ошибка 404). Другой литературы - навалом :) Лично я, впервые столкнувшись с Forms и Reports (2000-й год еще был), постигал это дело по Справке: собственно, по самой справке + Quick Tour + Cue Cards. Кое-какие примеры были под руками, да и с интернетом тогда было похуже. авторИ есть ли какие-то еще инструменты по созданию отчетов, имеющие возможность использовать базы Oracle?Сложно что-то рекомендовать, не зная ваших потребностей, ваших масштабов, среды разработки, уровня разработчиков, ограничений по бюджету и т.п. Как правило, сейчас все серьезные отчетные системы поддерживают получение данных с более-менее распространенных серверов БД, а обеспечивается это либо собственными, либо другими компонентами доступа, а-ля ODBC, OLE DB etc. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 15:12 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
-=APS=-Сложно что-то рекомендовать, не зная ваших потребностей, ваших масштабов, среды разработки, уровня разработчиков, ограничений по бюджету и т.п. Как правило, сейчас все серьезные отчетные системы поддерживают получение данных с более-менее распространенных серверов БД, а обеспечивается это либо собственными, либо другими компонентами доступа, а-ля ODBC, OLE DB etc. Маштабы - пром. предприятие, все БД - Oracle. Уровень разработчиков в среднем пока не очень высокий - учимся) Правильно ли я понимаю, что в данном отношении лидер - Crystal Reports, который (вроде бы) работает с базами Oracle, а по количеству возможностей и доступности для начинающих значительно лучше чем Оракл Репортс. Какие еще есть варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 15:25 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Ну, Crystal - вещь неплохая. Возможно, для вашего класса задач это - подходящий вариант. Например, у нас девелоперы сделали большой крен в сторону .net (c#), для отчетности - Fast Reports/Stimulsoft Reports. Юзается еще Oracle Discoverer. Много чего тащится в Excel через OLE DB. Всё же упирается в цену :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 15:49 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
-=APS=-, Спасибо за конкретику. По поводу вашей ссылки на поиск Гугл, если вы посмотрите, то все курсы там - это один и тот же, для 6 версии. Даются самые основы, которые в 11 версии за тебя делает Визард. Поэтому, повторюсь, литературы по Репортсу, видимо не существует в принципе. А по английской справке обучатся тяжеловато, особенно учитывая отсутствие опыта в данном направлении. Если вспомните какую-нибудь литературу, буду благодарен. Например Д. Перри в книге "Введение в Оракл10г" посвящает Репортам всего одну небольшую главу. Там информация хорошая, но ее преступно мало :( А сам Оракл благоразумно удалил со своих сайтов всю инфу, чтобы продавать людям курсы по 60+ тысяч. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 16:45 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2013, 09:22 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Kaimen, 1) Принципы разработки Forms и Reports примерно одинаковы для 6-ой и 11G версий. Отличаются среды выполнения (клиент-сервер, 3-х звенка) и способы доставки отчетов (локальный клиент, интернет). Так что для понимания принципов пользуйте старые учебники по 6i и можете даже поставить Forms Reports 6i для более быстрого обучения. 2) Теоретически, Отчеты и Формы можно последовательно конвертировать проходя последовательно всю цепочку основных версий формсов и репртсов. То есть, если у вас отчет в Reports 5, то надо поставить Reports 6i, открыть его в Reports 6i, поправить при необходимости и сохранить в новом формате 6i. Затем поставить Reports 10G. Открыть в Reports 10G отчет, сохраненный в формате Reports 6i, поправить при необходимости и сохранить в новом формате 10G. Открыть отчет в формате 10G в Reports 11G, поправить при необходимости и сохранить в новом формате 11G. PS. думаю понятно, что это накладно. 3) Если есть возможность (есть лицензия), то в большинстве случаев в качестве отчетной системы лучше использовать Orace BIPublisher. Если нет возможность - смотрите JasprReports, Birt и д.р. opensource альтернативы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2013, 02:08 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
brig_2000, Спасибо за конкретику! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2013, 10:12 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Почему начиная со второй страницы печатной формы последняя колонка начинает сползать вниз? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2013, 11:11 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
"Съезжает" у вас скорее всего потому, что заголовок Kceh (M_1) не находится в M_G_GOD_HDR. - Позволю себе несколько замечаний. Если спрашиваете совета в такой ситуации, старайтесь облегчить задачу тем, кто будет пытаться вам помочь. Для этого недостаточно выложенного исходника отчета, не помешал бы как минимум скриншот "что и куда съезжает", потому что запустить на выполнение ваш отчет у себя для воспроизведения ситуации - невозможно по причине отсутствия ваших таблиц и данных. В идеале, конечно, еще было бы приложить скрипты с созданием тестовых таблиц и наполнением их тестовыми данными. Еще: почитайте еще побольше про SQL и best practices в его оформлении; ваш базовый запрос изобилует массой неаккуратностей. Старайтесь давать объектам удобочитаемые имена (так, чтобы мог понять не только узкий специалист в вашей отрасли, но и сторонний человек); используйте алиасы к таблицам в запросах; старайтесь уточнять алиасом явным образом, откуда именно выбирается столбец; у вас почему-то в group by идут повторения одного и того же столбца из одной/разных таблиц (при наличии соединения по этим полям). И, все-таки, выполняйте соединение связанных таблиц непосредственно в базовом запросе. Запрос, несколько измененный, будет выглядеть так (имена таблиц тоже несколько изменены - мне так было удобнее): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2013, 12:45 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
-=APS=-запустить на выполнение ваш отчет у себя для воспроизведения ситуации - невозможно по причине отсутствия ваших таблиц и данных. Простите, не подумал... -=APS=-В идеале, конечно, еще было бы приложить скрипты с созданием тестовых таблиц и наполнением их тестовыми данными. А вот это - даже не представляю себе как сделать. -=APS=-Еще: почитайте еще побольше про SQL и best practices в его оформлении; ваш базовый запрос изобилует массой неаккуратностей. Старайтесь давать объектам удобочитаемые имена (так, чтобы мог понять не только узкий специалист в вашей отрасли, но и сторонний человек) Страшно сказать - но так или почти так было написано в оригинальных rpt для Reports 5.0. Буду конечно читать - КАК надо. За листинг, спасибо, сейчас буду изучать его. И за идею по "съезжанию" колонки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2013, 15:47 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Подскажите, что за проблемы с форматом условий сравнения? Листинг: SELECT ALL SUM (NVL(PSKL.FSSD, 0)) Ves_Sdachi, SUM (NVL(PSKL.SGIF, 0)) + SUM (NVL (PSKL.STPRM, 0)) Priplaty FROM PSKL WHERE (PSKL.STDT2 IS NULL OR pskl.STDT2>:USER_DATE) AND PSKL.STDT1=:USER_DATE AND PSKL.PRN IS NULL где USER_DATE - дата, вводимая пользователем при старте отчета. Хранится в формате "date". Стоит в строке AND PSKL.STDT1=:USER_DATE добавить "<" перед "=" AND PSKL.STDT1<=:USER_DATE и Построитель запросов выдает синтаксическую ошибку (нормально отрабатывая в 5 версии). Как же правильно указывается условие "меньше или равно"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 15:48 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Сложно сказать, вроде, синтаксически всё верно. В Reports 9.2 работает: ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 16:12 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Возник еще один вопрос. Есть текст запроса из версии 5.1 .define sel select kceh,sum(nvl(fssd,0)), sum(nvl(sgif,0)) + sum(nvl(stprm,0)) into kceh,v,d from pskl where prn is null and (stdt2 is null or stdt2>to_date(&zap,'dd/mm/yyyy')) and stdt1 <= to_date(&zap,'dd/mm/yyyy') group by kceh .. На переменную KCEH, которая в нем определяется, в дальнейшем ссылаются 2 запроса: .define nch select nceh into nceh from kupa.ceh where kceh=&kceh и .define sele select sum(nvl(fssd,0)), sum(nvl(sgif,0)) + sum(nvl(stprm,0)) into ve,de from pskl where kceh=&kceh and (stdt2 is null or stdt2>to_date(&zap,'dd/mm/yyyy')) and stdt1 <= to_date(&zap,'dd/mm/yyyy') and prn is null and vdnz='э' and kdch1 is null Но в 11 версии, создать и сослаться на переменные вот так напрямую (INTO), как я понимаю нельзя. Все делается путем рисования Каналов связи в режиме Модель данных. В приложенном файле - попытка это сделать. Будут ли в отчете извлекаться нужные данные в результате организации такой связи? Нужны ли строки (KUPA.CEH.KCEH = PSKL.KCEH) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 13:40 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Может ли кто-то подсказать, какова процедура создания формы для ввода пользовательских параметров при публикации отчета в WEB? Конкретно: пользователь должен ввести дату, на которую он хочет получить отчет, от этой переменной пляшет в дальнейшем весь отчет. Форма параметров в отчете задана и при построении отчета в Reports успешно выводится на экран, запрашивая у пользователя дату. Как добиться аналогичного эффекта в web? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 10:14 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
KaimenФорма параметров в отчете задана и при построении отчета в Reports успешно выводится на экран, запрашивая у пользователя дату. Как добиться аналогичного эффекта в web? При вызове отчёта задать параметр PARAMFORM=YES. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 11:50 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Возник вопрос по печати объектов. В справке не нашел. Суть в следующем. Условная табличка с 2 колонками: в одной код марки металла, во второй - произведенный вес. Выборка происходит сначала по одному коду (итог при печати может занимать несколько листов), после чего печатаются итоговые поля, и начинается следующая таблица - с результатами выборки по след. коду, с точно таким же подведением итогов. В итоговых полях печатается точно такое же поле "Код", как и в таблице + итоговое поле по общему весу. Вопрос: (1) Как заставить итоговые поля выходить на печать по окончании выборки всех полей с одним из кодов , (2) и как затем продолжить печать, но уже по другому набору кодов. Прилагаю образец. Код | Вес --------------------------- 22 111 22 222 22 333 --------------------------- Итого по коду: 22 Общий вес: 666 кг Код | Вес --------------------------- 43 111 43 222 43 444 --------------------------- Итого по коду: 43 Общий вес: 777 кг ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 10:15 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Другими словами, можно наверное сказать так: каким образом содержимое ячейки может управлять печатью других объектов? В том числе разрывов страницы: в моем примере после итогов по каждому коду следует разрыв, и с новой страницы должен продолжиться тот же запрос, но выбирающий следующую группу кодов. Совершенно не понятно даже куда вставить условие типа "если код такой-то выбран из базы весь, то напечатать Итог и перейти к выборке след. кода". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 11:13 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
В модели данных создайте нужную группу. И посмотрите всё таки уроки по reports - вы задаете вопросы по элементарным вещам. http://baks.gaz.ru/oradoc/lessons/reports/lesr2.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 11:41 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Вот здесь всё на одной страничке: http://baks.gaz.ru/oradoc/lessons/reports/evk/lesrep60_1.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 11:46 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Алымов Анатолий, Спасибо, про создание отдельной группы я догадался, но когда пытался сделать это на полностью вручную построенном отчете, то ничего не получалось. Сделал небольшой тестовый с нуля, разбивка сработала. Однако, остается непонятным как начать печать новой группы кодов с новой станицы, т.е. принудительно вставить разрыв страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 13:35 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
У Frame есть свойства - Page Break Before/Page Break After. на уже готовом отчете кроме группы нужно и layout править - добавлять ещё одну Repeating Frame для вновь созданной группы, в которую поместить ранее созданная Repeating Frame. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 13:46 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
ранее созданную ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 13:47 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Я наверно не очень хорошо объяснил что мне нужно. Один выбирает уникальный параметр KDPE - код передела (вид обработки металла) по DOTG, дате отгрузки и дате, введенной пользователем. Код 2 видов: 22 или 43. select distinct kdpe KDPE_MAIN from sert97 where kdpe in ('22','43') and dtot < to_date(:USER_DATE,'dd/mm/yyyy') and ( dotg is null or to_date(dotg) >= to_date(:USER_DATE,'dd/mm/yyyy') ) order by kdpe Второй запрос заполняет таблицу на основании выбранного кода передела: select substr(namr,1,20) NAMR_MAIN, substr(nmsv,1,3) nmsv, substr(nmpf,1,2) nmpf, tlot, shot, nvl(nplv1,0) nplv1, nmnr, kceh, gdis GDIS_MAIN, sum(fssd) FSSD_MAIN, sum(ssgi) ssgi1, rspl RSPL_MAIN, nsnz NSNZ_MAIN, npoz NPOZ_MAIN, nsrt NSRT_MAIN, kdpe from sert97 where kdpe=:KDPE_MAIN and to_date(dtot) <to_date(:USER_DATE,'dd/mm/yyyy') and ( dotg is null or to_date(dotg)>=to_date(:USER_DATE,'dd/mm/yyyy') ) group by namr,nmsv,nmpf,tlot,shot,nplv1, nmnr,kceh,gdis,rspl,nsnz,npoz,nsrt, kdpe order by substr(nmnr,4,4),substr(nmnr,2,2),substr(nmnr,8,3),substr(nmnr,1,1),nsrt В результате имеем отчет (см. картинку). Видно, что если задать полю KDPE122 или KDPE143 (в режиме Макет распечатки видно что это одно поле, заключенное в один повторяющийся фрейм) параметр "Разрыв страницы" (до или после), то произойдет этот разрыв по окончании всего отчета , т.к. я не могу установить зависимость местоположения разрыва от содержания поля, т.е., грубо говоря, сказать программе "сделай разрыв тогда, когда выберешь из базы все записи с кодом 22". И код 22 и код 43 выбраны у нас одним и тем же запросом, поэтому итоговая таблица - это неделимое целое, в связи с чем разрыв на повторяющемся фрейме "KDPE" поставить можно, но повторюсь, на печать разрыв выйдет после того, как выберутся и коды 22 и коды 43. Надеюсь, так получилось объяснить лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 15:01 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Как раз запрос один, а группы 2 будет и соответственно 2 повторяющихся фрейма один вложен во второй. Так вот у вложенного фрейма и ставить нужное свойство разрыва. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 15:37 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Не нужно Вам два запроса - всё в одном будет. Только как в уроках вынесите поле kdpe в отдельную группу в data model. В эту же группу можете добавить вычисляемые/суммирующие столбцы - промежуточные итоги по каждому kdpe. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 15:55 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Прилагаю изображение дерева и структуру отчета (сформированы автоматически). Один повторяющийся фрейм объединяет всю таблицу, второй - только значения, выбираемые из базы. В котором из них мне нужно проставить свойство разрыва? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 15:56 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Алымов АнатолийНе нужно Вам два запроса - всё в одном будет. Только как в уроках вынесите поле kdpe в отдельную группу в data model. В эту же группу можете добавить вычисляемые/суммирующие столбцы - промежуточные итоги по каждому kdpe. Этот вариант не пробовал, спасибо за идею. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 15:57 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Если мастером будете делать - то один из шагов указывать поля для группировки промежуточной ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:01 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
В существующем можете на M рамке поставить page break after ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:02 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
KaimenЭтот вариант не пробовал, спасибо за идею. Там только проблема в том, что будет в этом отчете будет еще 6 запросов, и все ссылаются на параметр KDPE, который выбирается по условиям, указанным в первом запросе... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:03 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Которая начинается на M_G_NAMR ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:03 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Алымов АнатолийВ существующем можете на M рамке поставить page break after К сожалению это не сработало. Вообще, у меня возникает ощущение, что тут в свойствах фрейма, содержащего в себе KDPE необходим некий триггер, который будет принудительно разрывать страницу при условии изменения хранимого параметра. Вот тут говорят о чем-то похожем: https://forums.oracle.com/thread/2380332 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:23 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Спасибо за помощь. Попробую сделать то же самое, но объединив 2 запроса в один. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 16:27 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Вот небольшой примерчик - сделал как у Вас с двумя запросами. На одной рамке стоит свойство стоит Page Break Before ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 07:44 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Спасибо большое. К сожалению не формируется Paper Design, это так и должно быть? Я просто никогда не открывал "чужие" файлы, не уверен как правильно это делать, ведь при подключении к моей базе они по идее работать не должны. Но Макет распечатки открывается, я попробую нарисовать вручную аналогичную конструкцию для своего отчета. Надеюсь получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 08:28 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Ещё один вариант - Свойство Repeating Frame - Maximum Records per Page. Поставить 1 у рамки в вашем примере R_G_KDPE1. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 08:29 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Kaimen, Я просто создавал в Reports 6i (другого под рукой нет). Незнаю как 11g его откроют, но 10g открывал. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 08:31 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Приложил свой файлик. Пока не уверен, что разбивка получилась, буду рисовать отчет посложнее. Подскажите, куда в нем можно влепить суммарные поля? Суть такова - нужно посчитать сумму по каждому из двух полей запроса в разрезе KDPE. Никак не могу понять как это реализовать. Можно посчитать по KDPE 22 и 43 в сумме. Можно даже почитать постранично, но только вцелом. А если у меня например 22-ой KDPE 22 занимает 10 страниц и мне надо выводить: а) На каждой странице сумму по колонке TLOT (для 22 KDPE), б) Как только позиции с 22-ой KDPE заканчиваются - выдавать сумму TLOT по всем таким позициям в отчете. После чего как раз и идет разрыв страницы, и начинается всё тоже самое, но уже для 43-ей KDPE. Вот эти суммы по KDPE совершенно не могу понять как реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 11:06 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Обратите внимание, что получается если предыдущий файл прогнать через Мастер отчетов. Он убирает разрыв страницы и теперь, куда бы я его вручную не ставил - группа с KDPE 43 никак не хочется начинаться с нового листа. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 11:10 |
|
Начало изучения Report Builder 11g
|
|||
---|---|---|---|
#18+
Если есть возможность, буду очень благодарен, если напишите мне в ICQ 241047034 или на почту a.budanov (собака) gmail.com, совсем неудобно общаться через форум, слишком много вопросов возникает в процессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2013, 11:14 |
|
|
start [/forum/topic.php?all=1&fid=51&tid=1878309]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 305ms |
0 / 0 |