tags:

views:

253

answers:

3

I need a solution in order to provide customers the ability to customize their own reports, without any IT knowledge. I need a designer easy to integrate with my .NET (C#) application.

What is the best solution/product, if any? Or should I consider to develop my own?

Thanks all, G.

+2  A: 

One option would be Report Builder, which comes with SQL Server. You can produce a data mart or a data source view over your database. If your application has a web front-end, you can fairly easily direct flow to the builder application. For a rich-client it's a bit less cleanly integrated as you would have to spawn a browser and open it on the report model.

Another option in this vein is RSInteract. This is somewhat better than report builder, as it has better support for OLAP cubes. It will consume (IIRC) RS reports, report models and cubes.

ConcernedOfTunbridgeWells
A: 

I posted this in a different question, but I'll put it here as well. It is a quick run down on what I had to do to achieve something similar.

At my company I had to put together our own Report Builder.

We have about 30 or so Reporting Service reports that our users can access through the web or desktop application. What we wanted to do was give our users the ability to take any given section within those reports and create their own.

If there is a report we have built for them but they don't want to see the graph, they can create the same report with out it. If they want to combine parts from 4 different reports to make one summary report they can drag those sections around on our custom builder and save it.

The report builder I had to put together pulls down all the different sub-reports they have chosen and reads through the XML adding them to a Report Builder Template XML file I have created. I then have to aggregate all the parameters so as to not ask for them more than once (parameter names do have to be unique across all reports if you don't want them aggregated). This new report XML is deployed to the server and the users can access them when ever they want.

I've also given them the ability to create their own cover pages, headers, and footers by dragging text boxes, images, global variables (date ran, created, ran by, page number, etc... anywhere on a blank canvas. I then convert all the items they've drug around and resized on this canvas in to another report XML file and deploy it as a sub-report that they can add to their custom reports.

Yes, this has taken quite a bit of work, but our users love it. We're in the process now of allowing them to create a report with special groupings so the report can be ran at different levels.

So it is possible, but there is no easy answer. =) I'd be glad to give advice to anyone who asks, but a direct copy of the code is probably a violation of my contract, but I'll do what I can outside of that.

Dustin Brooks
A: 

Thank you very much for your responses.

The context in more simple: I have an invoice report. I need a simple user interface to give to the users the ability to author the report: customize the logo, change the layout and so on.

The application is a small desktop application with SQL Compact Edition.

G.

In that case, yes, what I have done is way too much work. =)
Dustin Brooks