I’m trying make a report which contains some prices on every row, and I want to print the sum of prices -which are printed on the page- at the bottom of every page. I don’t find it smart to print the grand totals in every page, for my situation at least.
Example:
First Page
Name | Price1 | Price2 | Price3 | Price4 -table header
Record 1 | 10 | 15 | 15 | 20
Record 2 | 15 | 15 | 15 | 15
Total 2 records | 25 | 30 | 30 | 35 -table footer for page 1
Second Page
Name | Price1 | Price2 | Price3 | Price4 -starting 2. page, table header
Record 3 | 20 | 30 | 30 | 30
Total 1 records | 20 | 30 | 30 | 30 -end of the table
Grand T. (3 rec) | 45 | 60 | 60 | 65 -end of the table
I put 2 records for the first page and 1 for second page, its just to demonstrate what I want. I did my best to make it look clear.
I can see two possible ways this could be done.
Since you say that there’s a predictable number of rows per page (let’s say, for ease of constructing an example, that there are 25), you could do the following:
In your query, assign each row a consecutive sequence number. You could do this like this:
Then, in your report, group by
RowGroup, and subtotal your rows.If you have other, higher-level groupings in the report, you will probably have to start a new page after each higher-level group, because otherwise it will throw the placement off for the page subtotals.
(You might also be able to do this with the RowNumber() function in SSRS without modifying the underlying query, but there are a lot of rules about what functions you can use when, and I don’t know if that would be allowed.)
The other option I can think of is more complicated and involves using the report Code section and setting some module-level functions. Let me know if you think that’s something you need to see.