BIRT 中文字與 JSON 關聯怎麼做
BIRT對於兩個資料來源的聯合提供了Joint DataSet的解決方案,它具有圖形化的操作介面,可以完成簡單的內外關聯,但功能非常侷限(幾乎沒有二次計算的能力,Join 後再計算只限於簡單查詢和固定查詢,難以實現自由的組合查詢和變數查詢,更不能進行分組彙總再過濾這類多步驟計算)。
BIRT雖然支援CSV/TXT等檔案作為資料來源,但不能構建JSON資料來源,一些開源社群提供瞭解析JSON資料來源外掛,幾乎所有外掛都非常底層,使用起來很不方便。
從能力上講,只有自定義資料來源可以完整的解決這個問題,但BIRT JAVA bean data source這種硬編碼方式比較複雜,工作量巨大。
比如要處理這麼個場景:sales.txt是tab分割的結構化文字,city.json是非結構化的JSON串,sales.txt的第2列和city.json的部分文字存在外來鍵關係,需要將兩個檔案連線為二維表。示意圖如下:
建議使用集算器,它是獨立的資料計算引擎,擁有不依賴於資料庫的計算能力,可以從多種多樣的檔案獲取資料並混合關聯運算,事實上,可以把集算器看作是語法更簡單的BIRT JAVA bean data source。比如實現上面的問題,集算器指令碼只需5行:
|
A |
1 |
=json(file("/workspace/city.json").read()) |
2 |
=A1.new(name,#1.(#1):desc,(firstblank=pos(desc," "),left(desc,firstblank-1)):key,right(desc,len(desc)-firstblank):value) |
3 |
=file("/workspace/sales.txt").import@t() |
4 |
=join(A3:sales,#2;A2:city,key) |
5 |
=A4.new(sales.OrderID,sales.Client,sales.Amount,sales.OrderDate,city.name,city.value) |
關聯之後還能更方便地實施計算,比如:統計每個城市的銷售額;只需在此基礎上增加1行:=A5.groups(name;sum(Amount):amount)
其實還有很多類似的問題做起來不太方便,比如:計算文字、Excel,甚至關聯計算、入庫等需求,但用集算器SPL卻很簡單,感興趣可以參考: 、
集算器提供了JDBC驅動,可以很方便的與BIRT等報表工具整合, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2699319/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BIRT 異構跨庫的動態關聯查詢怎麼做
- BIRT 如何用 rest api 介面獲取 json 做報表RESTAPIJSON
- BIRT 中組內跨行計算和小計怎麼做
- 防止賬號關聯,該怎麼做?
- cad如何與dwg關聯win10_cad怎麼與dwg關聯win10Win10
- mysql怎麼關聯表?MySql
- BIRT 怎麼呼叫 Webservice 作為資料來源Web
- JMeter 關聯JSON提取器JMeterJSON
- MyBatisPlus怎麼多表關聯查詢?MyBatis
- JSON是什麼,有什麼用,怎麼寫jsonJSON
- 測試資料放 yaml 檔案,不同介面存在關聯引數怎麼做更好YAML
- robotframework做介面測試 to json 關鍵字使用FrameworkJSON
- 工業物聯網的 DevOps,到底要怎麼做?dev
- xshell和xftp怎麼關聯,xshell和xftp關聯僅需5步FTP
- JSON 與 JS 物件的關係JSON物件
- 品牌網路公關怎麼做?如何能預防與最佳化輿情?
- PFMEA怎麼做?
- 使用多個鍵做模型關聯模型
- 如何做多表關聯查詢
- 茶葉生意批發怎麼做,初做茶葉生意怎麼做?
- 什麼是 SRE?它和 DevOps 是怎麼關聯的?dev
- 小紅書怎麼做關鍵詞排名優化?優化
- dblink的關聯與本地關聯差異
- 為什麼SSB與PRACH occasion能夠關聯?
- onethinkphp 如何做多表關聯查詢PHP
- session與sessionStorage 關聯Session
- git與vscode關聯GitVSCode
- 返修FMEA怎麼做?
- 一對多關聯表,怎麼判斷返回關聯陣列不為空的值啊?陣列
- 關於客戶端 APP 的專項測試怎麼做客戶端APP
- 小紅書裡的關鍵詞優化排名怎麼做?優化
- 關於抖音運營我們該怎麼做呢?TIG
- BIRT 統計圖中怎麼根據引數實現 X 軸動態分組
- BIRT 如何連線 MongoDBMongoDB
- 什麼是大資料?與Python之間有什麼關聯?大資料Python
- 介面測試怎麼做
- 社群團購怎麼做
- 怎麼做茶葉代理?