华丹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报表的功能,提高产品的竞争力。
集成效果如图:
来源:
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/