This is not a big answer, but in my company I put together my own Report Builder.
We have about 30 Reporting Service reports that our users can get through a web application or desktop application. What we wanted to do was give our users the opportunity to use any section in these reports and create their own.
If there is a report that we created for them, but they donβt want to see the chart, they can create the same report without it. If they want to combine parts from 4 different reports to make one summary report, they can drag these sections around our custom builder and save it.
The report creator that I had to compile pulls out all the different subheadings they selected and reads through XML, adding them to the XML report builder template file that I created. Then I need to collect all the parameters so as not to request them more than once (the parameter names must be unique for all reports if you do not want them to be aggregated). This new XML report report is deployed to the server and users can access it whenever they want.
I also gave them the opportunity to create their own cover pages, headers and footers by dragging text fields, images, global variables (date encountered, creation, launch, page number, etc.) anywhere on a blank canvas. Then I convert all the objects that they have and resize on this canvas to another XML report file and expand it as an additional report that they can add to their custom reports.
Yes, it took a lot of work, but our users like it. Now we are in the process of creating reports with special groups so that the report can be run at different levels.
So it is possible, but there is no simple answer. =) I would be happy to give advice to anyone who asks, but a direct copy of the code is a violation of my contract, but I will do everything in my power.
source share