birt报表简单制作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,如下图:

根据实际情况设置表格行列,这里我根据需要设置成一行四列,如下图:

相关文档
最新文档