2011-11-15 2 views
5

Я довольно новичок в отчетах Crystal и использую Crystal Reports 2008 для наших потребностей в отчетах.Совместное использование набора данных между родительским отчетом и подзаголовками в отчетах Crystal Reports 2008?

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

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

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

Примечание:

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

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

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

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

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

ответ

2

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

+0

Спасибо за ответ. Я не понял ваши объяснения по поводу привязки источника данных для подзаголовков с тем же источником данных основного отчета. Это то, что мне нужно.Но, к сожалению, не знаю, как это сделать из вашего ответа. Благодарю. Помогите, если вы можете указать мне в этом направлении. – blntechie

+0

Вам понадобится либо использовать java, либо .NET-просмотрщик отчетов Crystal и связать источник данных отчета с помощью кода. Как отчеты просматриваются конечным пользователем? – Justin

+0

Мы просто запустим окно браузера из приложения, ссылающегося на URL отчета с их параметрами. У нас нет настраиваемого средства просмотра отчетов в нашем приложении. – blntechie