Пользовательские отчеты с SSRS - PullRequest
4 голосов
/ 29 января 2009

У меня есть веб-приложение, которое обслуживает отчеты служб отчетов SQL через элемент управления reportviewer. Из-за сложности некоторых отчетов я использую отчеты rdlc, прикрепленные к бизнес-объектам.

Теперь я хотел бы расширить систему и разрешить некоторую форму пользовательских отчетов. В идеале я хотел бы, чтобы пользователи подключали свои отчеты к тем же бизнес-объектам, которые я использую для создания отчетов rdlc.

  1. Есть ли элемент управления, который позволяет пользователям создавать / редактировать свои собственные файлы rdlc?
  2. Могут ли файлы rdl быть прикреплены к бизнес объекты?
  3. Любые советы / советы по написанию своих контроль редактирования файлов rdlc? (Я мог бы думаю, что это много работы и будет пытаться только если есть нет подходящего ответа на 1 или 2).

Вся моя разработка была сделана в VS 2005 с использованием SQL 2005, но я мог бы обновить ее, если бы новые функции в 2008 году помогли с решением.

Ответы [ 2 ]

3 голосов
/ 31 января 2009

Это не очень хороший ответ, но в моей компании я собрал нашего собственного построителя отчетов.

У нас около 30 отчетов Службы отчетов, к которым наши пользователи могут получить доступ через веб-приложение или приложение для настольного компьютера. Мы хотели предоставить нашим пользователям возможность использовать любой раздел в этих отчетах и ​​создавать свои собственные.

Если мы создали для них отчет, но они не хотят видеть график, они могут создать тот же отчет без него. Если они хотят объединить детали из 4 различных отчетов в один сводный отчет, они могут перетащить эти разделы в наш пользовательский конструктор и сохранить его.

Создатель отчетов, который мне пришлось собрать, извлекает все различные вложенные отчеты, которые они выбрали, и читает XML, добавляя их в созданный мной XML-файл шаблона построителя отчетов. Затем я должен агрегировать все параметры, чтобы не запрашивать их более одного раза (имена параметров должны быть уникальными во всех отчетах, если вы не хотите, чтобы они агрегировались). Этот новый XML-отчет развернут на сервере, и пользователи могут получать к ним доступ в любое время.

Я также дал им возможность создавать свои собственные титульные страницы, верхние и нижние колонтитулы, перетаскивая текстовые поля, изображения, глобальные переменные (дата, время создания, номер страницы и т. Д.) В любом месте пустой холст. Затем я преобразую все элементы, для которых он был добавлен, и изменил размер этого холста в другой XML-файл отчета и развернул его как вспомогательный отчет, который они могут добавить в свои пользовательские отчеты.

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

Так что это возможно, но нет простого ответа. =) Я был бы рад дать совет всем, кто спрашивает, но прямая копия кода является нарушением моего контракта, но я сделаю все возможное за пределами этого.

1 голос
/ 29 января 2009

Я думаю, что SQL Reporting Services не предназначены для такой настройки. Вы можете скрывать и отображать элементы управления и подотчеты, но таких вещей, как интерактивная группировка и т. Д. Там нет.

Вы можете посмотреть на стороннюю систему отчетности, такую ​​как Telerik's .

...