birt教程之交互报表
birt报表技巧
Birt中的分页显示报表:方法如下:1、将鼠标停在表格上,选择明细数据行(Row Detail) 。
2、选择脚本(script)标签,在onPrepare方法中加入:count=0;在onCreate方法中加入:count++;if(count % 10==0){this.getStyle().pageBreakAfter="always";}然后放到服务器上运行,则实现分页显示。
Birt中报表参数的用法(一)Birt中有两种参数,一种是数据集参数,一种是报表参数。
数据集参数一般是用于select语句中的?所代表的参数的。
而报表参数一直则是整个报表的参数,定义它的目的一方面是和数据集参数绑定,一方面是在脚本中使用它。
例如:我想设计一个报表,通过参数传递一个数据库中的表名,显示相应表中的数据,所有的表的结构一样!做法如下:先定义数据源;然后定义数据集,查询选项中的语句写select * from [要传入的表名中的任意一个];然后定义一个报表参数table,设置一个默认值(默认表名);然后再数据集的脚本的beforeOpen方法中加入:this.queryText="select * from "+params["table"]; ;完成。
如何在Tomcat中配置使得能显示Birt Chart报表:今天看了一本关于Birt方面的书,提到了在Tomcat中成功部署Birt的方法。
我试了一下,果然可以,即可访问普通报表,又可访问chart报表,而且方法也比较简单。
现介绍如下:1、从网上下载birt-runtime-version.zip并解压(/birt/downloads/build.php?build=R-R1-2_1_3-200707051847)。
2、将解压后根目录中的WebViewerExample文件加复制到Tomcat根目录下的webapps下面,并更名为birt_viewer2.2(因为我下的是2.2版本)3、复制第三方软件:iText.jar(复制到birt_viewer2.2\WEB-INF\platform\plugins\com.lowagie.itext_1.5.2.v20070626\lib 下)axis.jar axis-ant.jarcommons-discovery-0.2.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar(复制到birt_viewer2.2\WEB-INF\lib)prototype.js(复制到birt_viewer2.2\webcontent\birt\ajax\lib下)birt2.1,2.2版本下载下来后就包含了以上所有第三方软件,你只需到相应目录下确认一下,有的话就不用管了!若没有的话就复制到相应目录下即可。
birt报表动态切换数据源解决方案
Birt报表动态切换数据源处理方案陈鸿编写(一)通过 library实现连接数据库管理1.理解library(库):可视化旳报表开发环境。
可以理解为,在使用创立报表旳时候有诸多旳报表资源都会反复旳使用,这样为了以便管理,可以将这些部分放在library文献里,这样其他报表只要是引用这些library文献即可。
同步也以便了管理,例如当修改数据源旳时候,只要修改包括数据源旳library文献就可以了,而不必去一种个修改其他旳报表文献。
这些库可包括任何报表元素,例如样式、数据源、报表条目、脚本等等。
2.创立library:增长到应用中用于运行报表,并可以把报表以多种形式导出,如Excel、HTML分页格式、PDF、RTF等。
A.选新建LibraryB.可以看到新类似于创立报表文献旳界面C.选择所需旳驱动,并添加合法旳数据源信息。
D.创立数据源完毕后,也可以继续创立数据集。
3.使用libraryA.下面进行报表文献旳制作,制作过程中会用到这个library文献。
新建一种报表文献。
在视图里选择Library Explorer,右击,添加刚刚新建好旳Library文献。
添加完毕后记得点上面旳刷新。
B.进行引用,首先保证Data Explorer和Library Explorer同步在界面里显示,之后便是将Library 里旳我们要用旳数据拖拽到Data Explorer 自己旳报表Datasources中。
便完毕了引用数据源。
假如Library中尚有其他我们要引用旳部分也是同样去操作。
4.在java中修改birt报表library旳数据源// 修改.rptlibrary内旳数据源信息public void setDataSource(String rptdesignPath) {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null;InputStream is = null;String datasource = null;Document doc = null;String EncodePsd = null;try {db = dbf.newDocumentBuilder();try {is = new FileInputStream(rptdesignPath);try {doc = db.parse(is);is.close();} catch (SAXException e) {toPrint("SAXException");return;} catch (IOException e) {toPrint("Can't read file [" + rptdesignPath + "]");return;}} catch (FileNotFoundException e) {toPrint("Can't found file [" + rptdesignPath + "]"); return;}} catch (ParserConfigurationException e) {// TODO Auto-generated catch blocktoPrint("ParserConfigurationException");return;}// 查找data-sources信息NodeList nodeList = doc.getElementsByTagName("data-sources");for (int i = 0; i < nodeList.getLength(); i++) {Element e = (Element) nodeList.item(i);NodeList properties = e.getChildNodes();if (properties != null) {// 得到oda-data-source部分信息Node property = properties.item(1);for (Node node = property.getFirstChild(); node != null; node = node .getNextSibling()) {// 得到driver、url、username、password四项旳值,并重新设置if (node.getNodeName().equals("property")|| node.getNodeName().equals("encrypted-property")) { String name = node.getAttributes().getNamedItem("name") .getNodeValue();if (name.equals("odaDriverClass")) {node.getFirstChild().setNodeValue(driver);} else if (name.equals("odaURL")) {node.getFirstChild().setNodeValue(url);} else if (name.equals("odaUser")) {node.getFirstChild().setNodeValue(username);} else if (name.equals("odaPassword")) {// 对密码进行base64编码EncodePsd = (new sun.misc.BASE64Encoder()).encode(password.getBytes());// System.out.println("********EncodePsd:// "+EncodePsd);node.getFirstChild().setNodeValue(EncodePsd);}}}}}// 写入指定旳文献中writeToXml(doc, rptdesignPath);}// write to xmlpublic void writeToXml(Document doc, String rptdesign) { try {OutputStream fileoutputStream = new FileOutputStream(rptdesign);TransformerFactory tFactory = TransformerFactory.newInstance();Transformer transformer = tFactory.newTransformer();DOMSource source = new DOMSource(doc);StreamResult result = new StreamResult(fileoutputStream);transformer.transform(source, result);fileoutputStream.close();} catch (Exception e) {toPrint("Can't write to file: " + rptdesign);return;}}(二)计划开发方案与环节第一步:建立library,实现连接数据库管理。
birt报表参数
birt报表参数Birt报表参数是一种用于在Birt报表中传递数据和控制报表生成的方式。
通过使用Birt报表参数,用户可以在生成报表时输入参数值,从而实现对报表内容和显示方式的灵活控制。
本文将介绍Birt 报表参数的使用方法和注意事项。
Birt报表参数可以用于多种用途,比如用于过滤数据、控制报表显示方式或格式、动态生成报表标题等。
在使用Birt报表参数时,首先需要在报表设计中定义参数。
参数可以有多种类型,比如字符串、数字、日期等,具体类型根据需求而定。
定义参数时,可以设置参数的名称、默认值、是否可为空等属性。
在报表设计中使用参数时,可以通过参数名称引用参数的值。
在SQL查询中,可以使用参数名称作为查询条件,从而实现数据过滤。
在报表模板中,可以使用参数名称作为文本框、表格、图表等组件的属性值,从而实现动态显示和控制。
使用Birt报表参数时需要注意以下几点。
首先,确保参数的名称在整个报表中唯一,避免参数名称冲突。
其次,参数的默认值应该合理设置,以便在用户不输入参数值时有一个合理的默认行为。
另外,参数的类型和数据格式要与使用场景相匹配,避免出现数据类型不匹配或格式错误的问题。
在使用Birt报表参数时,可以通过给参数赋值的方式传递参数值。
参数值可以通过多种方式传递,比如URL参数、JavaScript脚本、数据集字段等。
在使用URL参数传递参数值时,可以通过在URL中添加参数名和参数值的方式实现。
需要注意的是,URL参数的值需要进行编码,以避免特殊字符引起的问题。
除了使用URL参数传递参数值外,还可以使用JavaScript脚本来动态设置参数值。
通过在报表模板中嵌入JavaScript脚本,可以根据需要计算参数值或从其他组件中获取参数值。
使用JavaScript脚本可以实现更加复杂和灵活的参数控制逻辑。
在报表生成时,Birt报表引擎会根据参数的定义和传递的参数值来生成报表。
报表生成过程中,Birt报表引擎会根据参数值对报表进行相应的数据过滤、显示控制或格式化处理。
BIRT 报表使用说明
BIRT 报告传统报告允许允许企业以图形形式显示其他人可读的数据。
BIRT 有助于自动化在部署好的J2EE 应用程序中创建报告的过程。
在本教程中,将学习如何创建一个将使用您的应用程序部署的报告。
示例应用程序当客户来到银行进行取款或汇款时,该事务通常由银行职员执行。
本教程的示例应用程序是一个用户界面(UI),该界面将接收事务细节信息,并将它们存储到一个Derby 数据库中。
记录的事务细节信息包括事务日期、事务标题、职员编号、事务类型、取款或汇款数量,等等。
分析数据当示例应用程序获取信息并将它们存储到数据库中时,数据处于其最原始的形式,没有能以某种有意义的方式进行查看的可靠组织形式。
您开发的BIRT 将用于分析此数据。
所介绍的每种类型的报告都允许您查看并随后分析数据库中包含的数据。
将BIRT 对象嵌如应用程序一旦已经完成BIRT 报告和示例应用程序,就可以将BIRT 对象嵌入应用程序中。
这将使您——银行管理人员——乐于查看发生在银行中的事务的趋势。
您将获得一些知识,这些知识使您作出向更好趋势更改的决定,并提高银行的生产效率和性能。
Derby:设置在这一节中,将创建并初始化具有BIRT 中要使用的测试数据的Derby 数据库。
您将通过Geronimo 的网络服务器使用Geronimo 中的内置Derby 数据库。
在Geronimo 上部署应用程序时,将使用此数据库,因此使用内置数据库是有一定道理的。
设置用于Derby 的Geronimo因为将在用于BIRT 的Geronimo 中使用内置Derby 数据库,所以需要正确的驱动程序。
有一些 .jars 需要添加到Geronimo 中:IBM DB2 JDBC Universal Drivers。
现在您应该已拥有这两个文件(请参阅前提条件)。
解压缩从IBM 获得的 .zip 文件。
从lib 目录中获得两个 .jar 文件:db2jcc.jar 和db2jar_license_c.jar,并将它们放置在Geronimo 安装的<geronimo-install-dir>/repository/org.apache.derby/jars 目录中。
01-Birt工具数据报表开发手册
Birt数据报表开发手册1. 创建模板双击BIRT应用程序以启动Birt报表设计环境,首次启动未加载任何报表开发资源。
主界面如下:根据报表设计的需要,Birt本身提供了一些常规的模板:当然,也可以根据实际需要,添加一些使用频率比较高的模板。
下面将以两张图形,一张列表,且图形在上横向排列的模板为例,创建新模板。
点击文件菜单中的新建,选择新建模板,根据实际情况修改模板名称和存储路径:为此模板添加一些附加属性,如该模板的描述信息和模板布局的预览图像等。
点击完成,开始编辑此模板的布局。
在组件按钮区域依次选取:一个标签,用于放置报表的标题,双击输入标题文本。
也可根据需要动态的文本。
一个网格:用于放置水平的两张图形,因此网格设置为2列1行。
可根据实际情况调整。
一张表:用于放置数据报表,明细数据列设置为8列1行。
可根据实际情况调整。
关于组件的使用,将在后面的章节中具体说明。
用鼠标右击网格中的其中一个空白处,依次选择插入,图表。
在弹出的对话框中选取需要的图形。
同样的方法处理另外网格的另外一个。
有关图形的制作,将在图形报表开发手册中详细说明。
设置每种组件的属性,在OutLine窗口中选中已经拖放的组件,根据需要对其相应的属性进行调整。
如字体大小,颜色,对齐方式,样式等设置完成后,模板样式如下:保存模板的配置信息,以便在以后的报表开发中可以直接读取该模板。
2. 新建共享资源库在Birt的资源管理器中添加一些共享资源,如共享库:在弹出的对话框中输入Library库文件的保存路径和名称:确定后,Library库的创建完成。
如果操作无误,可以在对应的目录下浏览到新建的库。
3. 新建数据源在共享库中新建一个制作报表需要的数据库连接,以Oracle9i数据库连接为例,需要先配置数据驱动(数据库的驱动程序配置方法已经在报表设计器的配置手册文档中体现)。
然后在新建的库中,用鼠标右击数据源,选择新建数据源:在弹出的对话框中选择对应数据源类型,并为该数据源命名:选择正确的数据库驱动和URL后,就可以进行数据库的连接测试:可以根据报表需要,创建一个或者多个数据源的配置:数据源创建完成后,可以通过选择选择资源管理器中共享资源,Library库下新建的数据源,右击鼠标选择添加到报表,将新建数据源添加值报表中供使用。
birt报表入门教程之报表设计器学习
birt报表入门教程之报表设计器学习报表设计器数据浏览器-把你的数据源(连接)以及数据集(查询)组织起来。
数据集编辑器允许你测试数据集,以确保报表接收数据的正确性。
布局视图(Layout)-所见即所得编辑器为你的报表提供以拽方式来创建表现内容。
包含一个标准报表条目调色板。
属性编辑器(Property Editor)-以便利的格局表现大多数通用的用户属性使编辑更快速和容易。
BIRT也集成了标准Eclipse属性视图,为每个条目提供详细的属性列表。
报表预览(Preview)-你可以在任何时间采用真实数据测试你的报表。
预览窗口直接内嵌在Eclipse中。
代码编辑器(Script)-在访问数据以及报表生成或浏览时,脚本把业务逻辑添加给报表。
在编辑脚本时代码编辑器提供标准的Eclipse特性:语法加色、自动完成等等。
BIRT用很简单的脚本来表达,expression builder能更容易的创建这些表达。
略图(OutLine)-BIRT报表被组织为一个树型结构作为整体报表的根,并且为样式、报表内容、数据源、数据集、报表参数等分类。
略图视图提供你整个报表结构紧凑的预览。
Cheat Sheets-学习新工具永远是种挑战,但是Eclipse提供一种创新方案:cheat sheets。
它们是一些帮助你完成新任务的文档。
同为常用的报表工具,与BIRT对比,FineReport的设计器是什么样的呢?具体如下:设计器概览下图是FineReport报表软件设计器的整体示例图:1.1模板管理面板所有通过FineReport设计器设计出来的模板全部保存在reportlets文件夹下,并显示在模板面板中。
1.2数据集面板数据集面板中展示的是数据集,数据集是指通过SQL语句,将数据库中的数据获取出来,作为模板数据的直接来源,数据集包括模板数据集和服务器数据集。
1.3模板预览方式预览方式是指查看模板时以哪种方式查看,在设计器预览方式按钮处,有三种预览方式,分页预览,填报预览,数据分析,如下图:默认预览方式为分页预览。
birt报表参数
birt报表参数BIRT报表参数是一种用于生成动态报表的工具,它可以根据用户的需求来动态地改变报表的内容和显示方式。
在本文中,我将介绍BIRT报表参数的一些基本概念和使用方法。
让我们来了解一下什么是BIRT报表参数。
BIRT报表参数是一种用于传递数据给报表的方式,它可以让用户在生成报表时输入一些参数值,从而影响报表的生成结果。
比如,我们可以通过报表参数来过滤数据、排序数据、设置报表的标题等等。
在BIRT中,报表参数的定义是在数据源上的,我们可以在数据源中定义一些参数,并在报表设计中使用这些参数。
当用户生成报表时,系统会提示用户输入参数值,并根据参数值来生成报表。
在使用BIRT报表参数时,首先需要在报表设计中定义参数。
定义参数的方式是在报表设计的参数视图中添加一个新的参数,并设置参数的名称、数据类型、默认值等属性。
参数的数据类型可以是字符串、整数、日期等,根据实际需求来设置。
定义好参数后,我们可以在报表设计的其他地方使用这个参数。
比如,我们可以将参数值作为过滤条件来过滤数据,或者将参数值作为标题的一部分来显示在报表上。
在使用BIRT报表参数时,我们可以通过多种方式来传递参数值。
一种常见的方式是通过URL传递参数值。
在URL中,我们可以使用参数名和参数值的键值对来传递参数值。
比如,我们可以使用以下URL来传递参数值:```http://localhost:8080/birtviewer/frameset?__report=report.rpt design¶m1=value1¶m2=value2```在上面的URL中,param1和param2是参数的名称,value1和value2是参数的值。
通过这种方式,我们可以在生成报表时动态地传递参数值。
除了通过URL传递参数值,我们还可以通过其他方式来传递参数值。
比如,我们可以在程序中使用API来设置参数值,或者在报表生成界面上手动输入参数值。
birt报表简单制作
前言此文档作者是北京恒信启华职下员工肖林宝编写。
乃是本人不成熟作品,简单的介绍了birt报表的制作过程。
为的是给各位同事一个参考,文中若有不完善的地方,还请各位同事多多包涵,多提宝贵意见。
根据各个项目上的实际情况,此文档主要介绍birt报表在公共数据源链接下的制作过程。
下面开始进入制作过程。
Birt报表制作过程在这里我用发票表invoice 简单的制作一个根据日期查询并且统计TOTALCOST 的报表。
Sql语句如下:select INVOICENUM,DESCRIPTION,ENTERDATE,TOTALCOST from invoice whereto_date(to_char(ENTERDATE,'yyyy-MM-dd'),'yyyy-MM-dd')>=to_date('2 011-08-01','yyyy-MM-dd')andto_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,如下图:根据实际情况设置表格行列,这里我根据需要设置成一行四列,如下图:表格如下将数据集中的字段拖到表格上,将数据集与表格进行绑定。
birt报表例子
birt报表例子BIRT(Business Intelligence and Reporting Tools)是一种开源的报表设计工具,它能够在Java环境下生成高度交互式的报表。
BIRT报表设计工具提供了简单易用的界面,使用户能够方便地创建和自定义各种类型的报表。
在本篇文章中,我们将介绍几个BIRT报表的例子,以帮助读者更好地理解和使用BIRT报表工具。
例子一:销售报表假设我们正在使用一个电商平台来销售商品,并且我们想要分析销售数据以了解最受欢迎的产品和销售业绩。
我们可以使用BIRT报表工具来设计一个销售报表。
该报表可以显示每个产品的销售数量、销售额和销售额占总销售额的比例。
此外,我们可以根据时间过滤数据,比如选择一个特定的月份或者一个特定的时间段。
通过这个报表,我们可以轻松地分析销售数据,以便做出更好的商业决策。
例子二:库存报表假设我们在一个仓库管理系统中,我们想要生成一个库存报表,以了解每个产品的库存情况。
我们可以使用BIRT报表工具来设计一个库存报表。
该报表可以显示每个产品的库存数量、已销售数量和剩余数量。
我们还可以根据产品类别进行分组,并在报表中显示每个类别的总库存数量。
通过这个报表,我们可以很方便地查看和比较不同产品的库存情况,从而更好地管理库存。
例子三:员工绩效报表假设我们是人力资源部门的负责人,我们想要评估员工的绩效以便做出合适的奖励和提升决策。
我们可以使用BIRT报表工具来设计一个员工绩效报表。
该报表可以显示每个员工的绩效评分、销售额和完成的项目数量。
我们还可以在报表中显示各个部门的平均绩效评分和总销售额。
通过这个报表,我们可以更准确地评估员工的表现,并制定相应的奖励和晋升策略。
例子四:学生考试成绩报表假设我们是一所学校的教务处老师,我们想要生成一个学生考试成绩报表,以便分析学生的表现和制定有针对性的教学计划。
我们可以使用BIRT报表工具来设计一个学生考试成绩报表。
该报表可以显示每个学生的各科成绩和总成绩,并可以根据性别、年级或班级进行分组。
birt教程之交叉报表
birt教程之交叉报表交叉报表构建数据源方法同上。
构建数据集1.在定义好数据集的基本信息之后,进入SQL SELECT语句查询界面,输入如下SQL语句,进行数据集的创建:select EBANK.CUSTOMER.CUSTOMER_NAME,EBANK.PRODUCT.PRODUCT_NAME,EBANK.CONTRACTSUM.*from EBANK.CUSTOMER,EBANK.PRODUCT,EBANK.CONTRACTSUM where EBANK.CONTRACTSUM.CUSTOMER= EBANK.CUSTOMER.CUSTOMER_IDand EBANK.CONTRACTSUM.PRODUCT= EBANK.PRODUCT.PRODUCT_ID2.如果创建正确,在结果预览窗口“Preview Relusts”中将看到一下信息:点击“Ok”完成数据集的创建。
在报表中加入交叉报表1.同上例,先在布局编辑器中建立一个1列2行的Grid。
2.从选用板“Palette”视图中拖拽一个“Cross Tab”至第二行的网格中。
在布局编辑器中可以看到我们创建的Cross Tab的样式。
数据准备1.选择数据资源管理器“Data Explorer”。
右键单击“Data Cubes”,选择“New Data Cube”,进入如下交叉表数据编辑界面:2.默认选择的是“Dayaset”,Name:为Cube命名,Customer Cube Primery dataset:选择相关的数据集。
打开下拉菜单选择之前建立的数据集contract3.在左边的主菜单中选择第二项“Groups and Summeries”,出现如下窗口(),在将Available Fields中的CUSTOMER_NAME拖拽到右边Groups (Dimensions)中标有“(Drop a field here to create a group)”的地方,如下图。
Birt报表开发
图1-1 BIRT设计器图1-2 BIRT运行时环境说明图1-3 BIRT报表引擎图1-4 BIRT运行时环境BIRT 设计器和设计引擎可以设计以下的报表:列表-列表是最简单的报表。
当列表变长时,你可以把相关数据增加到同一分组(基于客户的订单分组,基于供应商的产品分组),如果数据是数字类型的,你可以轻松的添加到“总数”、“平均”、或其他汇总中。
列表的产生和显示都可以定制,进行过滤,突出显示,排序,分组同样可以过滤,突出显示和排序。
图表-图表能够帮助数字型的表格形象化的理解。
BIRT 提供饼状、线状以及柱状图标等。
交叉表-交叉表(也叫做十字表格或矩阵)用两种维度展示数据:sales per quarter or hits per web page。
信函和文档-通知、信件、以及其他文本文档都很容易通过BIRT 方便建立。
文档包括正文、格式、列表、图表等。
混合报表-很多报表需要联合以上所有的报表构成单一文档。
例如,一份客户声明会列出客户所需要的信息,为当前促销(promotions)提供文本,以及提供并行的出帐和入帐列表。
一份财务报表将包括声明、图表、表格,所有这些都可以进行全方位的格式化,来匹配共有的配色方案。
Birt有以下几点优点:1、开发方便,BIRT是Eclipse的一个插件可以很好的集成在Eclipse中,图形编辑框架下可以在几分钟之内做出一个报表,操作界面友好大方,MyEclipse近期的版本(8.0以上)本身包含BIRT特性。
2、可以很方便地在一个报表中混合展现概要数据和详细数据。
3、提供了强大灵活的样式定义,对于熟悉CSS的设计人员来说,应该可以设计出相当出色的报表样式。
4、Birt提供很好的国际化支持,支持中文本地化。
图1-5 birt-report-designer-all-in-one下载官网安装方式二:单独下载birt-report-designer所需要的eclipse平台和插件。
开源报表_BIRT_开发_手册_2
return list; }
}
Birt 报表 开发手册
第 11 页共 44 页
4.2.2 java 类与报表交互
Birt 报表 开发手册
1. 创建报表。在前面已经讲过怎么创建报表,在这里只要选择报表存放目录为工 程的 WebContent。如图:
可以使用 Java 来编写一些事件处理程序并使用 JavaScript 来编写另一些事件处理 程序。如果同一个事件同时有 Java 和 JavaScript 事件处理程序,则 BIRT 将使用 JavaScript 处理程序。
4.1 avascript 脚本编写
4.1.1 隔行高亮度显示
1. 在布局(Layout)中,选择 Table-Detail 的行。如下图:
props = new java.util.Properties( ); props.load(fin); }
extensionProperties.odaURL = new String(props.getProperty("dbURL")); extensionProperties.odaDriverClass = new String(props.getProperty("driverName")); extensionProperties.odaUser = new String(props.getProperty("userName")); extensionProperties.odaPassword = new String(props.getProperty("password"));
birt报表使用简要说明
Birt报表使用指南1Birt的安装方法把birt整合到了M yeclips e6.5中,(ec lips e的官方网站上提供有一个bi rt-rep ort-design er-all-in-o ne-2_2_2.zip,你直接解压缩这个就可以了,就免去了birt与My ec lipse6.5的整合)。
如果要把bi rt安装到Myecl ipse6.5中,要注意一些事情1.1ecl ip se的版本就是说你的eclipse版本要和适当的bir t版本配合,当前bi rt的最新稳定版是b irt2.3。
如果使用的是ec lips e3.3版本,你应该用bir t-repo rt-framewo rk-2_2_2.zi p,如果使用的是eclipse3.4,你应该用birt-report-f ra mework-2_3_0.zip版本不一致会出一些问题。
1.2在Myec lipse6.5中装birt。
My Eclipse6.5自带的是ecli pse3.3,所以只能下载birt-re port-fra me work-2_2_2.zip (下载地址:http://do wnlo ad.ecl ips /b ir t/downloa ds/index2.2.2.php)而birt-repo rt-frame wo rk-2_3_0.z ip是针对e clip se3.4的。
把下载下来的birt-r epo rt-fram ew ork-2_2_2.zip包解压,解压后的feature s文件夹下的所有文件拷贝到MyEcl ip se6.5安装目录下的..\my ecli pse\e clips e\fe atures 下,解压后的plug in s文件夹下的所有文件拷贝到..\my eclipse\ec lipse\plug ins下。
Excel使用技巧如何使用数据表制作交互式报表
Excel使用技巧如何使用数据表制作交互式报表Excel使用技巧:如何使用数据表制作交互式报表Excel是一款强大的电子表格软件,广泛应用于办公、数据分析等领域。
其中,数据表的制作是Excel的重要功能之一。
本文将介绍如何使用Excel的数据表功能来制作交互式报表。
一、数据准备在使用Excel制作交互式报表之前,首先需要准备好所需的数据。
这包括收集、整理以及录入数据等环节。
确保数据的准确性和完整性对于后续的报表制作至关重要。
二、创建数据表1. 打开Excel软件,在工作簿中选择一个工作表作为数据表的基础。
2. 将准备好的数据按照一定的规则输入到Excel工作表中。
确保数据表的结构清晰、有序。
3. 在数据表的第一行中,为每一列设置合适的标题,以便于后续的数据分析和报表展示。
三、设置数据表样式为了让报表更加美观,可以设置数据表的样式。
Excel提供了丰富的样式和格式选项,可以根据需要自定义数据表的外观。
1. 选中数据表中的一部分或全部数据。
2. 在Excel的菜单栏中,找到“开始”选项卡,进入“样式”组。
3. 在样式组中,可以选择不同的样式、颜色和字体,也可以设置边框、背景色等样式选项。
四、使用数据透视表进行数据分析数据透视表是Excel中用于数据分析的重要工具,可以对大量的数据进行透视分析,从而生成具有交互性的报表。
1. 在Excel工作簿中选中需要进行数据分析的数据表区域。
2. 在Excel的菜单栏中,找到“插入”选项卡,进入“表格”组。
3. 在表格组中,选择“数据透视表”选项,弹出“数据透视表和数据透视图向导”。
4. 在向导中,可以选择数据透视表的源数据和布局。
根据需要,可以选择特定字段作为行、列和值,生成适合的报表布局。
5. 根据需要可以对数据透视表进行设置,如排序、筛选、样式调整等。
五、制作交互式报表通过设置数据透视表之后,可以制作具有交互性的报表。
交互式报表可以根据用户的需要进行数据筛选、排序和切换,提供更灵活的数据展示方式。
BIRT报表工具的使用总结
目录
什么是BIRT 为什么选择BIRT
如何使用BIRT
实操环境
/birt
birt-rcp-report-designer .zip 报表制作工具 birt-runtime.war 可以集成在JAVA项目中
客户端的官方例子
运行后,可以显示下面的view
设置-Aggegation聚合计算
设置-排序
if( params["srt"].value == "firstcol" ){row["CUSTOMERNUMBER"];} else if( params["srt"].value == "secondcol"){row["CUSTOMERNAME"];} else if( params["srt"].value == "thirdcol"){row["CONTACTLASTNAME"];}
高级-复用公共库
2.对选中的元素 进行套用自己定 义css
高级-业务类处理数据
高级-通过参数
传参数的场景 目地是通过不同的查询条件,过滤数据源 1.直接数据源就是使用参数变成带条件的查询 2.根据各列排训 3.数据源不变,只要过滤掉一些数据
高级-参数跳转
高级-连接
参数就是全局变量,可以URL替换实现数据更改
交叉表
交叉报表是报表当中常见的类型,属于基本的报表,是行、列方向都有分 组的报表。 行和列的交叉处可以对数据进行多种汇总计算,如:求和、平均值、记数、 最大值、最小值等。
学习关键点: 1. 见帮助里面的例子比较简单 , 只要确认好行、 列的分组项,和要计算的数值 2. 时间维度也非常简单,只要字段是日期型的, 直接拖进去就可以了
BIRT报表开发手册详解
开源报表BlRT开发手册北京宇信易诚科技有限公司2007-08-23目录1Birt 介绍 (5)U 报表介绍 (5)1.2基本概念 (5)1・3 丰富的报表 (5)1.4BIRT报表由四部分组成 (6)1.5报表设计器 (6)2Birt插件安装 (8)2.1插件版本说明 (8)12插件安装 (9)2.2.1完全安装 (9)2.2.2更新安装: (9)2.2.3分步安装 (9)3Birt报表开发实战 (13)3.1创建报表 (13)3.1.1创建报表工程 (13)3.1.2创建报表 (14)3.2数据源配置 (16)3.3创建数据集 (19)3.4网格报表 (20)3.4.1创建数据源 (21)3.4.2创建数据集 (21)343 对报表进行布局 (21)3.4.4格式化与预览 (23)3.5分组报表 (24)3.5.1创建数据源 (25)3.5.2构建数据集 (25)3.5.3对报表进行布局 (25)3.5.4设定分组数据 (25)3.5.5格式化报表 (27)3.6交叉报表 (28)3.6.1构建数据源 (28)362构建数据集 (28)363在报表中加入交叉报表 (28)3.6.4数据准备 (29)3.6.5向交叉表插入数据 (32)3.6.6加入汇总 (33)3.6.7格式化报表 (34)3.7嵌套报表 (35)3.7.1构建数据源 (36)3.7.2构建数据集 (36)3.7.3布局嵌套报表 (38)3.7.4将Table绑左数据集 (39)3.7.5设定主表数据 (39)3.7.6设定子表数据 (40)3.8交互报表 (42)3.83 加入响应参数 (45)384 布局扌艮表 (47)3.8.5插入报表数据 (48)3.8.6格式化与预览 (49)3.9报表钻取 (51)3.9.1设泄响应参数 (51)3.9.2预览结果 (54)3.10图表报表 (55)3」0」为报表插入图表 (55)3」0.2 设定图表属性 (55)3」0.3 图表预览 (60)3.11多层交叉报表 (61)3」1」构建数据源 (61)3.11.2构建数据集 (61)3.11.3在报表中加入交叉报表 (62)3.11.4数据准备 (63)3」1.5 向交叉表插入数据 (63)3」1.6 格式化与预览 (64)3.12多层交叉汇总报表 (65)3」2」加入汇总 (65)3.12.2格式化与预览 (66)3.13 其他 (67)3.61 格式化报表 (67)表头与标题 (67)3.13J.2 设泄单元格格式 (68)3.13J.3 样式套用 (68)3.61.4数据元素格式化 (69)3.13.2分页、页眉与页脚 (70)3.13.2」设置分页显示 (70)3」3.2.2 设置分页打印 (70)3.13.2.3 设冒页眉页脚 (71)3.13.3隔行高亮度显示 (73)3.13.4对报告进行布局 (76)3.13.4」添加删除行或列 (76)3」3.4.2 指定行髙或列宽 (76)3」3.4.3 添加图像 (77)3.13.5数据绑泄 (79)4Birt 报表script (82)4・1 avascript 脚本编写 (82)4.1.1隔行髙亮度显示 (82)4.2java脚本编写 (88)421 创建java 类 (88)4.2.2java类与报表交互 (92)4.3BIRT脚本参考 (98)5Birt报表部署 (99)5・ 1 直接使用运行birt-nmtime-2_2_0 包中的WebViewerExamplc (99)5.2集成到已有web应用 (100)5.3数据库驱动位置 (107)5.4报表url说明 (107)5. 5 web, xml 配置 (113)5. 6 viewer・ properties 说明 (115)5.7BIRT 在jsp 中tag 使用 (116)5.8关于BIRT编码 (123)1Birt介绍1.1报表介绍BIRT一一商业智能和报表工具。
birt入门教程之多层交叉汇总报表
birt入门教程之多层交叉汇总报表1.1多层交叉汇总报表1.1.1加入汇总1.在3.8所建立的报表MultilayerCrosstab.rptdesign基础上,点击布局编辑器中Cross Tab左下角的“Cross Tab”图标选中本交叉表。
在Property Editor属性编辑器中选择“Row Area”,(可参考图3-11)。
2.在左边的选项栏中选择第一个选项“Sub Totals”,点击编辑器右边的“Add”按钮,弹出加入次级汇总(本例即根据客户类型进行汇总)的窗口:全部选择默认数据:点击“OK”完成创建。
3.在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入行汇总,同样,数据全选默认。
点击“OK”完成创建。
4.在属性编辑器Property Editor视图中选择“Column Area”,同样在左边的选项栏中选择第二个选项“Grand Totals”,点击编辑器右边的“Add”按钮,弹出窗口加入列汇总,同样,数据全选默认。
点击“OK”完成创建。
创建完毕后,布局编辑器如下图:1.1.2格式化与预览格式化后如下图:预览结果如下:同为比较常用的报表工具,FineReport对多层交叉汇总报表的解决方案和实现方法与BIRT有所不同,在finereport交叉汇总是利用层次坐标实现的,以一个简单示例为例,解释具体实现思路和步骤,供BIRT使用者借鉴:1.问题描述逐层累计与跨层累计都是纵方向上的累计,也可以横向进行累计,如下图各个销售员每个月订单金额的累计:2.示例2.1新建报表,设计表样新建工作薄,添加数据集,SQL语句为select雇员ID,strftime('%m',订购日期)as月份,应付金额from订单where strftime('%Y',订购日期)= '2011',查询出2011年每个雇员,每月订单金额。
birt使用指南
birt使用指南BIRT使用指南BIRT(Business Intelligence and Reporting Tools)是一套基于开放标准的商业智能和报表工具,由Eclipse开发。
本文档将详细介绍BIRT的使用指南,包括安装、数据源、报表设计和等内容。
1、安装1.1 BIRT1.2 安装Java开发工具(JDK)1.3 安装Eclipse1.4 安装BIRT插件2、数据源2.1 连接数据库2.2 导入数据源2.3 创建数据集2.4 数据集参数设置3、报表设计3.1 新建报表3.2 报表元素添加3.3 数据绑定3.4 样式设置3.5 图表设计3.6 嵌套表设计3.7 参数设置3.8查询过滤器3.9脚本设计4、报表4.1 导出报表4.2 配置报表方式4.3 调度报表任务4.4 报表API调用附注:1、本文档涉及附件:本文档所述示例代码和演示数据已打包为附件,可以通过以下:[附件]。
2、本文所涉及的法律名词及注释:2.1 商业智能(Business Intelligence):利用数据分析技术和工具,将企业内外部的海量数据加工分析,得出对业务决策有价值的信息。
2.2 报表(Report):根据特定的数据和要求,结合数据分析和可视化技术,将数据以表格、图表等形式呈现,用于信息展示和决策支持。
2.3 数据源(Data Source):报表所需的数据的来源,可以是数据库、文件、Web服务等。
2.4 数据集(Data Set):报表中用于展示数据的集合,通常与数据源相关联。
2.5 参数(Parameter):报表运行时可以输入的变量,用于动态筛选数据或配置报表行为。
2.6 查询过滤器(Query Filter):用于对数据集进行过滤,筛选出满足条件的数据。
2.7 脚本(Script):BIRT支持使用JavaScript进行报表设计,可以通过脚本实现自定义的数据处理、表达式计算及样式控制等功能。
Birt报表设计步骤
Birt报表设计步骤:1、下载birt all in one 2.2.1.1,包含eclipse,解开下载文件启动eclipse,必须使用JDK1.5启动eclipse,否则新建工程对话框中没有birt的相关选项2、新建report project和report打开data explorer视图,新建一个data sources,定义数据库连接driver/url/用户名/密码,在"Manage Drivers..."中把jdbc的jar加进来3、新建Report Parameter,设置参数名称、类型,参数值将来通过url传递或使用程序方式赋值4、新建data sets,设置Query,即preparedStatement语句,设置data set的Pameters,即reparedStatement中的“?”,使之和report parameter关联;如果data set的Parameter的值不是来自于Report Parameter,例如来自另外一个data set,可不设置关联,而在报表内容中设置和其它data set字段的关联(见步骤8)5、如果data set对应的sql是动态生成的,可以设置“property Binding”,在Query Text中输入sql和表达式,其中可以使用Report Parameter和javascript语句,运行时将执行Property Binding中的Query Text,而不执行Query中的preparedStatement,但是Query中的preparedStatement在设计报表时还是有用的,因为可以看到运行结果的字段列表,只要preparedStatement和Query Text返回相同的字段即可6、将定义好的data set拖动到设计界面上,会自动在报表放置一个Table7、如要对table的某列合计,从Palette视图中拖一个“Aggregation”到设计界面8、如要Master-Sleve报表,则在Table中再放置一个Table。
birt交叉表
BIRT交叉报表一、创建报表和配置数据源1.新建一个报表,改好自己的名字,然后next进行下一步。
然后选择一个空白报表(Blank Report),单击finish完成。
2.新建数据源,这里使用的是协同数据库,选择Date Explore标签右键单击DataSources 新建一个数据源。
选择JDBC Data Source 命名为clmpdemo 然后单击next利用JDBC链接数据源,然后点击测试链接,提示成功后,点击finish完成。
注:在应用里面,可以设置为JNDI链接。
具体是在报表文件中,增加一列JNDI 设置,如下所示:<data-sources><oda-data-sourceextensionID="org.eclipse.birt.report.data.oda.jdbc"name="clmpdemo"id="7"><text-property name="displayName"></text-property><list-property name="privateDriverProperties"><ex-property><name>contentBidiFormatStr</name><value>ILYNN</value></ex-property><ex-property><name>metadataBidiFormatStr</name><value>ILYNN</value></ex-property></list-property><propertyname="odaDriverClass">oracle.jdbc.driver.OracleDriver</property> <propertyname="odaURL">jdbc:oracle:thin:@127.0.0.1:1521:eccl</property><property name="odaUser">clmp</property><encrypted-property name="odaPassword"encryptionID="base64">ZWNjbDIwMDk=</encrypted-property><!--新增JNDI设置--><property name="odaJndiName">java:/comp/env/clmp</property> </oda-data-source></data-sources>3.建立一个新的数据集,New data sets ,命名为clmprfq,点击next。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
birt教程之交互报表
交互报表
交互式报表就是存在与用户交互的通道,在查询交互式报表的结果时,需要用户输入一定的参数,输出结果就会显示出参数所对应的结果。
在本例中,我们将客户信息做成交互式报表,在用户输入客户的编号之后,我们就会看到对应客户的信息。
创建报表、数据源
方法同上,报表名我们定位:PeportOfAlternant.rptdesign
创建数据集
本例我们需要建立3个数据集:
1.建立数据集CustomerId,所用SQL语句:
select
EBANK.CUSTOMER.CUSTOMER_ID,
EBANK.CUSTOMER.CUSTOMER_NAME
from EBANK.CUSTOMER
where
EXISTS
(SELECT EBANK.CONTRACTSUM.CUSTOMER
FROM EBANK.CONTRACTSUM
WHERE EBANK.CUSTOMER.CUSTOMER_ID=
EBANK.CONTRACTSUM.CUSTOMER)
2.建立数据集CustomerInfo:所用SQL语句:
select EBANK.CUSTOMER.CUSTOMER_NAME,
EBANK.CUSTOMER.TEL,
EBANK.CUSTOMER.FAX,
EBANK.CUSTOMERTYPE.TYPENAME
from EBANK.CUSTOMER,EBANK.CUSTOMERTYPE
where
EBANK.CUSTOMER.CUSTOMERTYPE=EBANK.CUSTOMERTYPE.TYPEI D
and EBANK.CUSTOMER.CUSTOMER_ID=?
输入SQL语句后,还要在数据集编辑窗口选择Parameters选项。
双击默认参数Pram1或者选择“Edit”,弹出如下窗口:
输入:
Name:CustID;
Default Value:’1’;
其它默认
完成后,在Preview Result选项中就可看见结果预览:
建立数据集Contract:所用SQL语句:
select EBANK.CONTRACTSUM.AMOUNT,
EBANK.PRODUCT.PRODUCT_NAME
from EBANK.CONTRACTSUM,EBANK.PRODUCT
where
EBANK.CONTRACTSUM.PRODUCT=
EBANK.PRODUCT.PRODUCT_ID
and EBANK.CONTRACTSUM.CUSTOMER=?
同上一步一样,还需对参数设置默认值,方法同上。
加入响应参数
1.建立好数据集之后,展开选择数据资源管理器“Data Explorer”,右键点击“Report Parameters”选择“New Parameter”,弹出如下窗口:
输入:
Name:CustId
Prompt:请输入用户编号
Data Type:选择默认String
Display Type:从下拉菜单中选择Combo Box
2.将Display Type值选为Combo Box后,下方的“List of Value”的两个选择按钮变亮,选择“Dynamic”,窗口变为如下:
输入数据:
Data Set:从下拉框中选择CustomerId;
Select Value Column:从下拉框中选择CUSTOMER_ID;
Select Display text:从下拉框中选择CUSTOMER_ID;
Default Value:选择<select value…>之后在弹出的窗口中选择任意一个即可,这里选1
点击“OK”完成
布局报表
1、先在布局编辑器中建立一个1列2行的Grid;
2、在所建立的Grid的第二格中再加入一个3列2行的Grid;
3、选中3列2行的Grid的第一列,在属性编辑器Property Edit,将默认菜
单下的General项中的“Width”设定为20%,其中“%”符号从下拉框
中选择;选中第二列,同样方法设定其宽为60%;
4、从选用板中向选中3列2行的Grid的第二列第一行的空格拖拽一个2列
4行的Table,选中这个Table的第一列,用第3步中的方法设定其宽为
50%,选中这个Table的第一行“Header Row”,右键点击选择“Merge Cells”
将此行合并,并从选用板中拖拽一个“Lable”,输入“客户基本信息”,使其居左;
5、再在这个3列2行的Grid的第二列第二行的空格中加入一个2列1行的
Table,对此Table作与第4步同样的处理,在合并“Header Row”之前
先选中“Header Row”,右键点击选择“insert”,插入一行新的Header
Row。
然后将第一个“Header Row”合并,在合并后的“Header Row”
中加入的“Lable”中输入“客户订单信息”使其居左
布局后的视图:
插入报表数据
1、参数绑定:
选中我们在3.5.4中第3步加入的第一个Table,下方出现Table的属性编
辑器Property Edit,选中标题栏的Binding栏,在“Data Set”的下拉框中中选择数据集“CustomerID”;然后点击其后的按钮“Dataset Parameter Binding”,进入后双击默认的变量进入进行设置,点击“Value”标签后的函数符号“”,进入参数设定界面:
从下方的设定窗口依次选择:Report Paramrters——All——{}CustID,双击{}CustID将其加入。
依次点击各个窗口的“OK”,完成参数绑定。
2、将数据集CustomerInfo中的数据项一一拖拽至第一个Table的第二列的
“Detail Row”中,在第一列中加入“Lable”并输入标题信息。
3、对第二个Table也做与第一步的相同操作:注意在Table的属性编辑器中
进行参数绑定之前在“Data Set”中选择的数据集应该是Contract。
做好参数绑定之后,将数据集Contract中的数据项一一拖拽到Table的“Detail Row”的两个空格中,然后将“Header Row”中自动生成的标题Lable更改。
这样,我们就完成了交互报表的基本工作。
格式化与预览
格式化报表:
点击View Report In Web Viewer结果预览图表,此时弹出对话框,需要我们选择输入客户编号:
选择“1”,结果如下:
通过点击左上方第二个图标“”可以重新进行参数选择。
同为比较常用的报表工具,FineReport对交互报表的解决方案和实现方法
与BIRT有所不同,在FineReport中没有交互报表的概念,但是对参数的利用却渗透的FineReport的所有报表制作过程中,FineReport中交互报表的具体实现思路和步骤如下,供BIRT使用者借鉴:
1.概述
在数据集查询中,数据表,数据列以及条件都可以是动态的,下面我们来介绍动态数据表和动态条件,动态数据列实现方式有两种,下面有章节专门介绍。
2.动态数据表
若数据库中存在两张表结构相同,只是数据量不同,如何实现不同的人根据需要选择不同的表进行查看,从而提高查询效率呢?
2.1实现思路
在定义数据集时,通过if函数来判断参数的值从而来实现调用不同的数据表,如直接将SQL语句定义成:SELECT*FROM${if(aa=1,'订单','订单1')},即若参数aa=1时,查询的是订单表,若aa!=1时,查询的是订单1表。
3.动态条件
若您对表中的数据进行过滤时,查询条件是不确定的,有时候想用A列进行过滤,有时候想用B列进行过滤,此时要如何实现呢?
3.1实现思路
在定义数据集时,将条件定义为参数,如SQL语句定义成:SELECT*FROM TableName${Condition}。
3.2示例
∙打开模板
打开模
板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\D ynamicSQL\DynamicSQL.cpt。
∙修改数据集
将数据集修改为:SELECT*FROM订单${Condition}。
∙修改参数界面
将参数界面的控件名称修改为Condition即可。
∙效果查看
保存模板点击分页预览,输入动态的查询条件如:where货主地区='西南',便可以获取货主地区为西南的数据了,效果如下图:。