在業內,其它
報表工具 、組件,一般是為了解決在項目中處理一些複雜中國式報表為目的,它們接受
用戶程式 (如jsp)傳過來的參數(如報表條件),然後通過引擎將報表數據展現出來。這些
報表工具 比較適合集成在項目中,實現一些複雜的報表,但無法深度集成。
相對於這些報表工具、組件,CHARISMA報表具有如下優勢:
完整的運行平台 CHARISMA報表本身就是一款完善的運行平台,包括用戶管理、授權管理等,用戶可以直接使用,無需二次開發。而其它
報表工具 ,一般是以組件或控制項的方式提供給開發商來二次開發的,用戶無法直接使用。
CHARISMA報表運行界面圖如下:
支持線上自定義 其它
報表工具 ,雖然了支持自定義,但他們走的技術路線是:
C/S模式的報表設定器->生成XML報表模板->發布到WEB伺服器中->通過程式(JSP)向
報表引擎 中傳入參數(報表條件等)->報表引擎處理、展現數據。
從上面可以看出,雖然這些
報表工具 也支持自定義,即通過他們的報表設計器來自定義報表模板,但是需要發布、需要手工編寫JSP頁面來調用
報表引擎 ,需要在JSP中編輯條件輸入框,然後處理條件值,傳給報表引擎。這些操作,對於最終用戶來說都很難辦到,即使能辦到,也非常不方便,無法完成線上自定義。因此,這些
報表工具 的自定義都是局部的自定義。
CHARISMA報表提供了線上WEB報表設計器,可以線上自定義JAVA報表,全智慧型化生成報表條件等資源,並支持線上發布JAVA報表、分配JAVA報表許可權,用戶不用寫一行代碼,也不用重新發布WEB套用。
尤其適合綜合查詢 在業內,在綜合查詢方面,沒有一款
報表工具 可以與CHARISMA比擬的。由於CHARISMA報表智慧型化生成報表條件及其它資源,支持動態排序、自動分頁、不用任意二次開發等特性,所以特別適合於綜合查詢。
用戶可以任意組合輸入條件,憑藉CHARISMA報表強大的功能,可以展現任意複雜的查詢結果。
自動生成報表條件輸入界面如下:
基於J2EE、XHTML、CSS的技術實現 CHARISMA
報表引擎 採用純J2EE技術構建,WEB層展現則採用純XHTML+CSS實現,從技術上講是相當先進的。
而不同於目前業內很多
報表工具 ,是採用ACTIVEX控制項實現的,這種技術已相對落後,而且還必須在
瀏覽器 中安裝外掛程式,降低安全性,而且也不兼容瀏覽器,一般只支持IE。
提供大量WEB組件 CHARISMA報表不是一個
報表組件 或外掛程式,它提供了大量WEB組件,如下拉框、彈出字典、日期選擇框、框架集、標籤頁等。而其它
報表工具 或組件是沒有這些功能的。
下拉框:
彈出字典:
日期選擇框:
框架集:
TAB標籤頁:
智慧型化報表生成嚮導 報表製作過程完全基於WEB操作,用戶可以在多個
客戶端 同時開發JAVA報表。
系統提供了SQL報表嚮導及存儲過程報表嚮導。
SQL報表製作嚮導如下圖所示。
通過該嚮導即可完成SQL語句的生成, SQL設定界面如下圖:
提交後系統自動生成所需的JAVA報表資源(如報表數據列信息,報表條件信息等),從而完成基本報表製作。在此基礎上用戶可以設定其它信息,完成各種類型複雜的是JAVA報表。
生成的報表界面(普通列表)如下圖所示:
從上圖可以看出,設定好SQL語句,系統自動生成所有報表資源,自動生在條件框、動態排序、自動分頁等。
線上設計報表 CHARISMA報表創新地推出了基於WEB的線上報表設計器。通過報表設計器,可以線上定製各類複雜的JAVA報表,包括
分組報表 、圖表報表、
交叉報表 等,並可方便進行報表發布、預覽等。設計器界面如下圖:
掛載所有資料庫 CHARISMA平台可以將企業內
所有資料庫同時掛載到CHARISMA 報表引擎 中 ,不管這些資料庫是什麼類型的
關係型資料庫 ,也不管這些資料庫運行於什麼作業系統平台上。
支持多個資料庫間表的關聯查詢 CHARISMA報表支持多個資料庫(包括異種)間表的關聯查詢,支持
內連線 及左
外聯接 。並且關聯查詢的子
數據源 可以是非SQL獲取(如
存儲過程 獲得)。
如電信行業,其
計費系統 與業務系統的資料庫一般分為兩個資料庫,且資料庫類型也有可能不同,但經常需要對這兩個資料庫中的數據表進行關聯查詢獲取所需數據。目前業界同類產品中基本上都沒有解決此問題,而CHARISMA報表提供了非常全面的解決方案。
支持行間、單元格間複雜計算 CHARISMA報表提供了一次表達式及二次表達式,可以對JAVA報表
數據源 進行二次加工處理,支持行間,單元格間複雜計算。
如:repField("sale1")+repField("sale2");//單元格間值相加
repField("sale",rowNo()-1);//取上一行sale列值
repField("sale","{id}=111");//取id列值為111的行中sale的值
支持數據源過濾 repField、repTag、sum、average、count等函式均支持數據源過濾,如:
sum("sale","{type}==1 && {flag}==1")取滿足type列值=1並且flag列值=1的行的sale列的和。
支持多個資料庫數據展現在同一報表中 CHARISMA報表可以實現在同一張JAVA報表中,同時顯示源於多個資料庫中的數據,實現方式主要有:
Ø 多個資料庫間表的關聯查詢。
Ø 通過子數據源獲取不同資料庫中的數據,如:
repField("class.classname"),取當前報表中class子數據源中classname列值。
repField("stuscore .score","{subject}==5"),取當前JAVA報表中stuscore子數據源中subject列值等5的score列值。
支持二次數據源 所謂二次
數據源 就是一次性將當前JAVA報表中所用的數據記錄全取出來,然後再通過過濾條件取得各
子報表 的
結果集 。這樣做的優勢是避免多次查詢資料庫,提高WEB報表運行效率,特別是對於通過
存儲過程 進行複雜統計,耗時很多的統計。
如數據源:
子報表過濾:
SQL支持嵌入標籤 CHARISMA報表支持在SQL中嵌入標籤,可以用同一語句處理複雜的情況,例如:
SELECT USERID, USERNAME, 'acl', REGION, GRADE, DEPT, POST, DISPNO, USERSTAT, REMARK FROM ST_SYSUSER WHERE USERID <> '[%=superAdmin()%] ' AND USERID <> '-1' AND USERID <> '0' AND USERID <> '[%=curUserID()%] ' AND REGION = ? AND GRADE = ? AND DEPT LIKE ? AND POST = ? AND USERID = ? AND USERNAME like ? AND USERSTAT = 1 AND REGION LIKE '[%=curRegion()%] %' [%=if(userGrade(curUserID())!=1,"AND DEPT LIKE '"+curDept()+"%'","")%] ORDER BY DISPNO ASC,USERNAME ASC
支持複雜靈活的交叉報表 交叉報表效果圖:
1、支持多級行集、列集及值集,不象有的
報表工具 ,只支持固定級數。
2、 在算法上,CHARISMA報表在處理
交叉報表 上具有極高的效率,一次性處理完所有數據。
3、支持表頭雙斜線。
4、 支持動態排序。
5、 行集、列集及值集均支持連結,可鑽取子信息。
6、橫向、縱向均支持多級分組。
7、橫向匯總及橫向分組匯總可設定居左或居右。
8、 縱向匯總及縱向分組匯總可設定居上或在下。
9、所有類型匯總均可以設定多個。
10、支持按行集、值集、橫向分組匯總、匯總進行排序。
11、頂部標題(列集)支持橫向、縱向合併。
12、左端行集支持橫向、縱向合併。
支持複雜的WEB報表表頭,表體、表尾 通過數據表格,可實現複雜的表頭、表體及表尾,如圖:
支持圖表疊加及多軸 下圖是三個子圖表疊加而成,並具有雙軸。
與開發功能結合,可實現複雜業務模組 CHARISMA報表與CHARISMA平台的開發功能渾為一體,緊密集成,可以非常方便開發業務系統,這是其它
報表工具 、組件辦不到的。
在一個業務系統中,除了綜合查詢、統計、報表模組外,還存在著大量業務模組,這些業務模組,包插增、刪、改及其它如審批等操作,在處理這些操作時,一般都是需要將數據展現出來,然後在這些數據基礎上處理業務操作。
如:
更新、刪除、操作、子選單:
可以非常方便集成到其它業務系統中 CHARISMA報表,可以非常方便集成到其它業務系統中,如CRM、ERP、OA、HIS等,使這些系統具備線上自定義WEB報表的功能,提高產品的競爭力。
集成效果如圖: