Solved

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

Posted on 2006-10-24
2
349 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
0
Comment
Question by:DavidGreenfield
2 Comments
 
LVL 21

Expert Comment

by:Yurich
ID: 17801081
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
0
 
LVL 18

Accepted Solution

by:
chrismc earned 500 total points
ID: 17823126
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
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Hi, I am very much excited today since I'm going to share something very exciting Tool used for Analytical Reporting and that's nothing but MICROSTRATEGY. Actually there are lot of other tools available in the market for Reporting Such as Co…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now