轉自 阿泰的軟體實用主義:http://www.cnblogs.com/babyt/archive/2009/04/19/1439348.html
使用交叉表時,會遇到這種情況:
列非常多,行非常少,結果頁面會自動分頁。
於是出現了一頁上只顯示幾行,卻顯示成很多頁的情況。既不好看,又浪費紙張(如果列印的話)
問題產生了,能不能將這個換頁的動作,限制在同一頁上呢?
===========================================================
假設我有這樣一個表,有兩個欄位: GSM一般股份有限公司名稱 、 BMMC 部門名稱。
用交叉表實現每個公司部門數目的縱向顯示,一般我們會作出來這樣的一個效果。
黃的標註的部分,就是換頁的部分。
我們現在就以這個為樣版,來做一下改造。
基本思路是:
將資料進行處理,現在一共有41個公司層級的資料,也就是有41個列。
我們要實現每10個做為一個換行,也就是會分為10,10,10,11四行。
交叉表是不能主動換行的,我們用分組來實現一個類比換行。
那麼,怎麼要能分成4組呢?
注意:本文使用Oracle資料庫完成。
1:首先整理資料,將原來的很多條,整理成41條摘要資料。
並且,根據我們的需要,進行編號。
2:以此為基礎,製作一個新的普通報表。
3:做一個公式myGrp:
這個是關鍵,大家注意到,我們把每10個,切為一個標誌位。
以公式myGrp進行分組
那麼分組出來的資料如所示
好,我們就以這個為基礎,做交叉表。
4:在組頁首上插入交叉表,抑制顯示掉其他的節,如所示
ok,雛形就出來了。
至此,基本思路就實現完畢了,但是不好看,對嗎?那進一步處理一下吧。
5:刪除掉“組標題”,點中交叉表,在交叉表專家中,點“格式化網格線”,進入格線設定介面
設定最外面的幾個邊線的顏色為白色。
設定完後,預覽介面是這樣的
繼續,點中交叉表,設定交叉表格式,設定其四個邊都為“單線”
然後,再看,是這個樣子嗎?
後記:
1:本文並不是一個通用性的解決方案,僅對部分案例有效,希望大家能吃透這個原理。做更好的發揮。
2:我相信可能其他工具有更好的解決方案