2017-01-26 4 views
0

У меня есть ступенчатый отчет с 5 группами строк. Каждое из них использует выражение как значение для группировки. Пользователь выбирает значение для 5 различных параметров, и на основе этих параметров определяется, как сгруппирован отчет.Использование выражений группы строк в SSRS Причиной предварительного запуска для запуска очень медленно

С некоторыми комбинациями параметров отчет может занять 2min + для запуска в области предварительного просмотра в Visual Studio. Когда я разворачиваю отчет на сервер SSRS, те же самые комбинации параметров запускаются через 10 секунд или меньше. Из любопытства я создал копию отчета и удалил выражения из каждой из групп строк и задал поле для группировки. В этом случае он просматривается так же быстро, как при просмотре на сервере.

У кого-нибудь есть идеи, что здесь может быть?

настоящее время я использую Визуальный Studio Enterprise Update 3.

+0

Может быть полезно разместить код? –

ответ

0

Прежде всего и немного очевидной, если вы используете свой отчет в машине развития не будет иметь такую ​​же вычислительную мощность, как сервер. Даже если вы используете VS с сервера, он не будет работать так быстро, как развернутый отчет.

Причина, о которой вы можете заметить, поскольку медленная производительность - это выражение группировки. Кажется, что ваш отчет требует много времени для обработки, поэтому проверьте эту статью с сообщения Technet. Я скопировал и вставил пункт ниже:

Много уровней вложенности и смежных групп в области данных табликса может повлиять на производительность обработки отчетов. Рассмотрим как уровень , так и количество элементов группы, а также использование агрегатов , которые требуют оценки после группировки, фильтрации и сортировки .

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

Дайте мне знать, если это поможет.

+0

Отчет на самом деле касается табличной модели SSAS. В основном в отчете есть три параметра и на основе того, что пользователь выбирает, так группируется отчет. Я следовал шаблону, опубликованному этим парнем (http://www.bp-msbi.com/2011/05/dynamic-groups-in-ssrs-reports-with-mdx/). После того, как MDX будет собрано вместе, он пройдет примерно через 2 секунды, и отчет займет еще 2-4 минуты, чтобы собрать их вместе. В большинстве случаев итоговый отчет составляет от 2 до 4 страниц. Я знаю, что не могу много продолжать здесь, я надеялся, что кто-то, возможно, видел это поведение раньше. – User181

0

Я понимаю, что это более старая проблема, но, возможно, это поможет вам.

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

Этот link описывает симптомы и причины.

Я не знаю, было ли это в этой конкретной ссылке или нет, но я кое-что прочитал о том, как элемент управления ReportViewer, когда он отображает HTML, имеет ошибку в нем, что происходит только тогда, когда элемент управления работает под .Net 4.0 или выше. В .Net 3.5 производительность практически такая же, как если бы вы запускали RDL в приложении Report Viewer.

Если вы в состоянии сделать это, самый быстрый способ заставить компонент средства просмотра отчетов работать с пулом приложений, который IIS использует для работы в .Net 2.0 (или 3.5, если этот параметр существует, re в основном то же самое).

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

Для справки у меня был отчет, где запрос занял около 2 минут для выполнения, а затем отобразился почти сразу после этого, если я загрузил RDL в SSRS. Тот же отчет, полученный с помощью элемента управления ReportViewer в .NET 2.0, занял около 2 минут 30 секунд для полного рендеринга. Используя тот же самый код, но изменяя пул приложений для использования .Net 4.0, отчет был «рендерингом» примерно на 15 минут и до сих пор не вернулся.

Смежные вопросы