Birt中實現欄位拆分為表的另一種方法

2021-07-03 19:16:20 字數 811 閱讀 9762

將字段拆分為多條記錄,可以用儲存過程或報表指令碼來實現,但**比較複雜,這種情況下可以用集算器來輔助報表工具,下面用例子來說明。

庫表data有兩個字段,需要將anomoalies欄位按空格拆分為多個字串,每個字串和原id欄位形成新的記錄。源資料如下:

集算器**:

a1:查詢資料庫。

a2:拆分anomalies欄位,形成新二維表。函式conj可對a1中每個成員的計算結果進行合併。「~」表示集合中的當前成員。結果如下:

a3:將計算結果返回給報表工具。集算器對外提供jdbc介面,報表工具會將集算器識別為普通資料庫。

下面用birt設計簡單的list表:

預覽:

報表呼叫集算器的方法和呼叫儲存過程一樣,比如將本指令碼儲存為birtsplitrow.dfx,則在birt的儲存過程設計器中可以用callbirtsplitrow()來呼叫並輸入引數。

BIRT實現字段拆分表

將字段拆分為多條記錄,可以用儲存過程或報表指令碼來實現,但 比較複雜,這種情況下可以用集算器來輔助報表工具,下面用例子來說明。庫表data有兩個字段,需要將anomoalies欄位按空格拆分為多個字串,每個字串和原id欄位形成新的記錄。源資料如下 集算器 a1 查詢資料庫。a2 拆分anomalie...

ORACLE 表中字段根據逗號拆分多行

這個函式的作用是正則分隔字串,用法為 function regexp substr string,pattern,position,occurrence,modifier srcstr 需要進行正則處理的字串 pattern 進行匹配的正規表示式 position 起始位置,從第幾個字元開始正規表示...

在SQLite中如何用乙個表的字段更新另乙個表

sql語句 update table 1 set x select x from table 2 where table 1.y table 2.y 如果括號中臨時建立的表中元素的個數小於table 1中元素個數或者只想更新table 1中部分x的值,可以在後面加where子句 example 更新...