2012-10-05 65 views
0

我試圖讓它包含了每一行的一些價格的報表打印頁面明智的總量,而且我想打印哪位印在頁面級價格的總和在每個頁面的底部。至少在我的情況下,我不覺得在每個頁面上打印總計數字都很明智。如何在每一頁的末尾使用表

例子:

首頁

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 

第二頁

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 

我把2條記錄第一頁和1對第二頁,它只是證明什麼我想要。我盡我所能讓它看起來很清楚。

+0

是每頁打印價格行的預測的數量,也可以改變? –

+0

@ AnnL.I不啓用自動增長屬性,因此所有的頁面應該包含行的固定2-14,但最後一頁。 – SmT

+0

我編輯過你的標題。請參見「[應的問題包括‘標籤’,在他們的頭銜?(http://meta.stackexchange.com/questions/19190/)」,這裏的共識是「不,他們不應該」。 –

回答

1

我可以看到兩種可能的方式可以這樣做。

既然你說,有每頁行數可以預測(比方說,爲便於構建一個例子,即有25個),你可以做到以下幾點:

在查詢中,分配給每個行一個連續的序列號。通過RowGroup

WITH Cte 
AS (
    SELECT Name, 
      Price1, 
      Price2, 
      Price3, 
      Price4, 
      RecordNumber = Row_Number() OVER (ORDER BY [whatever]) 
    FROM [tables] 
) 
SELECT Name, 
      Price1, 
      [etc] 
      RowGroup = Floor((RecordNumber * 1.0)/25) 
FROM  Cte 
ORDER BY RecordNumber 

然後,在你的報告,組,和小計您行:你能做到這一點是這樣。

如果您在報告中有其他更高級別的分組,您可能必須在每個更高級別組之後開始一個新頁面,因爲否則它將爲頁面小計拋出放置。 (您也許可以在SSRS中使用RowNumber()函數執行此操作,而無需修改基礎查詢,但是有許多關於您可以使用什麼函數的規則,而且我不知道該函數是否可以使用)

我能想到的另一個選擇更復雜,涉及到使用報告代碼部分和設置一些模塊級功能。如果您認爲這是您需要查看的內容,請告訴我。

+0

謝謝,這是一個可以接受的答案,順便說一句,您可能想將'RecordNumber as ...'換成'...作爲RecordNumber',只是一個小的語法錯誤,但方法很明智。如果你的意思是'報告代碼behind'比報表屬性代碼段不同的東西,是的,我想看看他們。 – SmT

+0

@SmT感謝您的指正!是的,當我說「報告代碼隱藏」時,我的意思是代碼部分。 –

相關問題