ireport 4.5教程之交叉表
Excel中的数据表进行交叉分析和数据汇总
![Excel中的数据表进行交叉分析和数据汇总](https://img.taocdn.com/s3/m/e017da5dc4da50e2524de518964bcf84b9d52dd4.png)
Excel中的数据表进行交叉分析和数据汇总Excel是一款功能强大的电子表格软件,广泛应用于数据管理和数据分析领域。
在Excel中,我们可以利用数据表进行交叉分析和数据汇总,以便更好地理解和解释数据。
本文将介绍如何在Excel中进行这些操作,并提供一些实用的技巧和注意事项。
一、交叉分析交叉分析是指通过对多个变量进行组合,对数据表中的数据进行交叉比较和统计分析,从而探索不同变量之间的关系和趋势。
在Excel中,我们可以利用数据透视表和数据透视图来进行交叉分析。
1. 数据透视表数据透视表是一种快速、灵活且易于使用的分析工具,可以帮助我们从大量的数据中提取有用的信息。
使用数据透视表,我们可以对数据进行透视、汇总、过滤和分析。
创建数据透视表的步骤如下:(1)选择数据表中的任意一个单元格,并点击Excel菜单栏中的“数据”选项卡。
(2)在“数据”选项卡中的“数据工具”分组中,点击“数据透视表”按钮。
(3)选择要分析的数据范围,然后选择创建数据透视表的位置。
(4)在数据透视表字段列表中,将需要进行交叉分析的字段拖放到“行”、“列”或“值”区域中。
(5)根据需要,对数据透视表进行格式化、排序、筛选等操作。
通过数据透视表,我们可以方便地对数据进行交叉分析和统计,比如计算总和、平均值、最大值、最小值等,同时可以根据不同字段的值进行分类汇总。
2. 数据透视图除了数据透视表,Excel还提供了数据透视图的功能,可以直观地展示数据的交叉分析结果。
数据透视图通常以交叉表的形式展示数据,并通过颜色、图表等方式对数据进行可视化呈现。
创建数据透视图的步骤如下:(1)在数据透视表的基础上,点击“数据透视表分析工具”选项卡。
(2)在“工具”选项卡中的“报表”分组中,点击“数据透视图”按钮。
(3)根据需要,选择交叉表的布局和样式。
(4)点击“确定”按钮,生成数据透视图并展示交叉分析的结果。
通过数据透视图,我们可以更直观地理解和解释数据,快速发现数据中的规律和趋势。
JasperReport报表开发之转置交叉表
![JasperReport报表开发之转置交叉表](https://img.taocdn.com/s3/m/db97a55ce418964bcf84b9d528ea81c758f52ed6.png)
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例如以下:须要注意的是。
序表类似数据库结果集,也是结构化⼆维表。
但序表是泛型的,同⼀个字段能够存储不同的数据类型,序表也是有序的,能够按序号訪问数据。
react中 实现table交叉透视表
![react中 实现table交叉透视表](https://img.taocdn.com/s3/m/1182e590b04e852458fb770bf78a6529647d35c4.png)
一、什么是交叉透视表?交叉透视表是一种数据分析工具,通过行、列以及数据的聚合来展示数据的交叉分析结果。
在数据分析中,交叉透视表可以帮助用户快速、直观地理解数据之间的关系,发现数据内在的规律和趋势。
在实际应用中,交叉透视表通常用于数据的多维分析和报表制作,对于大数据分析和决策支持具有重要的作用。
二、为什么要在React中实现交叉透视表?在Web应用开发中,React作为一种流行的前端框架,被广泛应用于构建复杂的用户界面。
交叉透视表作为数据分析工具,在Web应用中的实现能够让用户直接在页面上进行数据分析和可视化展示,提高了用户的交互体验和工作效率。
将交叉透视表的功能集成到React应用中,可以为用户提供更加丰富、灵活的数据分析工具。
三、实现交叉透视表的关键技术及步骤1. 数据的准备与读取:在React中实现交叉透视表的第一步是准备数据并进行读取。
通常情况下,我们需要将数据从后端或者本地文件中获取并加载到前端页面中。
这里可以使用React提供的组件来实现数据的读取和展示。
2. 交叉表的计算与生成:一旦数据准备就绪,接下来就需要进行交叉表的计算和生成。
这一步通常涉及到对数据进行分组、聚合和透视等操作,以得到用户想要展示的交叉表结果。
在React中,可以借助第三方的数据分析库或者自定义函数来实现交叉表的计算和生成。
3. 表格的展示与交互:最后一步是将计算得到的交叉表展示在页面上,并实现相应的交互功能。
在React中,可以利用表格组件来展示交叉表的结果,并通过事件处理函数来实现用户的交互操作,如排序、筛选、导出等功能。
也可以结合React提供的图表组件,将交叉表的结果以图形化的方式展示出来。
四、React中实现交叉透视表的实际案例以一个实际的案例来展示在React中如何实现交叉透视表。
假设我们有一份销售数据,包括产品类别、销售日期、销售金额等字段,我们希望通过交叉透视表来展示不同产品类别在不同时间段的销售金额总和。
如何使用Excel进行数据表的交叉分析
![如何使用Excel进行数据表的交叉分析](https://img.taocdn.com/s3/m/8a698747e97101f69e3143323968011ca300f73d.png)
如何使用Excel进行数据表的交叉分析数据交叉分析是一种有效的数据分析方法,可以帮助我们发现不同变量之间的关系和趋势。
Excel是一款强大的电子表格软件,提供了丰富的功能和工具,可以方便地进行数据交叉分析。
本文将介绍如何使用Excel进行数据表的交叉分析,并给出相应实例。
步骤一:准备数据表格首先,我们需要准备一个包含待分析数据的表格。
这个表格应该包含多列,每列代表一个变量,每行代表一个数据点。
确保每个变量和数据点都有清晰的标题,以便后续分析。
步骤二:选择数据表格在Excel中,点击并拖动鼠标来选择整个数据表格。
确保选择的区域包含了所有的变量和数据点,不要包含其他无关信息。
步骤三:打开数据分析工具在Excel的菜单栏中,点击“数据”选项,然后选择“数据分析”。
如果没有看到“数据分析”选项,说明此功能未启用,需要先启用。
点击“文件”选项,再选择“选项”,在“附加组件”中启用“数据分析工具”。
步骤四:选择交叉分析工具在“数据分析”对话框中,找到并选择“交叉分析”工具。
点击“确定”按钮进入交叉分析工具。
步骤五:设置交叉分析参数在交叉分析工具中,需要设置一些参数来指定交叉分析的具体方式。
首先,选择需要进行交叉分析的变量,以及设置相应的行和列标签。
其次,选择所需的统计指标,如平均值、总和或计数。
最后,选择输出结果的位置,可以选择在一个新的工作表或已存在的工作表中输出结果。
步骤六:运行交叉分析上述参数设置完成后,点击“确定”按钮,Excel将开始进行交叉分析计算。
这个过程可能需要一些时间,取决于数据的大小和复杂性。
请耐心等待,直到分析完成。
步骤七:查看交叉分析结果Excel完成交叉分析计算后,会将结果显示在选择的输出位置中。
这些结果将按照所选的行和列标签进行分类,并显示所选的统计指标。
可以通过对结果进行排序、筛选和格式化等方式,更好地理解和展示分析结果。
实例演示:为了更好地理解如何使用Excel进行数据表的交叉分析,我们以一个销售数据表为例进行演示。
实用的Excel技巧利用数据表创建交叉报表
![实用的Excel技巧利用数据表创建交叉报表](https://img.taocdn.com/s3/m/726453e2f424ccbff121dd36a32d7375a417c691.png)
实用的Excel技巧利用数据表创建交叉报表Excel是一款功能强大的办公软件,被广泛应用于数据处理、分析和报表制作等工作中。
在Excel中,利用数据表可以方便地整理和分析大量的数据。
交叉报表作为一种常见的数据分析报表,能够将数据按照不同的维度进行汇总和对比,提供了更加直观和清晰的数据展示方式。
本文将介绍一些实用的Excel技巧,帮助您利用数据表创建交叉报表。
一、数据表的创建与管理1. 数据表的创建:在Excel中创建数据表可以将数据和结构分离,使得数据的管理和分析更加简单和灵活。
首先,将数据导入Excel中,然后选中数据区域,点击“数据”选项卡中的“数据工具”组中的“数据表”按钮,Excel将自动创建一个数据表,同时添加筛选和排序功能。
2. 数据表的管理:在数据表中,可以使用筛选和排序等功能对数据进行管理和分析。
点击数据表的标头上的下拉箭头,可以快速筛选数据。
另外,点击标头上的箭头图标可以对数据进行排序,根据需要将数据按照升序或降序排列。
二、交叉报表的创建与设计1. 数据透视表:在Excel中,使用数据透视表可以轻松地创建交叉报表。
首先,选中需要创建交叉报表的数据表,然后点击“插入”选项卡中的“数据透视表”按钮。
在数据透视表对话框中,将需要分析的字段拖放到相应的区域,如“行”、“列”、“值”和“筛选”区域,Excel会自动根据选择的字段创建交叉报表。
2. 自定义交叉报表:在创建数据透视表的基础上,可以进行进一步的设置和调整,以满足个性化的需求。
点击数据透视表中的数据字段,可以选择相应的汇总方式,如求和、计数、平均值等。
另外,还可以对交叉报表进行样式和格式的设置,例如修改表格的字体、颜色和边框等。
三、交叉报表的数据分析和展示1. 数据汇总分析:交叉报表可以对数据按照不同的维度进行汇总和分析。
例如,在交叉报表中,可以将销售数据按照产品类型和区域进行汇总和分析,了解不同产品在不同区域的销售情况。
同时,还可以根据需要进行数据的透视、钻取和分组等操作,深入挖掘数据背后的规律和趋势。
ireport交叉报表
![ireport交叉报表](https://img.taocdn.com/s3/m/2dd99ffb941ea76e58fa0426.png)
ireport 交叉报表(转)关键字: ireportjasperReports1.1.1增加了对交叉报表的支持,下午看了下它的三个例子.暂时记下收获:一直对交叉报表的具体定义不太明了.个人理解是报表的行和列都是从数据库中读去的而不是普通那种列固定行是从数据库中读取(这里的数据源不一定是来自关系数据库).crosstab 的dtt定义为:<!ELEMENT crosstab (reportElement, crosstabParameter*, parametersMapExpression?, crosstabDataset?, rowGroup*, columnGroup*, measure*, crosstabCell*, whenNoDataCell?)><!A TTLIST crosstabisRepeatColumnHeaders (true | false) "true"isRepeatRowHeaders (true | false) "true"columnBreakOffset NMTOKEN "10">crosstabParameter:是交叉表中要用到的参数如下:<crosstabParameter name="Country" class="ng.String"><parameterV alueExpression>$F{ShipCountry}</parameterV alueExpression></crosstabParameter>这个就是把总表的一个域定义到交叉表的一个参数Country,这样在交叉表的数据集的查询或其他地方就可以使用这个参数了交叉表的参数定义:<crosstabParameter name="Country" class="ng.String"><parameterV alueExpression>$F{ShipCountry}</parameterV alueExpression></crosstabParameter>这里定义了一个参数Country,他的来源是主表的ShipCountry域.crosstabDataset:交叉表允许有自己的数据集如下:<crosstabDataset><dataset><datasetRun subDataset="Country_Orders"><datasetParameter name="Country"><datasetParameterExpression><![CDA TA[$F{ShipCountry}]]></datasetParameterExpression> </datasetParameter></datasetRun></dataset></crosstabDataset>在这个例子中引用了预定义的子数据集Country_Orders(下面会有这个的定义),并且把子数据集中要用到的一个参数的数据来源传递过去.下面是那个子数据源的定义:<subDataset name="Country_Orders"><parameter name="Country" class="ng.String"/><queryString><![CDA TA[SELECT ShippedDate, ShipRegion, ShipCity, FreightFROM OrdersWHEREShipCountry = $P{Country} ANDShippedDate IS NOT NULL]]></queryString><field name="ShippedDate" class="java.sql.Timestamp"/><field name="ShipRegion" class="ng.String"/><field name="ShipCity" class="ng.String"/><field name="Freight" class="ng.Float"/></subDataset>在这个例子中定义了子数据源Country_Orders,他用到了参数Country,我门可以再上面看到这个参数在交叉表中的定义,以及在交叉表的数据源的指定时把参数的来源ShipCountry也传了过去. 下面是交叉表的列头和行头的来源指定:<rowGroup name="Region" width="50" totalPosition="End"><bucket><bucketExpression class="ng.String">$F{ShipRegion}</bucketExpression></bucket><crosstabRowHeader><cellContents><box leftBorder="2Point" bottomBorder="2Point" rightBorder="2Point"/><textField><reportElement x="5" y="5" width="40" height="40"/><textFieldExpression><![CDA TA[$V{Region} == null ? "No region" : $V{Region}]]></textFieldExpression></textField></cellContents></crosstabRowHeader><crosstabTotalRowHeader><cellContents backcolor="#60FFFF"><box leftBorder="2Point" bottomBorder="2Point" rightBorder="2Point"/><textField><reportElement x="5" y="5" width="110" height="20"/><textFieldExpression>$P{Country} + " Total"</textFieldExpression></textField></cellContents></crosstabTotalRowHeader></rowGroup>可以看到在上面这段代码中行的标题的指定包含了两部分crosstabRowHeader和crosstabTotalRowHeader.其中bucket来指定这个行标题的分组表达式,同时为他指定了一个名字也就是行分组名字Region,这样在下面可以按一个变量的形式来引用他.列的标题指定与此类似:<columnGroup name="ShipY ear" height="30" totalPosition="End" headerPosition="Stretch"><bucket><bucketExpressionclass="java.util.Date">CrosstabApp.truncateToY ear($F{ShippedDate})</bucketExpression> </bucket><crosstabColumnHeader><cellContents><box topBorder="2Point" bottomBorder="2Point" rightBorder="2Point"/><rectangle radius="10"><reportElement x="4" y="4" width="52" height="22"/><graphicElement pen="1Point"/></rectangle><textField pattern="yyyy"><reportElement x="5" y="5" width="50" height="20"/><textElement textAlignment="Center" verticalAlignment="Middle"/><textFieldExpression class="java.util.Date">$V{ShipY ear}</textFieldExpression></textField></cellContents></crosstabColumnHeader><crosstabTotalColumnHeader><cellContents backcolor="#FFFF60"><box topBorder="2Point" bottomBorder="2Point" rightBorder="2Point"/><staticText><reportElement x="5" y="5" width="20" height="15"/><text>Total</text></staticText></cellContents></crosstabTotalColumnHeader></columnGroup>下面就是为具体单元格的显示样式及内容:<crosstabCell rowTotalGroup="Region" columnTotalGroup="ShipY ear"><cellContents backcolor="#60FF60"><box bottomBorder="1Point" rightBorder="1Point"/><textField pattern="#0.0"><reportElement x="0" y="0" width="30" height="30" style="Arial_Bold"/><textElement textAlignment="Right" verticalAlignment="Middle"/><textFieldExpression class="ng.Float">$V{FreightSum}</textFieldExpression></textField></cellContents></crosstabCell>这里:rowTotalGroup,columnTotalGroup分别指定了这类单元格要显示的对应行列分组,也可以只有部分指定,如只指定行或列或行和列都不指定,这样分别有他门自己的意思.对于这个我们工可写出4中类型的crosstabCell,再这之前回有个显示内容的定义:如下<measure name="FreightSum" class="ng.Float" calculation="Sum"><measureExpression>$F{Freight}</measureExpression></measure>这里定义了一个变量FreightSum,他的来源是$F{Freight},计算类型是Sum,我们可以按自己的需求改动这些.对于是多大范围的数据进行Sum,就由引用这个变量的crosstabCell 所指定的行和列来划定.对于上面那个就是由Region和ShipY ear来决定的总计.另:我门也可以对行和列进行多个分组,方法类似,具体可参考例子ShipmentsReport。
如何利用Excel进行数据的交叉分析
![如何利用Excel进行数据的交叉分析](https://img.taocdn.com/s3/m/8de2514e53ea551810a6f524ccbff121dc36c56d.png)
如何利用Excel进行数据的交叉分析Excel 是一款功能强大的电子表格软件,可以帮助用户处理和分析大量的数据。
其中,交叉分析是一种常用的数据分析方法,通过Excel 的数据透视表功能,可以方便地进行交叉分析。
本文将介绍如何利用Excel 进行数据的交叉分析。
一、数据准备在进行数据的交叉分析之前,首先需要准备好待分析的数据。
通常,数据应该放在一个表格中,每一列代表一个变量,每一行代表一个观察点或者样本。
确保数据的完整性和准确性是进行交叉分析的重要前提。
二、创建数据透视表1. 打开Excel,并将准备好的数据导入到Excel 中。
2. 选中数据区域,点击菜单栏中的“插入”选项,并选择“数据透视表”。
3. 在弹出的对话框中,确认数据区域和位置,点击“确定”。
4. 在数据透视表字段列表中,将需要进行交叉分析的变量拖动到“行标签”和“列标签”之间的区域。
可以将多个变量拖动到同一标签区域进行多重交叉分析。
5. 将需要分析的数值变量拖动到“值”区域,选择相应的统计方法,如计数、求和、平均值等。
6. 根据需要,可以对数据透视表进行进一步的设置和调整,比如筛选数据、设置排序、添加计算字段等。
三、数据分析和解读通过创建的数据透视表,可以进行数据的交叉分析和比较。
根据数据透视表的视图呈现,我们可以得到以下几个方面的信息:1. 变量之间的交叉关系:通过查看数据透视表,可以直观地了解各个变量之间的关系。
比如,通过交叉分析销售数据中的产品类别和销售区域,可以了解不同产品在不同区域的销售情况,进而指导制定销售策略。
2. 统计指标的对比和比较:通过选择不同的统计方法,可以对数据进行比较和分析。
比如,可以比较不同产品的销售额和销售量,找出最畅销的产品。
3. 数据的筛选和过滤:数据透视表还提供了筛选和过滤的功能,可以根据需要快速地筛选出符合条件的数据。
比如,可以筛选出某个时间段内的销售数据,或者某个区域的销售数据,以便进行更加精细的分析。
Excel中的数据透视表计算与交叉报表
![Excel中的数据透视表计算与交叉报表](https://img.taocdn.com/s3/m/6c79f42e6fdb6f1aff00bed5b9f3f90f76c64dd6.png)
Excel中的数据透视表计算与交叉报表数据透视表是Excel中一个非常强大的数据分析工具,它可以帮助用户快速、灵活地汇总和分析大量的数据。
通过数据透视表,我们可以轻松地对数据进行分类、汇总、计算和分析,从而更好地理解数据背后的规律和趋势。
同时,Excel还提供了交叉报表功能,使得数据透视表更加灵活和强大。
数据透视表的基本操作非常简单,只需要将需要分析的数据拖拽到相应的区域即可。
首先,我们需要选择需要分析的数据范围,包括数据的列名和行名。
然后,我们将需要分析的数据拖拽到数据区域,Excel会自动根据数据的类型进行汇总计算。
例如,我们可以将销售数据按照产品分类和地区进行汇总,得到不同产品在不同地区的销售情况。
除了基本的汇总计算,数据透视表还提供了丰富的计算功能。
通过设置数据透视表的数值字段,我们可以对数据进行求和、平均、计数等计算操作。
例如,我们可以计算不同产品的销售总额、平均销售额和销售数量等。
同时,数据透视表还支持自定义计算项和计算字段,使得我们可以根据具体需求进行更加复杂的计算。
数据透视表的另一个重要功能是数据的筛选和筛选器。
通过设置筛选器,我们可以根据特定的条件对数据进行筛选,从而只显示满足条件的数据。
例如,我们可以根据销售额的大小筛选出销售额最高的产品或者筛选出某个地区的销售情况。
筛选器可以帮助我们更加快速和准确地找到需要分析的数据,提高数据分析的效率和准确性。
除了数据透视表,Excel还提供了交叉报表功能,使得数据透视表更加灵活和强大。
交叉报表可以将数据按照不同的维度进行交叉分析,从而更好地理解数据的关系和影响因素。
通过交叉报表,我们可以将数据按照不同的维度进行交叉分析,例如将销售数据按照产品和时间进行交叉分析,得到不同产品在不同时间的销售情况。
交叉报表可以帮助我们更加全面地了解数据的特点和规律,从而做出更加准确和有针对性的决策。
在使用数据透视表和交叉报表时,我们还需要注意一些细节和技巧。
ExcelVBAADOSQL入门教程017:交叉表查询
![ExcelVBAADOSQL入门教程017:交叉表查询](https://img.taocdn.com/s3/m/490b472f82c4bb4cf7ec4afe04a1b0717fd5b393.png)
ExcelVBAADOSQL入门教程017:交叉表查询1.诸君好,我们今天聊SQL查询语句中的交叉表查询。
先说下什么是交叉表。
赌五根黄金,交叉表这个名字你可能陌生,但样子却肯定不陌生,赢了算我的,输了算老祝的……简而言之,交叉表就是一种分类汇总的二维表,由行和列两个变量汇总数据,例如下图所示的表格即是一份交叉表,成绩由姓名(行)和学科(列)共同分组定义:在SQL IN EXCEL中,实现交叉表查询的语句是TRANSFORM,其语法如下:TRANSFORM aggfunctionSELECT statementPIVOT pivotfield [IN (value1[, value2[, ...]])]语法看不懂哦?看不懂才正常呀,一眼就看懂那就扫地僧了不是?2.我们在第一章的时候讲过,对于没有VBA编程基础的EXCELer而言,SQL常和透视表搭配使用——透视表相信大家是不陌生的;它有四块区域构成,分别是筛选、行、列和值。
好端端的,怎么又扯到透视表去了呢?手拿开,男男授受不亲,没事乱摸我额头作甚,哥没烧糊涂。
我们之前说TRANSFROM语法如下TRANSFORM aggfunction SELECT statement PIVOT pivotfield [IN (value1[, value2[, ...]])]以透视表来比较,TRANSFORM 后的aggfunction,对应的是透视表的值区域,SELECT的statement对应的是透视表的行字段(透视表的行字段肯定是去重归类的),而PIVOT则是对应透视表的列字段。
因此TRANSFROM的语法汉化后如下:TRANSFROM 聚合值字段SELECT 行字段 FROM 数据源 GROUP BY 分组行字段PIVOT 分组列字段……说好的SELECT指定行字段,怎么又多出来FROM 和 GROUP BY 子句了呢?这是因为SELECT是指SELECT语句,而不是SELECT子句呀。
ireport中table的用法
![ireport中table的用法](https://img.taocdn.com/s3/m/71a9c2838ad63186bceb19e8b8f67c1cfad6eee2.png)
一、概述iReport是一个非常强大的报表设计工具,它可以帮助用户轻松地创建复杂的报表,并且提供了丰富的功能和工具供用户使用。
其中,table是iReport中非常常用的一个元素,它可以用来展示数据、设置样式和格式化数据等。
本篇文章将介绍iReport中table的用法,包括如何创建table、设置table的属性、添加数据等内容。
二、创建table1. 打开iReport设计工具,新建一个报表模板。
2. 在报表模板中找到“Palette”区域,选择“Table”元素,拖拽到报表模板的合适位置。
3. 设置table的大小和位置,可以通过拖拽来调整大小,也可以通过属性设置来调整。
4. 至此,一个table就创建完成了。
三、设置table的属性1. 双击table元素,打开table的属性设置窗口。
2. 在“General”选项卡中,可以设置table的名称、位置、大小等基本属性。
3. 在“Columns”选项卡中,可以设置table的列数、列名、数据类型等。
4. 在“Style”选项卡中,可以设置table的样式,如背景颜色、边框样式、字体样式等。
5. 在“Advanced”选项卡中,可以设置table的高级属性,如数据过滤、排序、分组等。
四、添加数据1. 在iReport设计工具中,可以使用“Dataset”元素来获取数据。
2. 将数据集拖拽到table元素中,数据就会显示在table中。
3. 可以根据需要设置数据的显示格式、计算字段、合计值等。
五、其他操作1. 在table中可以进行数据的编辑、删除、添加等操作。
2. 可以设置table的交叉报表、合并单元格、设置条件格式等高级操作。
3. 可以通过预览功能来查看table的效果,进行调整和优化。
六、总结通过本文的介绍,相信读者对iReport中table的使用有了更深入的了解。
table是iReport中非常重要的一个元素,它可以帮助用户展示数据、设置样式、格式化数据等。
Ireport制作交叉表
![Ireport制作交叉表](https://img.taocdn.com/s3/m/51c39980cc22bcd126ff0c3d.png)
Ireport制作交叉表1、打开iReport软件,【文件】——>【New】,选择一个报表模版,(以选择第一个模版为例),然后选择“Open this Template”,如图1.1所示。
进入下一个页面,填写文件名,选择文件的存放位置,单击【下一步】,再点击【完成】。
图1.12、从【组件面板】中拖拽“StaticText”控件到“Page Header”部分,双击该控件来填写报表的题目——“学生成绩单“(可从“窗口”菜单中打开【组件面板】)。
3、单击图3.1中的图标,打开如图3.2所示的窗体,在【Reportquery】如图3.2光标所在的位置填写相应的SQL语句:selects.student_name_,s.subject_name_ as subject, s.grade_ fromstudent s。
图3.1图3.24、如图4.1所示,注意要勾选上“AutomaticallyRetrieve Fields”属性,使系统自动读取select 出来的字段,如图蓝色底儿的区域。
之后点击【OK】按钮(注意:不是窗体的“ד)。
同时,这些字段也会在【ReportInspector】窗体的“Fields”区域显示,如图4.2所示。
图4.1图4.25、从“组件面板”中拖拽“Crosstab”控件(如图5.1)到“Summary”部分(注意交叉表必须放置在这个区域),会出现如图5.2所示的窗体,单击“下一步”,如图5.3所示,在“Row Group 1”处从查询出来的字段中选择“student_name_”作为每行的行标题,之后,单击“下一步”,如图5.4所示的,从“ColumnGroup 1”处选择“subject”作为每列的列标题,再单击“下一步”,如图5.5,在“Date”处选择“grade_”作为表中的数据,如图5.6,对每个学生的成绩进行求和,如图5.7所,显示每个学生的总成绩,不显示每科的总成绩。
ireport 4.5教程之ireport快速入门文档
![ireport 4.5教程之ireport快速入门文档](https://img.taocdn.com/s3/m/52d354dc240c844769eaeec3.png)
ireport4.5教程之ireport快速入门文档必要条件:iReport需要Sun Java2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。
如果你还想编译iReport 源代码,你还要安装Jakarta Ant version1.6以上版本。
硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要只少256Mb的内存和至少20Mb的磁盘空间。
下载:你可以到SourceForge网站上的企业主页上下载最新发布的iReport,可能有几种不同的分类:iReport-x.x.x.zip这是官方的zip格式的二进制文件。
iReport-x.x.x.tgz这是官方的tar gz格式的二进制文件。
iReport-x-x-x-src.zip这是官方的包含源代码的zip格式的二进制文件。
x.x.x表明了iReport的版本号。
每一种都包含必须使用的第三方的库和程序及附加文件,例如模板和一些html格式的基础教程。
如果你想要更多最新版本的源程序,你可以直接地连接CVS库。
但必须要有一个CVS客户端(像CVS,JCVS或者WinCVS)。
如果你有CVS那就执行如下的命令行:cvs-d:pserver:anonymous@:/cvsroot/ireportlogin(目前好象无法连接)and then all on the same line…cvs-z3-d:pserver:anonymous@:/cvsroot/ireportco iReport2这样CVS客户端就可以将iReport的所有文件下载到本地,包括所有的文档,库和所有有用的编译iReport的文件。
就使用其他CVS的用户来说,SourceForge网站也自制了详细的解释用来检出工程。
编译iReport:这些源中包含一个build.xml文件,它是被Jakarta Ant用来编译和启动iReport和或用来创建不同类型的工程。
用iReport制作交叉表(CrossTabs)
![用iReport制作交叉表(CrossTabs)](https://img.taocdn.com/s3/m/b72eb17d27284b73f242500d.png)
用iReport制作交叉表(CrossTabs) 立方开源商业智能一个CrossTabs是一种在设计的时候既不确定行数和也不确定列数的一种表格,在运行环境下它会像下面显示的不同年份的一个销售报表一样。
CrossTabs在jasperresports中从1.1.0版本时开始提供,同时iReport也从1.1.0开始支持CrossTabs。
Jasperreports的CrossTabs工具允许对行和列的数据进行分组、汇总和自定义每一个cell里的内容。
填充CrossTab的数据可以来自主报表里的dataset或来自subDataset。
使用iReport里提供的向导我们可以简单快速的创建功能强大的交叉报表组件。
一个CrossTabs本质上是一个表格,行和列的数量取决于填充这个表格的数据。
行和列也可以在groups里做聚合操作。
对于每一个行或列的group我们都可以得到一个细节信息和一个可选的行列数据的汇总。
16.1 交叉表向导 (Crosstab wizard)为了说明怎么让一个crosstab工作起来,我们将使用向导创建一个crosstab,当我们在工具条里选择crosstab元素并将其添加到报表中时crosstab的向导会自动启动。
还是以DoradoSample里提供的hsql数据里的employee报为例,我们使用包含下面查询语句的空报表开始:Select * from employee我们把crosstab放在报表的底部:summary band图16.1在第一步里我们需要选择一个dataset来填充crosstab,我们这里使用主报表里提供的dataset,点击下一步继续。
图16.2在第二步里我们需要定义至少一个行分组.我们这里选择对所有记录使用DEPT_ID进行分组。
这样就意味着crosstab的每一行将会采用一个明确的部门编号,这样JasperReports将会使用部门编号对数据集里的数据进行重新整理计算。
ireport 4.5教程之交叉表
![ireport 4.5教程之交叉表](https://img.taocdn.com/s3/m/da5e1411a76e58fafab003b0.png)
ireport4.5教程之交叉表一个CrossTabs是一种在设计的时候既不确定行数和也不确定列数的一种表格,在运行环境下它会像下面显示的不同年份的一个销售报表一样。
水果/年份200420052006草莓野生樱桃CrossTabs在jasperresports中从1.1.0版本时开始提供,同时iReport 也从1.1.0开始支持CrossTabs。
Jasperreports的CrossTabs工具允许对行和列的数据进行分组、汇总和自定义每一个cell里的内容。
填充CrossTab的数据可以来自主报表里的dataset 或来自subDataset。
使用iReport里提供的向导我们可以简单快速的创建功能强大的交叉报表组件。
一个CrossTabs本质上是一个表格,行和列的数量取决于填充这个表格的数据。
行和列也可以在groups里做聚合操作。
对于每一个行或列的group我们都可以得到一个细节信息和一个可选的行列数据的汇总。
交叉表向导(Crosstab wizard)为了说明怎么让一个crosstab工作起来,我们将使用向导创建一个crosstab,当我们在工具条里选择crosstab元素并将其添加到报表中时crosstab的向导会自动启动。
还是以DoradoSample里提供的hsql数据里的employee报为例,我们使用包含下面查询语句的空报表开始:Select*from employee我们把crosstab放在报表的底部:summary band在第一步里我们需要选择一个dataset来填充crosstab,我们这里使用主报表里提供的dataset,点击下一步继续。
在第二步里我们需要定义至少一个行分组.我们这里选择对所有记录使用DEPT_ID进行分组。
这样就意味着crosstab的每一行将会采用一个明确的部门编号,这样JasperReports将会使用部门编号对数据集里的数据进行重新整理计算。
iReport柱状图和交叉表画法
![iReport柱状图和交叉表画法](https://img.taocdn.com/s3/m/b3729323cfc789eb172dc87e.png)
iReport柱状图和交叉表画法说明一.一.说明本文所使用的iReport版本为4.5.1。
柱状图的画法二.柱状图的画法二.在数据库中建表,并造一些数据。
phone_sale表明某个品牌的手机某月的销售量,brand代表手机的品牌,sale_month 代表月份,sale_amount代表手机的销售台数。
配置好数据库连接,新建一张报表,点击红色线条上的按钮输入sql语句“select*from phone_sale”之后点击“ok”。
在组件面板点击“chart”按钮之后在弹出的对话框中选择3D柱状图,在之后的弹出的关于柱状图配置的窗口先直接点击“完成”按钮,即可在报表中生成柱状图组件。
很多个柱状图。
可配置柱状图。
点击按钮“Add”照下图进行配置。
确定之后运行报表即可得到柱状图。
Series expression决定的是对数据进行对比的种类,现在设定的是手机的品牌。
Catagory expression控制的是将哪些数据放在一起比较,现在我们给的是月份,将一个月的数据放在一起,进行比较。
Value expression决定的是柱子的高度,现在设定的是手机的销量。
注:这三个参数为必填,但是可以写空字符串,即””。
柱子中显示数字由“Label Expression”决定,此例中是手机销售的台数,需要转成字符串类型。
注:如果没有显示label,有两种情况:第一种是数字太长,柱子太窄,这时只要将柱状图组件拉长一点即可;第二种是bug,在柱状图的属性面板将这个属性先勾掉,再勾中。
交叉表的画法三.交叉表的画法三.还是在刚才画柱状图的报表中,使用同样的数据源和sql语言,不用做任何修改,在组件面板中拖动到报表中的“Summary”区域,即可进入交叉表的配置。
开始配置的是数据源,点击“下一步”即可。
行的分组选择手机的品牌,即Brand。
列的分组选择销售的月份,即Sale_month。
数据部分选择手机销售台数,注意function要选“sum”,如果选“nothing”后统计total部分的值会不正确,这是ireport另一个bug。
Excel中的数据表和数据的交叉分析
![Excel中的数据表和数据的交叉分析](https://img.taocdn.com/s3/m/8ca61a4bba68a98271fe910ef12d2af90242a8cd.png)
Excel中的数据表和数据的交叉分析Excel是一款功能强大的电子表格软件,广泛应用于数据分析、报表制作等工作中。
其中,数据表和数据的交叉分析是Excel中常用的功能之一,它能够帮助我们更全面地理解数据并发现数据之间的相关关系。
本文将介绍Excel中的数据表和数据的交叉分析的具体操作和应用。
一、数据表的创建与管理数据表是Excel中的重要元素,我们可以通过创建和管理数据表来存储和组织各种复杂的数据。
下面将介绍如何在Excel中创建和管理数据表。
1. 创建数据表在Excel中创建数据表非常简单,只需按照以下步骤操作:(1)打开Excel并选择一个工作表;(2)在该工作表中选中需要创建数据表的数据区域;(3)点击“插入”选项卡中的“表”按钮,选择“表格”;(4)确认选中的数据区域,点击“确定”按钮。
2. 数据表的管理创建完数据表后,我们可以对数据表进行以下操作:(1)调整列宽和行高:选中需要调整的列或行,右键点击选择“调整列宽”或“调整行高”并设置合适的数值;(2)添加数据:在数据表的最后一行或列输入数据;(3)删除数据:选中需要删除的数据,按下“Delete”键或右键点击选择“删除”;(4)排序:点击数据表的标题栏,通过“排序和筛选”功能进行排序;(5)筛选:点击数据表的标题栏,通过“排序和筛选”功能进行筛选;(6)编辑数据:双击数据表中的单元格进行数据编辑。
二、数据的交叉分析数据的交叉分析是指通过Excel提供的交叉表功能,将数据按照不同的分类条件进行分析,以便更好地理解数据之间的关系。
下面将介绍如何进行数据的交叉分析。
1. 创建交叉表在Excel中创建交叉表非常简单,只需按照以下步骤操作:(1)选中需要进行交叉分析的数据表区域;(2)点击“插入”选项卡中的“透视表”按钮,选择“透视表和透视图”;(3)在弹出的对话框中选择数据表区域,并将需要进行交叉分析的字段拖放到“行标签”和“列标签”区域;(4)选择需要分析的汇总方式,将其拖放到“值”区域。
使用Excel的数据表进行交叉分析
![使用Excel的数据表进行交叉分析](https://img.taocdn.com/s3/m/c109ac1a59fb770bf78a6529647d27284b7337d4.png)
使用Excel的数据表进行交叉分析数据交叉分析是一种常用的统计方法,旨在发现数据之间的相互关系,并帮助我们更好地理解和解释数据。
在Excel中,我们可以使用数据表进行交叉分析,从而获得更深入和全面的数据洞察。
本文将介绍如何使用Excel的数据表进行交叉分析。
一、数据表简介数据表是Excel中的一项功能强大的工具,它可以帮助我们以直观和易读的方式组织和呈现数据。
数据表可以具有自动筛选、排序和汇总等功能,使我们能够更方便地进行数据分析和数据可视化。
二、创建数据表在开始交叉分析之前,我们首先需要创建一张数据表。
打开Excel 并输入要分析的数据,确保每一列都有相应的标题。
选中数据区域,包括标题和数据,然后点击“插入”选项卡中的“数据表”按钮。
Excel将自动识别数据区域,并将其转换为一个数据表。
三、数据表筛选和排序一旦我们创建了数据表,可以使用其内置的筛选和排序功能,对数据进行探索和分析。
在数据表的每个列标题上点击下拉箭头,可以选择特定的数值或文本进行筛选。
此外,我们还可以根据某一列的数值或文本进行排序,以便更好地理解数据的规律和趋势。
四、数据表汇总数据表的另一个重要功能是数据汇总。
在数据表的底部,我们可以看到一行汇总数据,包括求和、平均值等统计指标的计算结果。
我们还可以通过在底部插入一行,并使用内置函数(如SUM、AVERAGE 等)计算其他自定义的汇总指标。
五、数据表交叉分析数据表交叉分析是数据表的核心功能之一,它可以帮助我们快速地识别数据之间的关系,并发现隐藏在数据中的规律。
在数据表的右上角,我们可以看到一个小型工具栏,包含了各种交叉分析的选项。
1. 列汇总列汇总是最基本的交叉分析方法之一,它可以帮助我们按照某一列的值对数据进行汇总。
选中数据表中的任意单元格,点击工具栏上的列汇总按钮,选择想要汇总的列,Excel将自动按照该列的值进行数据汇总。
2. 数据透视表数据透视表是数据表中更高级的交叉分析方法,它可以帮助我们通过拖放字段来对数据进行多维度的交叉分析。
JasperReport中使用多个数据源的方法
![JasperReport中使用多个数据源的方法](https://img.taocdn.com/s3/m/692c617901f69e3143329431.png)
JasperReport中使用多个数据源的方法廖章 2012年4月15日几经探索,终于寻找到在一个报表中使用多个数据源的方法,现在分享出来以便后来者少走弯路!网上很多资料说多数据源只能使用子报表方式,呵呵!一个报表中使用多个数据源的场景:在同一张报表中,既有交叉表又有饼状图,交叉表与饼状图分别使用不同的数据源。
具体报表格式如下:市民需求情况(2012年1月~2012年3月)办事指南公共服务企业服务社区服务数量458 833 74 244占比28% 52% 5% 15%第一、使用iReport报表设计器设计报表(本人使用iReport4.5.1版本),步骤:1.新建空白报表。
打开iReport软件,点击【File】菜单的【New】子菜单,在弹出的New file窗口中按红色框指示选择,然后点击右下角中间的【Launch Report Wizard】按钮,使用向导来新建一张报表。
在下一个窗口中,输入报表文件名以及选择保存的目录路径,点击【下一步】:在弹出的新窗口中,设置报表使用的查询连接或数据源,可以使用一个jdbc连接或java object数据源,如果前你已经设置有数据源,可以选择你原来的数据源,或者你可以点击【New】按钮新建另外一个数据源,这里我选择新建一个数据源。
新建数据源,这里新建一个JavaBean数据源:在弹出的设置Fields窗口中继续点击【下一步】在弹出的设置Group by…(分组)窗口中继续点击【下一步】新建报表最后一步,按【完成】按钮,至此新建一张空白报表完成。
2.设置报表。
由于目标报表只放置一个交叉表和饼状图表,故报表只需要报表的title和detail两部分其余的page header、column header等不需要(高度设置为0)把其他不需要的band(栏)高度设置为0后,报表如下图:3.为报表添加三个参数:reportTitle(报表标题)、crosstabData(交叉表的数据)、pieData(饼状图数据)。
利用Excel的数据表进行数据的交叉分析
![利用Excel的数据表进行数据的交叉分析](https://img.taocdn.com/s3/m/007a60ba05a1b0717fd5360cba1aa81144318f8a.png)
利用Excel的数据表进行数据的交叉分析数据交叉分析是一种有效的数据分析方法,可以帮助我们理解数据之间的关系,挖掘出内在的规律和趋势。
而Excel是一款强大的电子表格软件,提供了丰富的分析工具和功能,能够方便地进行数据的处理和分析。
本文将介绍如何利用Excel的数据表进行数据的交叉分析,以帮助读者更好地理解和运用Excel进行数据分析。
一、数据表的建立在进行数据交叉分析之前,我们首先需要建立一个数据表,用于存储和组织需要分析的数据。
在Excel中,我们可以选择使用工作表或PivotTable来建立数据表,具体根据需求来选择。
1. 使用工作表建立数据表在Excel中,每个工作表都是由一系列的列和行组成。
为了建立数据表,我们需要根据数据性质来确定列的名称,并在每列中录入相应的数据。
例如,我们有一份销售数据的记录,包括产品名称、销售额、销售日期等信息。
我们可以在Excel的工作表中创建五个列,分别命名为"产品名称"、"销售额"、"销售日期"、"销售地区"和"销售人员",并在每列下方录入相应的数据。
确保每一列的数据格式一致并准确无误。
2. 使用PivotTable建立数据表PivotTable是Excel中的一种数据透视表,可以对数据进行灵活的汇总和分析。
我们可以使用PivotTable来建立数据表,并通过拖拽字段来进行数据的交叉分析。
要使用PivotTable建立数据表,首先需要选中所要分析的数据范围,然后点击"插入"选项卡中的"PivotTable"按钮,选择要将PivotTable放置的位置,并确定数据源范围。
接着,在"PivotTable字段列表"中,将需要分析的字段拖拽到相应的区域,如行标签、列标签或值。
根据需要对字段进行排序、过滤和设置汇总函数等操作,最终建立出适合数据分析的PivotTable。
IReport动态列
![IReport动态列](https://img.taocdn.com/s3/m/a2538b402e3f5727a5e96274.png)
交叉报表一、工具Ireport 4.5二、制作过程1、新建一个文件图2-1 2、配置数据源图2-23、在Summary中添加一个Crosstab组件(如图)注意Crosstab只能在Summary中添加图2-33、设置数据源为主表数据,然后下一步图2-44、设置行显示字段,然后下一步。
图2-5 5、设置行显示字段图2-6其中行列显示字段可以根据自己需求设置Group2或者Group3等。
6、设置表格主体数据,(这里只能添加一个字段,如需添加更多数据请在交叉列表创建完成之后,在ReportInspector中找到交叉报表的measures,然后右键点击添加)图2-8图2-97、设置交叉列表样式图2-108、对主体交叉报表进行设计(和主表一样)。
设计图见图2-11,预览效果见图2-12。
图2-11图2-12表中数据设计详见第6点。
9、交叉报表的排序在ireport4.5中,交叉报表的排序默认为按首字母排序,如图2-12我们可以看到月份是排序并不是顺序的。
这是我们可以在SQL语句上动些手脚,在查询的结果给它的第一位加上字母ABC…如图2-13图2-13这样预览结果就变成了图2-14图2-14可以看到其实这也不是我们想要的结果,然后我们可以点击月份进行字段展现控制。
如图2-15图2-15然后进入Text file Expression设置,如图2-16图2-16 预览结果如图2-17图2-17 10、交叉报表排序(2)元素(row / column groups)默认是按照ASCII码排序,除此之外它还有一个Comparator exp。
(要求是parator的实现类),步骤1、可以通过实现parator 接口,自己写个比较类:package com.junefsh.utils;import parator;public class JsReportComparator implements Comparator<Object> { public int compare(Object o1, Object o2) {}}其中注意的是compare()方法需要根据自己的需求实现,该方法主要比较的是row/column groups 中的bucket expression 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ireport4.5教程之交叉表一个CrossTabs是一种在设计的时候既不确定行数和也不确定列数的一种表格,在运行环境下它会像下面显示的不同年份的一个销售报表一样。
水果/年份200420052006草莓野生樱桃CrossTabs在jasperresports中从1.1.0版本时开始提供,同时iReport 也从1.1.0开始支持CrossTabs。
Jasperreports的CrossTabs工具允许对行和列的数据进行分组、汇总和自定义每一个cell里的内容。
填充CrossTab的数据可以来自主报表里的dataset 或来自subDataset。
使用iReport里提供的向导我们可以简单快速的创建功能强大的交叉报表组件。
一个CrossTabs本质上是一个表格,行和列的数量取决于填充这个表格的数据。
行和列也可以在groups里做聚合操作。
对于每一个行或列的group我们都可以得到一个细节信息和一个可选的行列数据的汇总。
交叉表向导(Crosstab wizard)为了说明怎么让一个crosstab工作起来,我们将使用向导创建一个crosstab,当我们在工具条里选择crosstab元素并将其添加到报表中时crosstab的向导会自动启动。
还是以DoradoSample里提供的hsql数据里的employee报为例,我们使用包含下面查询语句的空报表开始:Select*from employee我们把crosstab放在报表的底部:summary band在第一步里我们需要选择一个dataset来填充crosstab,我们这里使用主报表里提供的dataset,点击下一步继续。
在第二步里我们需要定义至少一个行分组.我们这里选择对所有记录使用DEPT_ID进行分组。
这样就意味着crosstab的每一行将会采用一个明确的部门编号,这样JasperReports将会使用部门编号对数据集里的数据进行重新整理计算。
使用向导,我们可以定义两个行分组,这是使用向导的局限性所在,事实上,如果你需要的话你可以通过Crosstab的属性设置窗口定义若干个行和列的分组。
点击下一步继续。
和定义行分组一样,从这里我们可以定义两个列分组,这里我们仅使用一个列分组,使用数据中的DEGREE字段对数据进行分组。
该字段的含义是学历,这就表示,我们要做的这个交叉报表是用来计算不同部门员工在学历方面的人数分布情况。
是时候定义detail数据了,一般的,这个detail是使用类似根据country,year得到orders总数或者是相同组合的物品总数的一个聚合函数的计算出来的结果值。
我们这里选择打印员工的数量(Detailfield:ordered,function:count)。
点击下一步继续。
最后一步我们可以为crosstab的布局设定一个布局。
我们可以设置是否能看到表格线、或者是否包括行和列总数统计之类。
我们这里全部选择。
点击finish注意当一个crosstab添加到一个报表中后,会自动在设计窗口中添加一个用来编辑当前crosstab的tab页窗口。
当点击crosstab的tab页,两个新的属性窗口将会被添加在窗口的左边和右边:一个crosstab的结构树,用来显示crosstab的当前选中单元格和帮助相关信息。
一个是crossstab对象列表用来显示和该CrossTab相关的一些variables或fields等。
当点击工具条上的启动按钮后,我们将可以看到引擎生成的如下效果的报表:最后一列包含每一行交叉所有列的总计,最后一行包含每一列交叉所有行的总计。
列,行,单元格(Columns,rows,cells)一个crosstab至少必须有一个行分组和一个列分组,每一个行和列的分组都有一个可选的行/列的统计。
下面图中所示的是一个基本的由一个行列分组构成的crosstab。
Crosstab headercell Column group1headerColumn group1total headerRow group1headerdetail Col group1totalRow group1total header Row group1total Row group1total/column group1total当再次添加一个行分组时,这个crosstab将会显示出如下效果:Crosstab headercell Column group1headerColumn group1total headerRow group1 headerRowgroup2headerdetail Col group1totalRowgroup2totalheaderRow group2total Row group2total/column group1totalRow group1total header Row group1total Row group1total/column group1total行和列(Rows and columns)一个行或列的分组可能通过crosstab的属性窗口来对它进行修改(在crosstab编辑器右键菜单里选择Crosstab properties)。
点击“row and column groups”的标签页。
在这里我们可以看到已经定义好的行或列的分组。
添加一个新的分组请点击名为Add的按钮。
所有分组必须有一个唯一的名称。
当你添加或修改一个行分组时,你可以设置row group header 的宽度。
Column group1Column group1ROW GROUPWIDTHheader total header Row group1headerdetail Col group1totalRow group1total header Row group1total Row group1total/column group1total“bucket”是分组的标准,它通过一个java类来定义。
在一个bucket表达式里,你可以使用主报表里所有的fields/variables/parameters。
但是,如果你选择使用subdataset来填充crosstab,那么必须使用subdataset里提供的fields/variables/parameters。
一个header的单元格增长依赖于它所跨越的行数。
你可以选择多个元素放置在header里。
top middlebottomstretch最后,你可以选择是否打印出总计的结果。
这些选项是:None:没有总计行被打印Start:总计行打印在detail行之前End:总计行打印在detail行之后创建column的group是非常简单的。
定义column group时你可以定义column的高度来替代行高(看下图)Column groupheightColumn group1 header Column group1 total headerRow group1headerdetail Col group1totalRow group1total header Row group1total Row group1total/column group1total当Bucket在行分组里时,header的单元格内容的定位相似。
但是在这个用例中,details可以改变header宽度而不是高度。
leftcenterrightstretch再一次,如果打印总计列的话,你可以做一些选择。
各选项如下:None:没有总计列被打印Start:总计列在detail列之前打印End:总计列在detail列之后打印列和行的高度可以很容易的在crosstab编辑器里通过鼠标拖曳表格线的方式改变。
当一个行或列添加到crosstab里时,一个特殊的用来引用bucket表达式的变量将要被创建。
它和新的group有相同的名称。
你可以从crosstab objects 标签里通过查找绿色小点的方式来定位这个bucket variable。
iReport为group创建新的header cells是很简单的,这个操作不需要添加任何新的额外元素到crosstab里。
你可以根据你的喜好来填充cells,最好的方式是通过拖曳把bucket从crosstab objects列表拖到新的单元格里。
在上图中,你可以看到加在一个新加的嵌套在column group里四个新添加到crosstab里的单元格,group header单元格,group total header单元格。
你可以使用”up”和”down”按钮来更改你的group的嵌套顺序。
下图中所示的crosstab就是在图16.14在SEX的group被向上移后的效果。
图16.16MONTH group向上移后的效果16.2.2、单元格(cells)每一个行和列的交叉处定义一个单元格,我们有header单元格,total单元格,detail单元格和一个可选的“when-no-data”单元格。
单元格可以包含一个类似于textfields,static texts,rectangle,images之类元素的集合,但是他们不能包含一个SubReport,一个chart,或者一个crosstab。
你可以去修改每一个单元格的背景色和单元格的borders:移动鼠标在一个单元格上并且按右键在弹出的菜单中选择“cell properties”打开单元格属性编辑窗口。
从这个对话框中你可以修改单元格的外观。
16.2.3、特殊单元格(Special cells)如果一个crosstab不能包含一些数据,你可以选择打印别的东西来替代。
例如,你可以包含一条消息,方法是,你必须编辑“when-no-data”单元格。
在crosstab上右键勾选弹出菜单中的“when-no-data default cell”复选框。
这个操作完成后将会出现一种很明显的编辑模式,你可以操作“when-no-data”单元格的内容。
“when-no-data”单元格和crosstab元素有相同的尺寸。
如果没有数据展示的话它将替代crosstab打印。
单元格橙色的边框标志出你可以编辑的单元格区域。
可以在这个单元格里添加一个或多个元素。
在一个crosstab里,所有的元素关联一个单元格,如果一个元素在单元格外面或部分在单元格外面,这是不正确的放置方式并且当编译的时候jasperreports将会抛出异常。
iReport在界面中标识这个错误会以红色的框显示。
16.2.4、度量(Measures)在crosstab里每一个元素的表达式(如textfield表达式)可以包含唯一的measure。