views:

11

answers:

0

I'm looking for a clean approach to using SSRS 2008 to provide our customers with common reporting functions:

  • Standard Visual presentation for the report, with strong aesthetics, drill downs, graphs etc. Only one visual format will be provided for all customers.
  • Customers will also want to access the raw data to the report in a variety of formats, including CSV, XML. Note that each customer may have a different requirement for formatting of the data (i.e. rs:Format=CSV won't cut it)
  • Would like to reuse as much as possible. Both the visual and data formats will be serviced by the same Stored Procedures.

It seems the options are:

  1. Publish our own Web Service which is consumed by SSRS and other Clients. XSLT can be applied to the web service to render customised CSV and XML formats (i.e. non-SSRS solution for CSV and XML formats)
  2. Use the rs:XSLT URL querystring parameter to apply a custom XSLT over the rendering to generate custom CSV and XML formats. However, AFAIk, the input XML to this is the same XML used in the report rendering. This seems ugly as scraping data off a UI concern http://msdn.microsoft.com/en-us/library/aa179606
  3. Build a custom rendering engine, providing more knobs than the standard rs:format=XML / CSV ones provided by Microsoft.

However, is there any way to directly access the data source (i.e. before it is rendered in the RDL), convert it to XML and apply the XSLT at this point? This seems a cleaner option than 2, since the data source will likely return more columns than are used in the RDL report.

Thanks!

related questions