2015-11-13 78 views
1

我想創建一個SSRS報表。我有5張桌子,我想他們都停留在一個頁面上,除了當一年的變化,如下圖所示:SSRS分頁問題,​​每個頁面有多個表格

page1: year 2014 
    table1 
    table2 
    table3 
    table4 
    table4 

page2: year 2015 (the same tables as page 1, but with data for year 2) 
    table1 
    table2 
    table3 
    table4 
    table5 

我怎樣才能做到這一點?

+0

創建兩個子報表,並將第一個子報表放置在第二個子報表上,爲2014年的首次使用數據,並在最後放置一個帶分頁符的空矩形。在第二次報告中使用2015年的數據。分頁符將把第二個子報表放在一個新頁面中。如果您遇到問題,請告訴我,我會發布答案。 –

+0

謝謝Alejandro對你的文章 –

+1

的問題是,年份不僅僅是2014年和2015年。它可能只是這兩個或更多,基於數據庫中的數據可以找到多遠。 –

回答

0

一個(相當醜陋的)做到這一點的方法是使用在Year上過濾的列表。不幸的是,這意味着你需要將所有的數據返回到一個數據集中。

以前我做過的是創建一個表變量來返回所有數據,如@ReturnData。這包含您希望返回的每個表格的每個字段以及一個tableID標識符。

然後我插入的所有表與當前插入語句設定的表格ID此@ReturnData表,如

INSERT INTO @ReturnData(tableID, col01, col02, col03) 
SELECT 
    1 AS tableID, 
    a.col1 as col01, 
    a.col2 as col02, 
    a.col3 as col03, 
    ... 
FROM myTableA a 

然後第二個表格

INSERT INTO @ReturnData(tableID, col11, col12, col13) 
SELECT 
    2 AS tableID, 
    b.col1 as col11, 
    b.col2 as col12, 
    b.col3 as col13, 
FROM myTableB b 

然後在Reporting Services您可以根據分組在一起返回的數據集創建一個列表。此列表可以按年進行分組,每個表可以在tableID列中進行過濾。

enter image description here

注意是否有表之間的公用列沒有任何理由,不把數據在兩個表一列,每一列都有其自己的TABLEID標識。

+0

非常感謝Jonnus,我嘗試了這個。 –

+0

讓我知道你如何繼續,如果你需要進一步的幫助 – Jonnus