2012-12-05 106 views
7

我想基於一個查詢來實現以下佈局,爲我的報告。SSRS報告格式化並排顯示數據的表格

+----+-------+----+-------+ 
| ID | Name | ID | Name | 
+----+-------+----+-------+ 
| 1 | Danny | 2 | Dave | 
| 3 | Sue | 4 | Jack | 
| 5 | Rita | 6 | Sarah | 
+----+-------+----+-------+ 

所以我基本上要一個表,由左到右,以節省空間我的網頁上,而不是將它打印一行,並浪費了所有的空間在紙張的右側,甚至可能是打印我的數據在整個寬度上走3次。

這是我的數據:http://sqlfiddle.com/#!3/5c911/1

我想也許一個表,4列。列1和列2包含奇數行號,列3和列4包含偶數行號。

我怎麼能做到這一點,我嘗試了一些MOD功能,但它似乎沒有正常工作,或者我誤解了發生了什麼。

相關: How can I display two rows worth of data on one line side-by-side in Report Designer?

感謝,

+0

你可以編輯問題並在你的數據集上添加詳細信息,你到目前爲止已經嘗試了什麼,並且特別是(除* sample *之外)你試圖實現什麼? – Jeroen

+0

對不起,我已經添加了一些更多的細節。 –

+0

您是否考慮過使用報告* Columns *屬性:http://stackoverflow.com/questions/6269808/ssrs-am-i-hallucinating這將使用多個列.pdf輸出,但不適用於web和Excel,這可能是正是你想要的。 –

回答

7

要打印的數據從左至右在多列格式,你需要使用假多個表吧。爲了實現這種黑客行爲,請將所有指向您的數據集的列的數量相同的列並排創建。在第一個表的詳細信息行,對於可視性隱藏屬性使用以下公式:

=IIF((RowNumber(Nothing) Mod 4) = 1, False, True) 

其中4爲表(列),你必須數。

對每個表都做同樣的事情,遞增公式等於(對於第二列(RowNumber(Nothing) Mod 4) = 2等等)。在最後一個表格(列)中,公式等於0

這會交替地隱藏詳細信息行,只顯示該列編號的相應行。

0

您可以通過查詢來實現該效果。

SELECT std1.id AS Student_Id, 
     std1.NAME AS Student_Name, 
     std2.id AS Student_Id, 
     std2.NAME AS Student_Name 
FROM students std1, students std2 
WHERE (std2.id - std1.id = 1 
     AND std1.id %2 = 1);