birt教程之交叉报表

合集下载

JasperReport报表开发之转置交叉表

JasperReport报表开发之转置交叉表

JasperReport报表开发之转置交叉表使⽤Jasper或BIRT等报表⼯具时,常会碰到⼀些很规的统计,⽤报表⼯具本⾝或SQL都难以处理,⽐⽅源数据不符合交叉表的要求,须要转置后再呈现。

集算器具有结构化强计算引擎,集成简单。

能够协助报表⼯具⽅便地实现此类需求。

以下通过⼀个样例来说明转置交叉表的实现过程。

数据库表booking汇总着各年度商品的预定数据。

有四个字段,包含年份和三种预定状态,部分数据例如以下:报表要求呈现指定年份及上⼀年的预定情况。

当中⾏组有三项,即三种预定状态,列组是年份。

測度是当年的预定数据。

此外要汇总出指定年份各预定状态的增长率。

表例⼦如以下:能够看到,这张报表的难点是:源数据⽆法直接⽤于交叉表,汇总列要⽤相对位置来动态计算。

假设能将源数据转置。

并将汇总列事先计算出来,则会显著减少难度,⽐⽅以下这样:以下⽤集算器准备报表所需的数据,代码例如以下:A1=yearBegin=yearEnd-1yearEnd是来⾃报表的參数,表⽰⽤户指定的年份,⽐⽅2014。

A1中的代码⽤来计算上⼀年(⽐⽅2013),为了⽅便引⽤,上⼀年定义为yearBegin。

A2=myDB1.query(“select * from booking where year between ? and ?order by year desc”,yearBegin,yearEnd)这句代码⽤来从数据库查出指定年份及上⼀年的数据。

myDB1是数据源名,指向MYSQL。

函数query可运⾏SQL语句,也能够接受參数。

如果yearEnd=2014,则A2的计算例如以下:A3=create(row,col,value)这句代码⽤来新建序表A3。

A3有三个字段:row、col、value,将来可存储整理之后的数据。

新建后的A3例如以下:须要注意的是。

序表类似数据库结果集,也是结构化⼆维表。

但序表是泛型的,同⼀个字段能够存储不同的数据类型,序表也是有序的,能够按序号訪问数据。

Excel中的数据表和交叉表技巧

Excel中的数据表和交叉表技巧

Excel中的数据表和交叉表技巧Excel是一款功能强大的电子表格软件,广泛应用于数据分析、统计和管理等各个领域。

在Excel中,数据表和交叉表是处理和分析数据的重要工具。

本文将介绍一些在Excel中使用数据表和交叉表的技巧和方法,以帮助读者更好地利用Excel进行数据处理和分析。

一、数据表的创建和使用数据表是Excel中一种有效组织和管理数据的方式。

通过将数据表格化,我们可以方便地对数据进行排序、筛选和计算。

以下是一些数据表的创建和使用技巧:1. 创建数据表:在Excel中,选择你要创建数据表的数据区域,点击“插入”选项卡中的“表格”按钮,然后选择“表格”。

Excel将会自动识别出数据区域的范围,并创建一个带有表头和筛选功能的数据表。

2. 排序数据表:要对数据表进行排序,只需点击数据表中的任意一个表头,并选择“排序和筛选”选项。

根据需要,选择升序或降序进行排序。

3. 筛选数据表:要筛选数据表中的数据,点击表头中的筛选图标。

根据需要,选择筛选条件来显示所需的数据。

4. 计算数据表:数据表可以轻松地进行计算。

在数据表的最后一行,可以使用SUM函数或其他计算公式来计算所需的数据。

二、交叉表的创建和使用交叉表是Excel中一种将数据按不同维度进行汇总和分析的工具。

通过交叉表,我们可以更好地了解数据之间的关系和特征。

以下是一些交叉表的创建和使用技巧:1. 创建交叉表:在Excel中,选择你要创建交叉表的数据区域,点击“插入”选项卡中的“表格”按钮,然后选择“透视表”。

根据需要,选择要进行交叉分析的数据字段,并将它们拖放到透视表的行、列和值区域。

Excel将会自动创建一个基于选择数据的交叉表。

2. 汇总数据:交叉表可以根据需求对数据进行汇总。

在透视表的值区域中,选择所需的汇总方式,例如求和、平均值、最大值等。

3. 过滤数据:透视表允许我们根据条件过滤数据。

可以选择要进行数据过滤的字段,并选择所需的过滤条件。

01-Birt工具数据报表开发手册

01-Birt工具数据报表开发手册

Birt数据报表开发手册1. 创建模板双击BIRT应用程序以启动Birt报表设计环境,首次启动未加载任何报表开发资源。

主界面如下:根据报表设计的需要,Birt本身提供了一些常规的模板:当然,也可以根据实际需要,添加一些使用频率比较高的模板。

下面将以两张图形,一张列表,且图形在上横向排列的模板为例,创建新模板。

点击文件菜单中的新建,选择新建模板,根据实际情况修改模板名称和存储路径:为此模板添加一些附加属性,如该模板的描述信息和模板布局的预览图像等。

点击完成,开始编辑此模板的布局。

在组件按钮区域依次选取:一个标签,用于放置报表的标题,双击输入标题文本。

也可根据需要动态的文本。

一个网格:用于放置水平的两张图形,因此网格设置为2列1行。

可根据实际情况调整。

一张表:用于放置数据报表,明细数据列设置为8列1行。

可根据实际情况调整。

关于组件的使用,将在后面的章节中具体说明。

用鼠标右击网格中的其中一个空白处,依次选择插入,图表。

在弹出的对话框中选取需要的图形。

同样的方法处理另外网格的另外一个。

有关图形的制作,将在图形报表开发手册中详细说明。

设置每种组件的属性,在OutLine窗口中选中已经拖放的组件,根据需要对其相应的属性进行调整。

如字体大小,颜色,对齐方式,样式等设置完成后,模板样式如下:保存模板的配置信息,以便在以后的报表开发中可以直接读取该模板。

2. 新建共享资源库在Birt的资源管理器中添加一些共享资源,如共享库:在弹出的对话框中输入Library库文件的保存路径和名称:确定后,Library库的创建完成。

如果操作无误,可以在对应的目录下浏览到新建的库。

3. 新建数据源在共享库中新建一个制作报表需要的数据库连接,以Oracle9i数据库连接为例,需要先配置数据驱动(数据库的驱动程序配置方法已经在报表设计器的配置手册文档中体现)。

然后在新建的库中,用鼠标右击数据源,选择新建数据源:在弹出的对话框中选择对应数据源类型,并为该数据源命名:选择正确的数据库驱动和URL后,就可以进行数据库的连接测试:可以根据报表需要,创建一个或者多个数据源的配置:数据源创建完成后,可以通过选择选择资源管理器中共享资源,Library库下新建的数据源,右击鼠标选择添加到报表,将新建数据源添加值报表中供使用。

实用的Excel技巧利用数据表创建多维度交叉分析报表和动态数据报表

实用的Excel技巧利用数据表创建多维度交叉分析报表和动态数据报表

实用的Excel技巧利用数据表创建多维度交叉分析报表和动态数据报表实用的Excel技巧:利用数据表创建多维度交叉分析报表和动态数据报表Excel作为办公软件中最常用的数据处理工具之一,具备强大的功能和灵活性,可以帮助我们轻松处理各种复杂的数据分析需求。

在本文中,将介绍一些实用的Excel技巧,特别是如何利用数据表创建多维度交叉分析报表和动态数据报表。

通过灵活运用这些技巧,可以为我们的数据分析工作提供便利和效率。

一、利用数据表进行多维度交叉分析多维度交叉分析是一种能够同时对多个维度进行分析和比较的方法。

在Excel中,我们可以通过数据表功能来实现这一目标。

1. 创建数据表首先,我们需要将待分析的数据整理成数据表的形式。

选择数据区域,包括列头和数据,然后点击“插入”选项卡中的“数据表”按钮。

Excel会根据选定的数据自动创建一个数据表,同时将列头作为数据表的字段名。

2. 添加维度字段在数据表中,每一列的列头即为一个维度字段。

我们可以通过在字段名旁边的下拉箭头中选择需要的字段,将其添加到数据表中。

例如,如果我们的数据包括产品名称、销售地区和销售额三个维度,我们可以分别选择这三个字段,将其添加到数据表中。

3. 进行交叉分析一旦添加完所需的维度字段,我们就可以开始进行交叉分析了。

在数据表的右上角有一个“行字段”区域和一个“列字段”区域,我们可以将想要分析的字段拖拽到相应的区域中。

例如,我们将产品名称拖拽到“行字段”区域,销售地区拖拽到“列字段”区域,销售额拖拽到“值字段”区域,Excel会自动根据所选字段生成一个交叉分析报表。

4. 使用筛选器和排序器为了进一步优化分析结果,我们可以使用数据表的筛选器和排序器功能。

在表头的字段名旁边有一个小三角箭头,点击后可以选择筛选和排序的方式。

通过使用这些功能,我们可以灵活地对数据进行过滤和排序,更好地满足分析需求。

二、创建动态数据报表动态数据报表是指在原始数据发生变化时,报表能够自动更新和显示最新的数据内容。

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报表的开发使用手册

Birt报表的开发使用手册

Birt 使用说明合适版本:2.1.3目录一、前言 1二、相关软件 11.1、BIRT 21.2、EMF和GEF 3三、Birt的安装和配置 3四、使用说明 54.1、创建项目 54.2、创建第一个报表 74.2.1、创建一个空白报表 74.2.2、设置数据集参数 94.2.3、设计报表 144.3、报表中的参数 264.3.1、静态标量参数 274.3.2、动态标量参数 294.3.3、动态组合参数 31五、应用系统的结合 31六、BIRT的学习资料和缺点 456.1、学习资料 456.2、缺点 45一、前言公司的一个Java语言的B/S架构项目中需要实现大量的文字报表和图像报表的功能,以前使用CSS、JS和JfreeChart等技术,只能实现简单的报表,很难达到现在需求,于是我研究了几个开源免费的报表工具,通过网上的评价,发现了Birt有以下几点优点:1、开发方便,Birt是Eclipse的一个插件可以很好的集成在Eclipse中,图形编辑框架下可以在几分钟之内做出一个报表。

2、可以很方便地在一个报表中混合展现概要数据和详细数据。

3、操作界面友好大方。

4、提供了强大灵活的样式定义,对于熟悉CSS的设计人员来说,应该可以设计出相当出色的报表样式。

5、集成在Eclipse中,不用再开启别报表开发工具窗口,对于习惯于Eclipse开发的程序员来说这点非常重要。

6、Birt的本地化做的很好,安装以后操作界面就是中文的(这点我在使用过程中没有充分体现,我使用了Birt的中文语言包)。

7、开源的报表产品,有源代码,可以进行深层的定制开发。

8、生成的报表完全是XML格式,扩展性好。

9、容易和应用系统结合。

10、最重要一点是开源免费的(我穷啊)。

根据这几个优点,我决定研究Birt,通过几天查找资料和自己的摸索,心中总算有些小的体会。

由于习惯与Eclipse3.2版本,所以我使用了2.1.3版本的Birt,现在最新版本已经是2.3以上版本了,就是这个原因网上很多资料都不是很适合这个版本,所以我走了很多弯路,希望看到此文档的人能比我少走弯路,这也是我写这个文档的原因之一。

BIRT交叉表用法

BIRT交叉表用法

Birt2.2M6 的CorssTab(交叉表)的用法1什么是交叉表首先你要知道什么是交叉表,又是在什么情况下需要用交叉表。

“交叉表”对象是一个网格,用来根据指定的条件返回值。

数据显示在压缩行和列中。

这种格式易于比较数据并辨别其趋势。

它由三个元素组成:◆行◆列◆摘要字段我找了一副图表,用以说明交叉表2创建交叉表步骤Birt 2.2M6首次出现了OLAP Cube功能,创建交叉表分为三步◆创建Cube◆创建CrossTab◆把Cube的维度和度量拖到相应的地方。

2.1选择Cube的数据集BIRT的数据立方体(Cube)是基于数据集的。

建一个Cube首先就是要选择Cube的数据集,所以先创建自己的数据源和数据集。

本例中我们建了一个名为crossTabDataSet 的数据集,数据集的预览如下图所示:2.2创建Cube在Data Exployer页的Cubes下面增加一个Cube,本例中,我们将Cube命名为TestCube,数据集选择我们刚才新建的crossTabDataSet。

2.3设置Cube的GroupGroup的设置页面如下:把我们需要在交叉表的维度拖到Groups的Group下。

(可以根据多个维度建立多个Group)2.4设置CrossTab然后,在设计面板中,双击Crosstab,在弹出的窗口中,选择我们刚才建好的Cube,点击‘Ok’。

设计页面上上出现了一个CrossTab的表格。

然后,打开DataExplor页,将Cube的维度和度量相应地拖放到规定的地方。

如下图所示。

预览效果如下图所示:至此,一个交叉表就完成了2.5给交叉表设置附加列如果想要出现本文开头的交叉表的效果(即:行小计和列小计计算结果),进行如下设置:右键单击横向维度右边的小三角,点击菜单中的Aggregation项:在出现的对话框中,将GrandTotals栏目中的NUM选上,Function选择Sum函数,OK即可。

Excel数据表与数据交叉报表设计

Excel数据表与数据交叉报表设计

Excel数据表与数据交叉报表设计Excel表格是一种广泛应用于数据管理和分析的工具,它可以帮助我们整理、存储和展示数据。

数据交叉报表则是Excel中一个非常有用的功能,可以将数据进行汇总和透视,帮助我们更好地理解和分析数据。

本文将介绍Excel数据表的设计原则和数据交叉报表的制作方法,帮助读者更好地运用Excel进行数据分析。

一、Excel数据表的设计原则设计一个合理的Excel数据表是进行数据交叉报表的基础。

以下是一些设计原则,有助于提高数据管理的效率和准确性。

1. 规范字段命名:为每个字段选择一个清晰明确的名称,避免使用复杂或重复的命名。

字段名应当能够准确描述该字段所代表的意义。

2. 避免合并单元格:合并单元格虽然可以在外观上提供更好的展示效果,但在数据管理上会引起一些问题。

当我们对数据进行筛选或排序时,合并单元格的数据会分开,导致数据错乱。

3. 数据验证和格式控制:利用Excel的数据验证功能,限制数据输入的范围和格式。

这样可以避免数据录入错误,保持数据的准确性。

4. 分割大数据表:当数据表过于庞大时,可以通过拆分成多个子表来提高数据管理的效率。

每个子表应当具有清晰的逻辑和独立的主题,以便于后续的数据分析和报表制作。

二、数据交叉报表的制作方法数据交叉报表是一种将数据进行透视和汇总分析的报表形式,它可以根据需求对数据进行不同的分析和展示。

下面介绍一些制作数据交叉报表的方法和技巧。

1. 数据透视表:数据透视表是Excel中非常强大且易于使用的功能,可以帮助我们轻松制作数据交叉报表。

通过拖拽字段到透视表中的行、列和值区域,我们可以对数据进行多维度的分析和汇总。

例如,我们可以将销售数据按照地区、产品和时间进行交叉分析,从而得到销售额的详细报表。

2. 条件格式:利用条件格式功能,我们可以根据数据的具体情况对单元格进行格式化。

通过设置不同的条件和规则,可以将数据以不同的颜色、图标或其他方式进行标注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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_ID
and EBANK.CONTRACTSUM.PRODUCT= EBANK.PRODUCT.PRODUCT_ID
2.如果创建正确,在结果预览窗口“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:选择相关的数据集。

打开下拉菜单选择之前建立的数据
集contract
3.在左边的主菜单中选择第二项“Groups and Summeries”,出现如下窗口(),在将Available Fields中的CUSTOMER_NAME拖拽到右边Groups (Dimensions)中标有“(Drop a field here to create a group)”的地方,如下图。

拖拽完毕之后弹出如下窗口:所有选项都选默认数据。

点击“OK”进入下一步
4.按照地4步的方法,将Available Fields中的PRODUCT_NAME也拖拽到右边的对应地方。

5.将Available Fields中的AMOUNT拖拽到右边Summary Fields(Measures)中标有“(Drop a field here to create a summary field)”的地方。

弹出下面窗口,同样选择默认数据,点击“OK”进入下一步。

数据设定好以后,我们可以在“Data Explorer”看到Data Cubes的信息如下图:
向交叉表插入数据
1.在Data Explorer视图中,将Customer Cube中的CUSTOMER_NAME拖拽并放置于布局编辑器中Cross Tab的标有“Drop data field(s)to define rows here”的区域中。

如下图:
同第一步,将Customer Cube中的PRODUCT_NAME拖拽并放置于布局编辑器中的Cross Tab中标有“Drop data field(s)to define rows here”的区域中;然后将Customer Cube中的AMOUNT拖拽并放置于布局编辑器中的Cross Tab中标有“Drop data field(s)to be summarized here”的区域中。

上图
所示:
2.完成上述步骤之后,布局编辑器中的Cross Tab出现如下图中的样式:我们将Cross Tab中第二列的AMOUNT的标题菜单删掉。

如果不去掉,就会在报表的产品标题菜单下方出现一行“AMOUNT”的标题,,不仅多于,而且影响美观。

加入汇总
1.点击Cross Tab左下角的“Cross Tab”图标选中本交叉表。

在Property Editor 属性编辑器中选择“Row Area”,如下图:
在左边的选项栏中选择第二个选项“Grand Totals”
2.点击“Add”,添加行汇总元素。

弹出如下窗口:
选用默认的数据,点击“OK”进入下一步。

3.在Property Editor属性编辑器中选择“Colum Area”,同第一步加入列汇总。

添加完毕,布局编辑器出现如下视图:
这样,一张交叉汇总表基本上完成了。

格式化报表
格式化报表:
预览如下图:
同为比较常用的报表工具,FineReport对交叉报表的解决方案和实现方法与BIRT有所不同,具体实现思路和步骤如下,供BIRT使用者借鉴:
1.概述
交叉表,也是常见的基本报表类型,分组报表只是从上到下将数据分组显示,而交叉表则是从上到下、从左到右都将数据分组的报表,如下图:
FineReport天然支持行列对称,设计交叉表的方法也很简单。

2.制作步骤
2.1新建工作簿,添加数据集
新建工作薄,添加数据集ds1,SQL语句为SELECT*FROM[销量]。

2.2制作交叉表
设计好表样后,将数据列拖入对应单元格:
纵表头:地区与销售员默认纵向扩展实现从上到下分组;
横表头:将产品类型与产品设置为从左到右扩展,让产品横向分组,实现横表头;
数据:根据父子格的概念,销量会以销售员为左父格,产品为上父格,自动匹配出销售员与产品对应的销量。

预览即可看到上图交叉表。

注:此处销售员与产品对应的销量是唯一的,因此,直接将销量拖入单元格即可。

另:若销售员与产品对应的销量不唯一,则将销量数据列的显示方式设为汇总-求和,详细请查看数据显示方式。

2.3保存并发布。

相关文档
最新文档