Birt是一套集成在Eclipse中的开源的报表设计工具,它自带有完整的一套工具,可以方便快速的设计出一般性的常用报表.我在2013年下半年开始使用时,官方最新的Birt版本是4.3,可以在官网上下载集成好Birt的eclipse应用.在Myeclipse8.6集成的是Birt2.6的版本.eclipse中项目的配置相对麻烦些,推荐可以使用MyEclipse2013 Pro,这个版本集成了Birt4.2的版本.旧版本的环境下会有一个BUG,比如多维数据集Count不准确的.
首先我明确一点,我们的项目当时选用Birt很大程度上是因为它开源免费并且有一整套完整的工具,不过Birt本身资料比较缺少,并且其成图的效果也相对其他HTML5或者canvas图表要老旧.不过在熟练掌握后发现开发效率还是很快的.
下面把项目中遇到的并解决了的一些问题和技巧拿出来晒晒.
首先介绍一下基本的使用:
1.新建项目
新建一个Report Web Project项目,在WebRoot下reports目录下新建一个report文件,此时可以选择模板,Myeclipse内置了一些带有报表格式样式的模板,我们也可以从以前自定义的模板中进行创建,如图:
其中shijn这个选项就是我之前创建的一个模板文件,这里声明一下,模板只会把报表的类型,样式保存过来.你在之前模板使用的数据源,数据集这些东西是无法带到你新建的这个报表中的.在Myeclipse中创建最后一步,它会自动创建一个JSP文件,名称与报表文件相对应,这个JSP文件中会有一个URL链接到你的报表.
2.新建数据源,数据集和多维数据集
在新建数据源时,必须有一个数据源Connection连接,如图:
这里可以new一个driver,推荐使用jtds-1.2.5.jar,具体如图:
然后生成一个DataSource,接下来新建一个数据集,这里以一个单表(药品记录表)为例.新建DataSet,选择之前创建的DataSource.点击下一步可以书写SQL语句,这里和操作数据库是一样的了.
点击完成,进入DataSet的更加具体设置的界面.
其中OutputColumns显示了输出各字段的数据类型,Computed Columns是计算列,可以通过Javascript表达式,编写脚本代码定义出我们需要的一列.对于数据的处理有很大用处.Parameters表示数据集参数,最重要的功能就是动态改变SQL语句也就动态的改变了DataSet.Filters可以通过过滤数据的值,删选掉不需要的数据,改变DataSet.
其中Computed Columns和Parameters的功用比较重要,后文详细说下.
点击OK,DataSet创建完成.接下来进行多维数据集Cube的创建.它的建立,在Birt中必须以一个DataSet为基础,如图:
选择之前创建的DataSet,进行第二步维度和度量的选择建立,这里我以一张表为例,创建一个维度,一个度量的立方体,Birt也可以像Analysis那样建立雪花状的多表关联的立方体.
以ITEM_CLASS为维度,ITEM_CODE的Count作为度量.简单说就是每种药品的数量这种表达,制作图表.
4.报表制作
画报表直接从Palette中拖出Chart,如图:
这里可以选择报表的类型,默认画一个柱图,进入下一步,选择数据源并且分别为X轴Y轴绑定数据项.选择之前创建的DataCube,如图:
将度量拖到Y轴,维度拖到X轴,这样简单的柱图数据绑定就完成了,第三个Tab页Format Chart主要是设置图标的样式,显示,和交互的.
然后可以选择将项目发布到Tomcat中,通过URL路径访问显示,也可以通过设计器中Preview中进行预览(推荐).效果如下:
如果希望显示每个柱图的数值,设置Format Chart中下图所示,勾选Show Series Labels即可.
以上这些就是使用Birt创建图表的一般性步骤,只要有数据仓库,那么Birt会提供一系列工具创建图表.对Birt的使用需要理解数据立方体的概念,包括维度,度量,集合这些东西.下一篇还会就Birt中的一些技巧做一个总结,未完待续.
版权声明:本文为博主原创文章,未经博主允许不得转载。