1.創建新報告並添加數據集。
新建壹個工作簿,添加數據集ds1,sql語句為SELECT * FROM company department,查詢出company department表,典型的id和parentid結構。
從數據中可以看出,組織結構包含三層,需要把這三層分別拿出來。最終的模板效果如下:
2.壹樓
將部門ID拖動到單元格A1,默認展開所有部門ID,通過過濾條件篩選出壹級部門;從數據中可以看出,壹級上級ID為空,所以選擇單元格A1,點擊〖過濾〗按鈕,增加上級ID等於“空”的條件,如下圖所示:
3.二樓
再次將部門ID拖動到A2單元格,默認情況下所有部門ID仍會展開。將A2的父單元格設置為A1,表示本級部門ID可以自動隨父部門ID展開。設置好母網格後,妳會發現取出的第二組數據和第壹層是壹樣的;因為設置了父單元格,所以A1和A2中的數據列來自同壹個數據集。此時,下級單元格默認使用上級單元格作為過濾條件,這樣就可以過濾掉部門ID=上級ID的數據,導致總是選擇同壹個部門作為上級。因此,您需要選擇A2單元格,單擊過濾,並刪除父單元格作為過濾條件。
同時,過濾條件的父ID等於“A1”,如下圖所示:
4.三樓
第三層的原理和第二層壹樣,需要相同的設置。如果數據中有三個以上的組織層,可以用同樣的方法添加它們。
5.其他設置
模板中使用了部門ID。如果要顯示為對應的部門名稱,可以通過數據字典進行轉換。如果有些圖層有子圖層,有些沒有子圖層,那麽會因為展開而出現壹些空行,空行可以隱藏。
6.保存並預覽
保存模板,設計者點擊分頁預覽,可以看到上面的效果。