Совместное использование набора данных между родительским отчетом и вложенными отчетами в Crystal Reports 2008?

Я новичок в отчетах Crystal и использую Crystal Reports 2008 для создания отчетов.

У нас есть требование, согласно которому данные из одного источника должны быть представлены в отчете тремя разными способами.

Итак, способ, которым я его спроектировал, состоит в том, чтобы иметь 3 разных подотчета с источником данных, настроенным на одну и ту же процедуру из БД, и отчет о контейнере, который содержит эти подотчеты. В зависимости от выбора пользователя для просмотра отчета по отдельности или сгруппированных, я подавляю / не подавляю подотчеты в контейнерном отчете.

Отчеты отлично работают в соответствии с требованиями текущего дизайна. Но меня беспокоит производительность отчета, когда пользователь выбирает просмотр всех 3 режимов представления вместе, то есть когда вызываются все 3 подотчета. Очевидная причина заключается в том, что одни и те же данные извлекаются из базы данных подотчетами по отдельности, а не за один раз и повторно используются во всех подотчетах. Я подумал, что должен быть способ совместного использования набора данных из источника между подотчетами без необходимости повторного нажатия на базу данных. Но мне еще предстоит найти способ сделать это в Crystal Reports. Есть ли способ реализовать это явно для повышения производительности?

Примечания:

1) Я выбрал дизайн из 3 отдельных подотчетов для представления одних и тех же данных, потому что требование требует модульности. Но я знаю, что обычно не рекомендуется использовать подотчеты, когда используются те же данные.

2) Представление данных в каждом подотчете довольно сложно. В каждом вложенном отчете используется по крайней мере от 4 до 5 групповых разделов, и они не совпадают во всех вложенных отчетах. Поэтому в основном я не знаю способа реализовать различные презентации с несколькими разделами групп в одном отчете без использования подотчетов для решения этой проблемы с производительностью.

3) Я почти все оптимизировал в процедуре БД, и это не проблема.

Я искал, используя Google, и, насколько я понял, я предполагаю, что ищу такие функции, как области данных из SSRS в Crystal Reports. Я могу ошибаться в этом, поскольку я не знаю SSRS и не понимал области данных из того, что я читал.

Итак, чтобы подвести итог, поддерживает ли Crystal Reports функциональность, которую я представляю, например, получение данных из БД в основном отчете контейнера и передача / использование их во всех подотчетах без повторного обращения к БД?


person lakshminb7    schedule 15.11.2011    source источник


Ответы (1)


Вложенные отчеты привязываются к источнику данных так же, как и основной отчет. Данные из основного отчета обычно передаются как параметры. Насколько мне известно, в процессе привязки кэширования данных не происходит. Если вы представляете отчеты через программу просмотра настраиваемых отчетов, вы можете связать источник данных для подотчетов с тем же источником данных, что и основной отчет, и сэкономить на дополнительных поездках на сервер и обратно. В противном случае, исходя из вашего описания, вы можете творчески использовать условное форматирование, чтобы скрыть / показать разделы группы, если данные для основного и вспомогательного отчетов взяты из одной и той же хранимой процедуры.

person Justin    schedule 16.11.2011
comment
Спасибо за ответ. Я не понял вашего объяснения привязки источника данных для подотчетов к тому же источнику данных, что и основной отчет. Это именно то, что мне нужно. Но, к сожалению, не знаю, как это сделать из вашего ответа. Спасибо. Поможу, если вы укажете мне в этом направлении. - person lakshminb7; 17.11.2011
comment
Вам нужно будет использовать программу просмотра отчетов java или .net crystal и привязать источник данных отчета через код. Как отчеты просматриваются конечным пользователем? - person Justin; 17.11.2011
comment
Мы просто запускаем окно браузера из приложения, ссылаясь на URL отчета с их параметрами. В нашем приложении нет программы для просмотра пользовательских отчетов. - person lakshminb7; 17.11.2011
comment
Затем вы будете обращаться к базе данных для каждого отчета и подотчета. Невозможно обойти это с помощью сервера отчетов, не изменив дизайн отчета и не избавившись от вложенных отчетов. - person Justin; 17.11.2011
comment
Как же тогда вы можете построить субрепортаж без набора данных? Потому что мы хотели бы, чтобы создатели отчетов по-прежнему могли перетаскивать данные на вспомогательную поддержку. - person deltu100; 04.05.2016