Как лучше всего интегрировать дизайнер отчетов в приложение .NET?

Мне нужно решение, чтобы предоставить клиентам возможность настраивать свои собственные отчеты без каких-либо знаний в области ИТ. Мне нужен дизайнер, легко интегрируемый с моим приложением .NET (C #).

Какое решение / продукт лучше всего, если таковые имеются? Или мне стоит подумать о разработке собственного?

Всем спасибо, Г.


person Community    schedule 02.02.2009    source источник


Ответы (2)


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

Другой вариант в этом ключе - RSInteract. Это несколько лучше, чем построитель отчетов, поскольку он лучше поддерживает OLAP. кубики. Он будет потреблять (IIRC) отчеты RS, модели отчетов и кубы.

person ConcernedOfTunbridgeWells    schedule 02.02.2009

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

В моей компании мне пришлось собрать собственный построитель отчетов.

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

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

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

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

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

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

person Dustin Brooks    schedule 02.02.2009