BIRT報表一線揭秘1

2021-06-14 00:42:36 字數 1406 閱讀 5834

前不久設計了乙個很複雜的報表,中間涉及到彙總,又分類,再彙總,外連線,排序,前十等等

用到了63個超複雜sql的資料集,用了260個網格單元格

大部分sql資料集的查詢語句如下:

select nvl(sum(j3.usdamt),0)   j3usdamt 

from (select a.custno,

sum(a.usdamt/10000) as usdamt,

replace(wmsys.wm_concat(distinct a.usedetail),

',',

'、') usedetail,

replace(wmsys.wm_concat(distinct

a.sourceanduse),

',',

'、') sourceanduse,

row_number() over(order by sum(a.usdamt) desc) as rowno

from fex_transreg a, multileveldic c

where substr(a.trandate, 0, 7) = ?

and a.cancelstatus = '0'

and trim(a.itemcode) = trim(c.itemid)

and trim(c.recdec) in (select itemid

from multileveldic

where typeid = 'forex'

and upsysid = 200

and p_level = 4)

group by a.custno) j3

where usdamt>=50 and j3.rowno <11 

設計器整體截圖如下:

布局如下:

最終執行的效果如下圖:

在這兒有個問題是,如果要在十行顯示6個依據不同類別的彙總的排名第一至第十,而且這其中任何一種都有可能是空值,故而不能用外連線或者全連線的方式構建資料集,而且資料集的資料條目數有時候是不足十條,故而用動態行的方式可以放棄了,另外,要在彙總排序的當條記錄中又分別列出彙總的哪些條目,這些彙總條目的數量也不固定,故而用巢狀報表的想法也要放棄了,最終採取了多資料集,多網格的方式。可見報表的一線工作是非常複雜的,設計一流的報表工具任重而道遠。

ps:由於工作台螢幕巨大,截圖也巨大,把另存一下或者用滑鼠拖到新視窗中才能看到全貌。

一線城市 二線城市

一線城市 5 個 北京 全國政治 文化 教育中心 上海 全國經濟中心 廣州 經濟發達,中國第三大城市 深圳 經濟發達 特區城市 天津 重要經濟大港 二線發達城市 8 個 杭州 經濟發達 副省級 強省省會 南京 經濟發達 副省級 強省省會 濟南 經濟發達 副省級 強省省會 重慶 直轄市,西部中心城市 ...

OPPO「跑」到了一線

奔跑是一種精神。古希臘人民直接了當地將 如果你想強壯,跑步吧!如果你想健美,跑步吧!如果你想聰明,跑步吧!的諺語傳承成一種理念。在現在跑步對年輕人有一種天然的號召力,好玩兒的跑步更是讓年輕人沒有抵抗力,現在最好玩兒的跑步當屬the color run。好玩兒的活動不僅能吸引年輕人也更容易吸引企業贊助...

mini2440一線匯流排移植tslib1 4

最近在學習中接觸到了觸控庫tslib,自己試著移植的時候發現網上分為兩種方案,一種是使用2440自帶ad的方案,另一種是友善的一線匯流排方案。我的液晶型號是td35,預設的連線方案是一線匯流排,所以這裡移植的是一線匯流排方案。上網搜尋的過程中發現網上可用的一線匯流排tslib並不是1.4版本的,但是...