birt报表简单制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
此文档作者是北京恒信启华职下员工肖林宝编写。乃是本人不成熟作品,简单的介绍了birt报表的制作过程。为的是给各位同事一个参考,文中若有不完善的地方,还请各位同事多多包涵,多提宝贵意见。
根据各个项目上的实际情况,此文档主要介绍birt报表在公共数据源链接下的制作过程。下面开始进入制作过程。
Birt报表制作过程
在这里我用发票表invoice 简单的制作一个根据日期查询并且统计TOTALCOST 的报表。Sql语句如下:
select INVOICENUM,DESCRIPTION,ENTERDATE,TOTALCOST from invoice where
to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')>=to_date('2 011-08-01','yyyy-MM-dd')and
to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')<=to_date('2 011-09-01','yyyy-MM-dd') order by INVOICENUM
一.打开birt,选择一个报表文件夹,右键—新建—报表。如图:
给报表取个名字。如下图:
名字取完,点finish(完成),该报表文件夹下就会出现此报表文件,如下图:
二.开始对报表进行编辑,双击报表文件,打开报表编辑窗口。选择script标签,在initialize 下写引入包文件代码,如下图:
代码如下:
importPackage(.ibm.tivoli.maximo.report.script);
importPackage(Packages.java.io);//引入包文件
importPackage(Packages.java.util);
importPackage(Packages.java.text);
mxReportScriptContext = MXReportScriptContext.initialize(reportContext);
mxReportScriptContext.setDefaultLogLevel("DEBUG");
三、开始给报表添加公用数据源,右键maximoDataSuorce—Add To Report,如下图:
你会看到新建的数据源已经出现
之后在新建一个数据集,右键Data Sets—New Data Set,如下图:
双击Data Set,选择Output Columns,添加字段,如下图:
单击选中Data Set,选择script标签,open选项,对sql语句进行编辑,如下图:
具体内容如下:
maximoDataSet=MXReportDataSetProvider.create(this.getDataSource() .getName(), this.getName());
maximoDataSet.open();
var sqlText = new String();
// Add query to sqlText variable.
sqlText = "select INVOICENUM,DESCRIPTION,ENTERDATE,TOTALCOST from invoice where "
+ " to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')>= to_date('"+params["startdate"]+"','yyyy-MM-dd') "
+ " and to_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd') <= to_date('"+params["enddate"]+"','yyyy-MM-dd') order by invoicenum " // Include the Maximo where clause
;
maximoDataSet.setQuery(sqlText)
Sql语句编辑完之后,选择fetch选项,编辑字段,如下图:
具体内容如下:
if (!maximoDataSet.fetch())
return (false);
// Add a line for each output column
// The specific get method should match the data type of the output column.
row["INVOICENUM"] = maximoDataSet.getString("INVOICENUM");
row["DESCRIPTION"] = maximoDataSet.getString("DESCRIPTION");
row["ENTERDATE"] = maximoDataSet.getString("ENTERDATE");
row["TOTALCOST"] = maximoDataSet.getString("TOTALCOST");
return (true);
以上编辑完之后,开始建立参数,右键report parameter—new parameters,如下图:
对参数进行设置,如下图:
三.开始绘制报表,选择master page,对纸张进行设置,如下图:
选择layout标签,右键空白区域,insert—table,如下图:
根据实际情况设置表格行列,这里我根据需要设置成一行四列,如下图: