華丹CHARISMA報表提供了一次表達式及二次表達式,可以對報表數據源進行二次加工處理,支持行間,單元格間復雜計算。
如: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報表可以實現在同一張報表中,同時顯示源于多個數據庫中的數據,實現方式主要有:
(1)、多個數據庫間表的關聯查詢。
(2)、通過子數據源獲取不同數據庫中的數據,如:
repField("class.classname"),取當前報表中class子數據源中classname列值。
repField("stuscore .score","{subject}==5"),取當前報表中stuscore子數據源中 subject列值等5的score列值。
13.支持二次數據源
所謂二次數據源就是一次性將當前報表中所用的數據記錄全取出來,然后再通過過濾條件取得各子報表的結果集。這樣做的優勢是避免多次查詢數據庫,提高報表運行效率,特別是對于通過存儲過程進行復雜統計,耗時很多的統計。
14.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
15.支持復雜靈活的交叉報表
交叉報表效果圖:

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

17.支持圖表疊加及多軸
下圖是三個子圖表疊加而成,并具有雙軸。

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

更新、刪除、操作、子菜單:

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

來源:
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/