Crystal Reports 2008 - параметры из критериев выбора не используются для выбора для извлечения данных из БД - PullRequest
0 голосов
/ 02 июня 2011

У меня есть несколько отчетов, написанных в Crystal 2008 с использованием бизнес-представлений.Эти отчеты имеют настроенный параметр даты, и у меня есть выбор на дату, определенную в эксперте выбора.Однако, когда я запускаю отчет, кажется, что он извлекает все данные из базы данных и только затем отфильтровывает их по дате.Как вы можете себе представить, это немного замедляет отчет.Я также нажал на SQL-запрос базы данных-шоу и подтвердил, что параметр даты не появился в SQL-запросе.Такое поведение кажется мне очень странным.Это не случалось со мной, когда я использовал Crystal 8.5 со словарями.Это ограничение для бизнес-представлений?

Я провел поиск и обнаружил, что могу создать отчет с помощью команды базы данных.Это помогло повысить производительность одного из моих отчетов, но когда я попытался сделать что-то похожее в другом отчете, хотя я и использовал команду базы данных, он все равно не появлялся в том, что делал выбор в базе данных перед извлечениемданные и отчет заняли целую вечность.Я также не видел выбор в запросе SQL.Нужно ли добавить параметр в команду базы данных?Смогу ли я предложить пользователю ввести значение при запуске отчета?

Я надеюсь, что есть способ сделать это правильно, используя бизнес-представления, потому что в противном случае мне придется переписать все свои отчеты, чтобы использоватьдругой метод.

Любые идеи или советы приветствуются.Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 04 июня 2011

Я понял, в чем проблема. В моем бизнес-представлении были поля, представляющие собой формулы. Если вы попытаетесь использовать критерии выбора с помощью формулы, она не добавит критерии к предложению WHERE в запросе SQL. К счастью, я смог найти другие поля, кроме формулы в бизнес-представлении, чтобы сделать выбор.

0 голосов
/ 03 июня 2011

У меня была похожая проблема.Я использовал команду, но мой отчет все еще занимал больше времени, чем я рассчитывал запустить.поэтому я добавил оператор where в команду, чтобы начать проверку дат, начиная с 2009 года. Это немного ускорило мой отчет.

вы можете рассмотреть вопрос о создании хранимой процедуры, если вы думаете, что выдвигаете CR до предела.это также может помочь ускорить отчет.

...