天天看點

FineReport制作可動态展開的組織遞歸樹報表

先看看效果:

FineReport制作可動态展開的組織遞歸樹報表

報表軟體:FineReport

1.分析-與正常查詢的對比

如果不做這種樹狀結構展開的報表的話,正常的SQL應該是這樣寫的,以單據表為例,假設單據的機構為分公司,經營部

select 分公司編碼,分公司名稱,經營部編碼,經營部名稱,sum(數量) 總數量,sum(金額) 總金額

from order_header,order_itemoi

whereoh.order_id=oi.order_id

andoh.party_id_from in ('$(分公司編碼)')

andoh.confirm_date >to_date('${startDatre}','yyyy-mm-dd')

andoh.confirm_date<to_date('${endDatre}','yyyy-mm-dd')+1

group by 分公司編碼,分公司名稱,經營部編碼,經營部名稱

2.SQL-over partition的應用

如果要做成在經營部級别彙總金額和數量,同時在分公司級别也要彙總數量和金額的話,那麼,需要在1中的基礎上做增加,在每一行上增加一列,來表示目前行所在的分公司的彙總的金額和數量,SQL如下

select 分公司編碼,分公司名稱,經營部編碼,經營部名稱,

sum(數量) 經營部總數量,sum(sum(數量)) over (partition by 分公司編碼)  分公司數量,

sum(金額) 經營部總金額,sum(sum(金額)) over (partition by 分公司編碼)  分公司金額

fromorder_header,order_item oi

3.展示界面的設定和通路注意事項

展示界面的設定,一點點寫比較麻煩,我就不講了。最後,通路的時候需要在url後面加上參數op=sheet

本文轉自 雄霸天下啦 51CTO部落格,原文連結:http://blog.51cto.com/10549520/1677829,如需轉載請自行聯系原作者