亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 如何讓Birt報表腳本數據源變得既簡單又強大

如何讓Birt報表腳本數據源變得既簡單又強大

熱門標簽:簡單的智能語音電銷機器人 怎么申請400熱線電話 南昌呼叫中心外呼系統哪家好 泗洪正規電話機器人找哪家 小程序智能電話機器人 怎么去開發一個電銷機器人 河北便宜電銷機器人軟件 湖南保險智能外呼系統產品介紹 ai電話電話機器人

概述:運行在 JVM 上的 SQL 函數和存儲過程

總所周知,有些數據庫沒有強大的分析函數(eg. Mysql), 有些數據庫沒有存儲過程(eg. Vertica),當遇到復雜的數據計算,往往只能通過 Python,R 等外部腳本來實現,但這些腳本語言和主流工程語言(Java)集成性不好,如果直接用工程語言實現類似 SQL 函數和存儲過程的功能,經常只是針對某個計算需求編寫冗長的代碼,代碼幾乎不可復用。

另外,即便擁有強大的分析函數,實現稍復雜的邏輯其實也不算容易,比如下面這種常見的業務計算,找出“銷售額占到一半的前 n 個客戶,并按銷售額從大到小排序”,在 Oracle 中 SQL 實現如下:

with A as
(selectCUSTOM,SALESAMOUNT,row_number() over (order by SALESAMOUNT) RANKING
from SALES)
select CUSTOM,SALESAMOUNT
from (select CUSTOM,SALESAMOUNT,sum(SALESAMOUNT) over (order by RANKING) AccumulativeAmount
from A)
where AccumulativeAmount>(select sum(SALESAMOUNT)/2 from SALES)
order by SALESAMOUNT desc

說明:按照銷售額累計值從小到大排序,通過累計值大于“一半銷售額”的條件,逆向找出占到銷售額一半的客戶。為了避免窗口函數在計算累計值時對銷售額相同的值處理出現錯誤,用子查詢先計算了排名。

下面是用集算器實現相同邏輯的代碼:

從上述代碼我們可以看到,集算器利用一套簡潔的語法取代了需嵌套 SQL+ 窗口函數才能實現的邏輯,并且具有通用一致性(任何數據源代碼一致)。

集算器是一套運行在 JVM 上專門處理結構化數據的腳本語言,類似用 SQL 函數和存儲過程,與 Java 集成可以創建可移植、功能強大和與數據庫無關的計算邏輯,運行于中間層的計算邏輯和運行于數據庫層的數據邏輯之間的分離,提高了應用程序的可擴展性、靈活性和可維護性。

應用場景:報表數據準備

應用結構

集成后,集算器嵌入報表應用層,相當于本地的邏輯數據庫(不需要單獨服務器部署),在報表與數據源間作為報表數據準備層,完成各種復雜的計算任務。

如何集成

下面以 Vertica 為數據源,Birt 為報表工具,描述怎樣集成 esProc 作為數據準備層。

(一) Birt 開發環境

1、 基礎 jar 集成

集算器 JDBC 需要三個基礎 jar 包,都可以在 [esProc 安裝目錄]\esProc\lib 目錄下找到,分別為:

dm.jar 集算器計算引擎及JDBC驅動包

jdom.jar 解析配置文件

icu4j\_3\_4_5.jar 處理國際化

除了基礎包外,還有一些為完成特定功能的 jar 包。如,要在集算器 JDBC 用其它數據庫作為集算器的數據源,那么還需要相應數據庫的驅動 jar 包,本文涉及到 vertica,所以要同時增加其 JDBC 驅動包(以 vertica9.1。0 為例)

vertica-jdbc-9.1.0-0.jar vertica 官網即可下載

獲取到以上 Jar 后,將其拷貝至 Birt 開發環境 [安裝目錄]\plugins\org.eclipse.birt.report.data.oda.jdbc_4.6.0.v20160607212 下。

注意:標紅部分,不同 birt 版本略有不同

2、 配置文件集成

raqsoftConfig. ,主要包含集算器授權、腳本文件路徑、其他作為集算器數據源的連接配置等。

可在 [esProc 安裝目錄]\esProc\config 下找到,需復制后放置在類路徑下,同樣將其拷貝至 Birt 開發環境 [安裝目錄]\plugins\org.eclipse.birt.report.data.oda.jdbc_4.6.0.v20160607212 下。

注意:配置文件名不能改變

(二) Birt 應用環境

1、 將(一)中的所有 jar 拷貝至應用的 WEB-INF\lib 下

2、 將 raqsoftConfig. 拷貝至應用的 WEB-INF\classes 下

例一:常規調用

1、 Vertica 內 Sales 表字段及數據說明(通過 vsql 查詢,本測試庫有 2013/14/15 年數據)

2、 編寫并部署 esProc 腳本

(1) esProc 設計器添加 vertica JDBC 驅動包

vertica 官網下載 jdbc 驅動包(如,vertica-jdbc-9.1.0-0.jar),放至【esProc 安裝目錄】\common\jdbc 下

(2) 新增 vertica 數據源

打開設計器,Tool—Datasource connection 新增 JDBC 方式連接

點 ok 保存,再點 connect 連接

數據源名稱變為粉色即表示連接成功。

(3) 編寫算法腳本 (文件:VerticaExternalProcedures.dfx)

File – New

(4) 部署腳本

將腳本文件部署到 raqsoftConfig. 配置的腳本文件主目錄下。

3、 esProc 配置文件 raqsoftConfig. 內增加 vertica 數據源連接配置

DB name="vertica ">
property name="url" value="jdbc:vertica://192.168.10.10:5433/ForEsprocTestDB"/>
property name="driver" value="com.vertica.jdbc.Driver"/>
property name="type" value="0"/>
property name="user" value="dbadmin"/>
property name="password" value="runqian"/>
property name="batchSize" value="0"/>
property name="autoConnect" value="false"/>
property name="useSchema" value="false"/>
property name="addTilde" value="false"/>
property name="needTransContent" value="false"/>
property name="needTransSentence" value="false"/>
property name="caseSentence" value="false"/>
/DB>

4、 Birt 開發工具內新建報表,并增加 esProc 數據源“esProcConnection”

Driver class 為”com.esproc.jdbc.InternalDriver(v1.0)”,會用到 dm.jar 等

Data URL 為”jdbc:esproc:local://"

5、 Birt 調用 Vertica 外部存儲過程(esProc 數據集)

新建“Data Sets”,選擇配置的集算器數據源(esProcConnection),數據集類型選擇存儲過程(SQL Stored Procedure Query)

Next,查詢腳本(Query-Query Text)輸入:{call VerticaExternalProcedures()}

其中:VerticaExternalProcedures 為 esProc 腳本文件名

Finish,預覽數據(Preview Results)

此時,便看到了把 esProc 腳本作為 Vertica 外部存儲過程取數輔助計

算的過程。

6、 Birt Web 端呈現

以簡單的網格報表為例

報表設計如下

Web 發布預覽

例二:參數調用

這里把“找出訂單銷售額占到一半的前 n 個客戶,并按銷售額從大到小排序”,改為要求按年查詢,即“按年度查詢訂單銷售額占到一半的前 n 個客戶,并按銷售額從大到小排序”,因此增加了參數過濾功能。

下面看下具體的改法:

1、 esProc 腳本增加按年度參數及過濾功能

打開 esProc 設計器,Program – Parameter – Add

參數名為“qyear”(可與報表參數名不同)

腳本改動:

注:A2 增加條件過濾

2、 報表內增加年度參數

報表增加按年查詢的入口參數,參數名為“qyear”

開發工具打開報表,Data Explorer – Report Parameter – new patameter

Default value 為 qyear 的默認值。

3、 報表數據集增加數據集參數并與報表參數綁定

Data set 內編輯 VerticaExternalProcedures 數據集

Query Text 改為“{call VerticaExternalProcedures(?)}”,? 為入口參數年

度,此處用占位符設置。

選 Parameters,增加數據集參數 qyear 并與報表參數 qyear 綁定。

Preview Results, 這里根據 qyear 默認值僅有查詢 2013 年數據

改為“2015”后

4、 Web 端預覽

查詢“2015”年數據

修改或 url 傳入 qyear 為“2013”年后

更多 "birt 整合方案" 詳見: http://c.raqsoft.com.cn/tag/Report

總結

以上所述是小編給大家介紹的如何讓Birt報表腳本數據源變得既簡單又強大,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

標簽:柳州 江蘇 瀘州 景德鎮 那曲 威海 荊門 淮安

巨人網絡通訊聲明:本文標題《如何讓Birt報表腳本數據源變得既簡單又強大》,本文關鍵詞  如何,讓,Birt,報表,腳本,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何讓Birt報表腳本數據源變得既簡單又強大》相關的同類信息!
  • 本頁收集關于如何讓Birt報表腳本數據源變得既簡單又強大的相關信息資訊供網民參考!
  • 推薦文章
    欧美a免费| 午夜精品国产自在现线拍| 成人免费高清视频| 91麻豆精品国产高清在线| 国产伦精品一区二区三区无广告| 国产极品精频在线观看| 国产精品自拍亚洲| 欧美激情一区二区三区视频| 国产视频一区二区在线观看| 日韩在线观看视频网站| 99久久网站| 天天色色色| 黄视频网站免费观看| 国产一区二区精品| 韩国三级香港三级日本三级la| 国产伦精品一区三区视频| 日韩中文字幕在线亚洲一区| 国产一级强片在线观看| 国产精品1024永久免费视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产视频一区二区在线观看| 国产成人女人在线视频观看| 成人高清视频在线观看| 高清一级毛片一本到免费观看| 国产成人啪精品| 九九精品久久久久久久久| 国产不卡精品一区二区三区| 一级毛片视频在线观看| 国产伦久视频免费观看 视频| 欧美18性精品| 色综合久久天天综合观看| 国产原创视频在线| 国产伦久视频免费观看 视频| 欧美激情伊人| 欧美大片一区| 国产一区二区精品久| 91麻豆国产| 国产网站免费视频| 91麻豆国产| 亚洲第一色在线| 久久福利影视| 精品国产亚洲人成在线| 九九精品久久久久久久久| 成人高清视频在线观看| 精品在线免费播放| 国产一区二区精品| 欧美另类videosbestsex久久 | 可以免费看毛片的网站| 四虎久久精品国产| 欧美国产日韩一区二区三区| 国产原创视频在线| 免费的黄视频| 精品国产三级a| 精品国产亚洲人成在线| 国产一区二区精品| 精品国产亚一区二区三区| 欧美国产日韩一区二区三区| 成人在激情在线视频| 青青久久精品| 国产极品白嫩美女在线观看看| 欧美另类videosbestsex高清| 精品国产一区二区三区久久久蜜臀 | 日日夜夜婷婷| 国产麻豆精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99色视频| 久久99青青久久99久久| 国产成人精品综合久久久| 日韩中文字幕一区| 尤物视频网站在线| 亚洲第一页乱| 日韩中文字幕一区| 精品毛片视频| 韩国毛片免费| 久久精品大片| 久久精品免视看国产明星| 九九九网站| 麻豆系列 在线视频| 欧美激情在线精品video| 99热精品在线| 精品视频在线观看一区二区| a级黄色毛片免费播放视频| 免费毛片基地| 亚洲爆爽| 天天做日日爱| 人人干人人插| 99色视频| 亚欧视频在线| 可以免费在线看黄的网站| 国产麻豆精品高清在线播放| 成人高清免费| 久久久久久久男人的天堂| 国产麻豆精品| 成人高清视频在线观看| 成人免费高清视频| 亚洲爆爽| 中文字幕一区二区三区精彩视频| 国产不卡精品一区二区三区| 欧美国产日韩一区二区三区| 九九精品久久久久久久久| 精品在线免费播放| 精品视频一区二区| 日韩在线观看视频黄| 欧美日本免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩一级精品视频在线观看| 一级毛片视频播放| 久久久久久久男人的天堂| 一级毛片视频播放| 亚欧视频在线| 日韩av片免费播放| 色综合久久天天综合观看| 国产视频一区二区在线观看| 99色视频| 日韩一级黄色| 国产伦理精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 麻豆系列 在线视频| 日韩男人天堂| 成人免费观看网欧美片| 国产网站在线| 日本免费区| 国产精品免费久久| 国产不卡福利| 99色视频| 中文字幕97| 人人干人人插| 中文字幕一区二区三区精彩视频| 黄色免费三级| 国产一区二区福利久久| 久久精品大片| 国产一区二区福利久久| 久久久久久久久综合影视网| 人人干人人插| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 99热精品在线| 久久国产一久久高清| 韩国毛片免费| 国产不卡精品一区二区三区| 欧美a级片视频| 国产网站在线| 九九国产| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产一区二区精品尤物| 色综合久久手机在线| 二级片在线观看| 精品视频在线观看一区二区| 精品国产亚洲人成在线| 亚洲爆爽| 欧美1区2区3区| 国产国语对白一级毛片| 国产不卡在线观看视频| 在线观看导航| 国产麻豆精品| 国产精品自拍一区| 午夜在线亚洲| 亚洲 激情| 免费毛片基地| 九九九网站| 亚洲精品中文字幕久久久久久| 九九精品在线播放| 欧美a级成人淫片免费看| 韩国三级视频网站| 91麻豆国产| 999精品视频在线| 免费国产在线视频| 欧美国产日韩精品| 国产a视频| 欧美18性精品| 精品视频免费看| 国产伦精品一区二区三区在线观看 | 精品视频在线看| 黄色免费三级| 精品国产亚一区二区三区| 午夜精品国产自在现线拍| 91麻豆精品国产自产在线| 亚洲女人国产香蕉久久精品| 国产麻豆精品高清在线播放| 国产不卡在线观看视频| 国产成人精品影视| 夜夜操网| 一本高清在线| 九九久久99| 欧美另类videosbestsex高清| 日韩一级黄色| 久久国产影院| 精品国产一区二区三区国产馆| 日韩一级精品视频在线观看| 欧美激情一区二区三区视频 | 午夜激情视频在线播放| 国产不卡在线观看视频| 欧美1区2区3区| 欧美激情一区二区三区视频 | 精品视频在线观看一区二区| 国产不卡精品一区二区三区| 国产a毛片| 欧美激情一区二区三区视频 | 欧美a级片视频| 精品久久久久久影院免费| 99久久精品国产麻豆|