We help IT Professionals succeed at work.

SQL Reporting Services 2005 Updating a table using data from the report!

DavidGreenfield
on
Medium Priority
387 Views
Last Modified: 2008-01-09
Hi there

I don't think this can be done in RS, but I thought I'd see if anyone can come up with a good idea.

Basically I have alot of data that is created in multiple stored procedures and runs in a data driven subscription passing in different ids through each run.

The sprocs use temp databases to get the data in the form needed and returns to RS.

However, in an ideal world what I want is to sum up the totals in these various sprocs which RS does and then update a table in SQL at the end of the report with the sums of the totals from the sprocs that RS has summed up.

The srpocs all take a while to process all of them about a couple of mins, so I can;'t really run them once in SQL server to get the data and do the updates then again in RS to get the data for the report, due to the number of times the data driven sub needs to run.

RS won't update the rows in the table because it won't allow me to use field names in parameters, ie in my update statement say I have a parameter called @total it won't allow me to assign @total from another query made up of say sum(total1) + sum(total2) + sum(total3) etc, and report parameters work the same way.

I presume this just simply can't be done in RS unless someone can tell me otherwise, so I think I'll prob have to stop using temp tables and get SQL Server to do all the work in tables, then get RS to read from them, then somehow clear them down before the next ones runs in the data driven subscription.

Anyone any ideas?

Thanks

David
Comment
Watch Question

Commented:
I don't know the ways of doing it in RS directly... One way of doing it would be:

1. Schedule a report

2. Run it and export it as some data-file (excell, csv)

3. Get data from this excell file in DTS adn put it in persistent or temp table(s) in SQL

4. Again in DTS, run some queries for getting you values from the table(s) created above.

Of course you can just do all calculations in your sql server (but you'll have to get rid of temp tables).

good luck,
yurich
BI & Database Architect & Developer, Sitecore Developer
CERTIFIED EXPERT
Commented:
You can do the updating in the sp's themselves.

This is simplistic but your sp could look something like;

    Select Name, Date, Value From MyTable

    Update MyTotalTable
        Set TotalValue = (Select Sum(Value) From MyTable)
        Where Id = SomeValue

The report will still show the data you want but it will also update the totals.

Cheers
Chris

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.