Use a dataset as source of another data set RRS feed

  • Question

  • Dear Anyone,

    Would it be possible in RS2005 to use an existing data set as the source of another data set?

    We have a scenario of which we have several parameters whose data comes from a single table. We would want to limit the queries on the database.

    Is this possible at all?




    Friday, January 20, 2006 3:56 AM

All replies

  • There is no simple way to use one DS as source for another.

    There is one direction you can explore. If you have a case when you want to offload your OLTP database from heavy queries you may try this:

    1) Create an intermediate report that has a basic table pulling all interesting data from OLTP db and may be perform some calculations (group totals etc). You then create snapshots of this report once in a while.
    2) Create another report with rich layout. Use snapshot of the intermediate report as a datasource.

    The intermediate report here works like an OLAP cube definition. Its snapshots are the cube instances. Layout reports are feeding from the cube instances. OLTP db will be queried only once per the snapshot (cube instance creation).

    How is it done: Xml Data Renderer / Xml Data Provider.
    You can easily use one report as a data source of another if you render source report to XML and then use XmlDP to convert it into a dataset.
    In your second report you will need to create XmlDP datasource that will connect to the report server (in fact, any RS server) and make a soap call to render the 'cube' report as XML. The XmlDP query will have element path that will get data your want.

    Note that rendering the cube report from XmlDP (vs its snapshot) will not solve your problem because each time XmlDP runs the query it will result in live execution of the cube report and it will go into your OLTP db. Rendering the snapshot of the cube report will not result in OLTP query, which is the goal.

    Wednesday, January 25, 2006 7:51 PM