華丹Charisma線上自定義Web報表

華丹Charisma線上自定義Web報表

在業內,其它報表工具、組件,一般是為了解決在項目中處理一些複雜中國式報表為目的,它們接受用戶程式(如jsp)傳過來的參數(如報表條件),然後通過引擎將報表數據展現出來。這些報表工具比較適合集成在項目中,實現一些複雜的報表,但無法深度集成。


這些報表工具都沒有從平台的角度來考慮問題。
相對於這些報表工具、組件,CHARISMA報表具有如下優勢:

1. 完整的運行平台

CHARISMA報表本身就是一款完善的運行平台,包括用戶管理、授權管理等,用戶可以直接使用,無需二次開發。而其它報表工具,一般是以組件或控制項的方式提供給開發商來二次開發的,用戶無法直接使用。
CHARISMA報表運行界面圖如下:

2. 支持線上自定義

其它報表工具,雖然了支持自定義,但他們走的技術路線是:
C/S模式的報表設定器->生成XML報表模板->發布到WEB伺服器中->通過程式(JSP)向報表引擎中傳入參數(報表條件等)->報表引擎處理、展現數據。
從上面可以看出,雖然這些報表工具也支持自定義,即通過他們的報表設計器來自定義報表模板,但是需要發布、需要手工編寫JSP頁面來調用報表引擎,需要在JSP中編輯條件輸入框,然後處理條件值,傳給報表引擎。這些操作,對於最終用戶來說都很難辦到,即使能辦到,也非常不方便,無法完成線上自定義。因此,這些報表工具的自定義都是局部的自定義。
CHARISMA報表提供了線上WEB報表設計器,可以線上自定義JAVA報表,全智慧型化生成報表條件等資源,並支持線上發布JAVA報表、分配JAVA報表許可權,用戶不用寫一行代碼,也不用重新發布WEB套用。

3. 尤其適合綜合查詢

在業內,在綜合查詢方面,沒有一款報表工具可以與CHARISMA比擬的。由於CHARISMA報表智慧型化生成報表條件及其它資源,支持動態排序、自動分頁、不用任意二次開發等特性,所以特別適合於綜合查詢。
用戶可以任意組合輸入條件,憑藉CHARISMA報表強大的功能,可以展現任意複雜的查詢結果。
自動生成報表條件輸入界面如下:

4. 基於J2EE、XHTML、CSS的技術實現

CHARISMA報表引擎採用純J2EE技術構建,WEB層展現則採用純XHTML+CSS實現,從技術上講是相當先進的。
而不同於目前業內很多報表工具,是採用ACTIVEX控制項實現的,這種技術已相對落後,而且還必須在瀏覽器中安裝外掛程式,降低安全性,而且也不兼容瀏覽器,一般只支持IE。

5. 提供大量Web組件

CHARISMA報表不是一個報表組件或外掛程式,它提供了大量WEB組件,如下拉框、彈出字典、日期選擇框、框架集、標籤頁等。而其它報表工具或組件是沒有這些功能的。
下拉框:
彈出字典:
日期選擇框:
框架集:

TAB標籤頁:

6. 智慧型化報表生成嚮導

報表製作過程完全基於WEB操作,用戶可以在多個客戶端同時開發JAVA報表。
系統提供了SQL報表嚮導及存儲過程報表嚮導。
SQL報表製作嚮導如下圖所示。

通過該嚮導即可完成SQL語句的生成, SQL設定界面如下圖:
提交後系統自動生成所需的JAVA報表資源(如報表數據列信息,報表條件信息等),從而完成基本報表製作。在此基礎上用戶可以設定其它信息,完成各種類型複雜的是JAVA報表。
生成的報表界面(普通列表)如下圖所示:
從上圖可以看出,設定好SQL語句,系統自動生成所有報表資源,自動生在條件框、動態排序、自動分頁等。

7. 線上設計報表

CHARISMA報表創新地推出了基於WEB的線上報表設計器。通過報表設計器,可以線上定製各類複雜的JAVA報表,包括分組報表、圖表報表、交叉報表等,並可方便進行報表發布、預覽等。設計器界面如下圖:

8. 掛載所有資料庫

CHARISMA平台可以將企業內所有資料庫同時掛載到CHARISMA報表引擎中,不管這些資料庫是什麼類型的關係型資料庫,也不管這些資料庫運行於什麼作業系統平台上。

9. 支持多個資料庫間表的關聯查詢

CHARISMA報表支持多個資料庫(包括異種)間表的關聯查詢,支持內連線及左外聯接。並且關聯查詢的子數據源可以是非SQL獲取(如存儲過程獲得)。
如電信行業,其計費系統與業務系統的資料庫一般分為兩個資料庫,且資料庫類型也有可能不同,但經常需要對這兩個資料庫中的數據表進行關聯查詢獲取所需數據。目前業界同類產品中基本上都沒有解決此問題,而CHARISMA報表提供了非常全面的解決方案。

10. 支持行間、單元格間複雜計算

CHARISMA報表提供了一次表達式及二次表達式,可以對JAVA報表數據源進行二次加工處理,支持行間,單元格間複雜計算。
如:repField("sale1")+repField("sale2");//單元格間值相加
repField("sale",rowNo()-1);//取上一行sale列值
repField("sale","{id}=111");//取id列值為111的行中sale的值

11. 支持數據源過濾

repField、repTag、sum、average、count等函式均支持數據源過濾,如:
sum("sale","{type}==1 && {flag}==1")取滿足type列值=1並且flag列值=1的行的sale列的和。

12. 支持多個資料庫數據展現在同一報表中

CHARISMA報表可以實現在同一張JAVA報表中,同時顯示源於多個資料庫中的數據,實現方式主要有:
Ø 多個資料庫間表的關聯查詢。
Ø 通過子數據源獲取不同資料庫中的數據,如:
repField("class.ClassName"),取當前報表中class子數據源中classname列值。
repField("stuscore .score","{subject}==5"),取當前JAVA報表中stuscore子數據源中subject列值等5的score列值。

13. 支持二次數據源

所謂二次數據源就是一次性將當前JAVA報表中所用的數據記錄全取出來,然後再通過過濾條件取得各子報表的結果集。這樣做的優勢是避免多次查詢資料庫,提高WEB報表運行效率,特別是對於通過存儲過程進行複雜統計,耗時很多的統計。
如數據源:
子報表過濾:

14. SQL支持嵌入標籤

CHARISMA報表支持在SQL中嵌入標籤,可以用同一語句處理複雜的情況,例如:
SELECT USERID, USERNAME, 'acl', REGION, GRADE, dept, POST, DISPNO, USERSTAT, REMARK FROM ST_SYSUSER WHERE USERID <> '&#91;%=superAdmin()%&#93;' AND USERID <> '-1' AND USERID <> '0' AND USERID <> '&#91;%=curUserID()%&#93;' AND REGION = ? AND GRADE = ? AND DEPT LIKE ? AND POST = ? AND USERID = ? AND USERNAME like ? AND USERSTAT = 1 AND REGION LIKE '&#91;%=curRegion()%&#93;%' &#91;%=if(userGrade(curUserID())!=1,"AND DEPT LIKE '"+curDept()+"%'","")%&#93; ORDER BY DISPNO ASC,USERNAME ASC

15. 支持複雜靈活的交叉報表

交叉報表效果圖:

交叉報表的特點:
1、支持多級行集、列集及值集,不象有的報表工具,只支持固定級數。
2、 在算法上,CHARISMA報表在處理交叉報表上具有極高的效率,一次性處理完所有數據。
3、支持表頭雙斜線。
4、 支持動態排序。
5、 行集、列集及值集均支持連結,可鑽取子信息。
6、橫向、縱向均支持多級分組。
7、橫向匯總及橫向分組匯總可設定居左或居右。
8、 縱向匯總及縱向分組匯總可設定居上或在下。
9、所有類型匯總均可以設定多個。
10、支持按行集、值集、橫向分組匯總、匯總進行排序。
11、頂部標題(列集)支持橫向、縱向合併。
12、左端行集支持橫向、縱向合併。

16. 支持複雜的WEB報表表頭,表體、表尾

通過數據表格,可實現複雜的表頭、表體及表尾,如圖:

17. 支持圖表疊加及多軸

下圖是三個子圖表疊加而成,並具有雙軸。

18. 與開發功能結合,可實現複雜業務模組

CHARISMA報表與CHARISMA平台的開發功能渾為一體,緊密集成,可以非常方便開發業務系統,這是其它報表工具、組件辦不到的。
在一個業務系統中,除了綜合查詢、統計、報表模組外,還存在著大量業務模組,這些業務模組,包插增、刪、改及其它如審批等操作,在處理這些操作時,一般都是需要將數據展現出來,然後在這些數據基礎上處理業務操作。
如:
基於交叉報表的批量更新:
更新、刪除、操作、子選單:

19. 可以非常方便集成到其它業務系統中

CHARISMA報表,可以非常方便集成到其它業務系統中,如CRM、ERP、OA、HIS等,使這些系統具備線上自定義WEB報表的功能,提高產品的競爭力。
集成效果如圖:

相關詞條

熱門詞條

聯絡我們