c#水晶报表完整教程对比FineReport之交叉表

上传人:nt****6 文档编号:47976772 上传时间:2018-07-07 格式:PDF 页数:9 大小:857.13KB
返回 下载 相关 举报
c#水晶报表完整教程对比FineReport之交叉表_第1页
第1页 / 共9页
c#水晶报表完整教程对比FineReport之交叉表_第2页
第2页 / 共9页
c#水晶报表完整教程对比FineReport之交叉表_第3页
第3页 / 共9页
c#水晶报表完整教程对比FineReport之交叉表_第4页
第4页 / 共9页
c#水晶报表完整教程对比FineReport之交叉表_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《c#水晶报表完整教程对比FineReport之交叉表》由会员分享,可在线阅读,更多相关《c#水晶报表完整教程对比FineReport之交叉表(9页珍藏版)》请在金锄头文库上搜索。

1、c#水晶报表完整教程:对比水晶报表完整教程:对比 FineReport 之交叉表之交叉表水晶报表(crystal report) 和 FineReport 都是很常用的报表工具,这里对比一下它们的 交叉表功能。水晶报表交叉表功能如下:水晶报表交叉表功能如下:创建交叉表报表创建交叉表报表本节介绍在新报表中创建“交叉表”对象的步骤以及如何在已有报表中添加“交叉表”对象。在使用“交叉表”对象时应记住以下几点:可以有多个行、列以及汇总字段。可以用作行、列或汇总字段的报表字段包括打印时间公式和运行总计字段。您可以在“交叉表”的行上包括组排序(前 N 个或后 N 个)。注意:不能将组排序应用于列。如果需要

2、,可以在一个报表中插入多个“交叉表”对象。可以将“交叉表”插入报表页眉或报表页脚,也可以插入组页眉或组页脚。可以将“交叉表”对象放在子报表中。当要引用来自其他报表中的结果时,这一点很有用。表交叉表示例此示例展示如何使用“交叉表”对象使复杂的数据变得易于理解。本报表的目的是分析五种 不同的自行车锁在四个不同地区的销售情况(按 地区划分的车锁销售报表)。为了更清楚 起见,只包含了报表中最基本的信息:订单所来自的地区。车锁名称。所订数量。第一种浏览数据的方式是采用最基本的报表形式,即未分组、未排序的纵栏式报表。订单数据的报表 - 未排序/未分组此报表给出了详细的信息。每行代表一份订单。对于不同车锁,

3、每个地区都有多份订单。但 是由于缺少汇总信息,几乎不可能从这样一张报表中得到任何有用的信息。下面合乎逻辑的步骤就是以某种方式对数据进行分组。 既可以按地区分组也可以按产品线分 组。下面一节将创建新“交叉表”报表在“文件”菜单上,单击“新建”。提示:创建 OLAP 报表的另一种方法是单击“标准”工具栏上的“新建”按钮。出现“Crystal Reports 库”。在“选择向导”区中,单击“交叉表”。单击“确定”。出现“交叉表报表创建向导”。展示这两种分组方法。在交叉表汇总上绘制图表选择绘制图表所基于的交叉表。在“插入”菜单上,单击“图表”。显示“图表专家”对话框。提示:完成此项任务的另一方法是单击

4、“插入工具”工具栏上的“插入图表”按钮。在“类型”选项卡的图表类型列表中,选择一个图表类型。然后单击数据演示效果最好的图 表子类型。请参阅图表类型。如果希望“图表专家”使用“坐标轴”和“选项”选项卡上的默认选项,请选择“自动设置 图表选项”。注意:如果要手动选择“坐标轴”和“选项”选项卡上的选项,应确保“自动设置图表 选项”未被选中。单击“数据”选项卡。在“布局”区,单击“交叉表”(如果尚未被选中)。在“位置”区中,单击“页眉”或“页脚”指定放置图表的位置。注意:图表在报表中出现的频率取决于交叉表汇总字段放置的位置。在“数据”区的“依据”列表中,单击图表所基于的分组字段。如有必要,在“细分依据

5、”列表中,单击希望图表所基于的次要行或列。然后在“显示”列表中,单击希望显示在图表上的汇总字段。如果“坐标轴”和“选项”选项卡出现,则可以自定义某些图表属性,如轴的缩放比例、图 例和数据点。单击“文本”选项卡。接受默认标题信息或将新标题添加到图表。单击“确定”。交叉表”还可以包括若干总计:每行的结尾是该行的总计。在上面的例子中,该总计代表一个产品在所有国家/地区的销售 量。“手套”行结尾处的值是 8,这就是手套在所有国家/地区销售的总数。注意:总计列可以出现在每一行的开头。每列的底部是该列的总计。在上面的例子中,该总计代表所有产品在一个国家/地区的销售 量。“美国”一列底部的值是四,这是所有产

6、品(手套、腰带和鞋子)在美国销售的总数。注意:总计列可以出现在每一行的顶部。“总计”(Total) 列(产品总计)和“总计”(Total) 行(国家/地区总计)的交叉处是总计。在上 面的例子中,“总计”列和“总计”行交叉处的值是 12,这是所有产品在所有国家/地区销售的 总数。更改交叉表单元格的宽度、高度和对齐方式单击“交叉表”内的单元格激活大小调整手柄。单击并拖动任一大小调整手柄增大单元格的宽度或高度。单击“格式设置”工具栏上的对齐方式选项,更改单元格中数据的对齐方式。您可以从“左对齐”、“右对齐”、“居中”和“两端对齐”中进行选择。注意:更改一个单元格会影响所有同类单元格。例如,更改一个汇

7、总字段单元格的宽度, 会同时更改所有其他汇总字段单元格的宽度。设置整行/整列的背景颜色的格式使用背景颜色强调“交叉表”中的行或列。右击“交叉表”顶端左侧的空白区域并从快捷菜单中选择“交叉表专家”。出现“交叉表专家”。单击“自定义样式”选项卡。单击行(在“行”区)或列(在“列”区),并从“背景颜色”下拉列表中选择颜色。单击“确定”以返回“交叉表”。行/列将按要求进行格式设置。“交叉表”数据本节讲述在报表中取消数据的操作步骤。您能够取消:空行和空列。行总计和列总计。小计及其标签取消空行和空列右击“交叉表”顶端左侧的空白区域并从快捷菜单中选择“交叉表专家”。出现“交叉表专家”。1.单击“自定义样式”

8、选项卡。 2.选中“取消空行”或“取消空列”复选框。 3.单击“确定”。打印报表时,将不出现空行和/或空列。4.取消行总计和列总计取消行总计和列总计 1.右击“交叉表”顶端左侧的空白区域并从快捷菜单中选择“交叉表专家”。出现“交叉表专家”。2.单击“自定义样式”选项卡。 3.选中“取消行总计”或“取消列总计”复选框。 4.单击“确定”。取消小计及其标签取消小计及其标签如果“交叉表”中有两个以上的组,则您可以取消其中一个的小计及标签。1.右击“交叉表”顶端左侧的空白区域并从快捷菜单中选择“交叉表专家”。出现“交叉表专家”。2.单击“自定义样式”选项卡。 3.单击要取消小计的字段。“取消小计”以及

9、“取消标签”复选框激活。4.在“组选项”区中,选中“取消小计”复选框。 5.单击“取消标签”复选框以取消与小计相关的标签。 6.单击“确定”。Finereport 交叉表功能如下:交叉表功能如下:1.概述1.概述交叉表,也是常见的基本报表类型,分组报表只是从上到下将数据分组显示,而交叉表则是从上到下、从左到右都将数据分组的报表,如下图:FineReport 天然支持行列对称,设计交叉表的方法也很简单。2.制作步骤2.制作步骤2.1新建工作簿,添加数据集2.1新建工作簿,添加数据集新建工作薄,添加数据集 ds1,SQL 语句为 SELECT * FROM 销量SELECT * FROM 销量。2

10、.2制作交叉表2.2制作交叉表设计好表样后,将数据列拖入对应单元格:纵表头:地区与销售员默认纵向扩展实现从上到下分组;横表头:将产品类型与产品设置为从左到右扩展,让产品横向分组,实现横表头;数据:根据父子格的概念,销量会以销售员为左父格,产品为上父格,自动匹配出销售员与产品对应的销量。预览即可看到上图交叉表。注:此处销售员与产品对应的销量是唯一的,因此,直接将销量拖入单元格即可。另:若销售员与产品对应的销量不唯一,则将销量数据列的显示方式设为汇总-求和,详细请查看数据显示方式。2.3保存并发布2.3保存并发布1. 问题描述逐层累计与跨层累计都是纵方向上的累计,也可以横向进行累计,如下图各个销售

11、员每个月订单金额的累计:2. 示例2.1 新建报表,设计表样新建工作薄, 添加数据集, SQL 语句为 select 雇员 ID, strftime(%m,订购日期)as 月份, 应付金额 from 订单 where strftime(%Y,订购日期) = 2011,查询出 2011 年每个雇员,每月订单金额。如下制作一张交叉表:数据列设置如下:单元格数据集数据列属性A3ds1雇员 ID居中,其余默认,设置数据字典显示对应的雇员姓名B2ds1月份居中,从左到右扩展,其余默认B3ds1应付金额居中,汇总-求和,不扩展,其余默认2.2 横向累计在 C3 单元格中,写入公式:=B3 + C3;B2:

12、-1:当前月份的金额加上一月累计金额。其中 C3;B2:-1表示上父格 B2 扩展出来的上一格(上月)的 C3 的值。2.3 保存与预览保存模板,预览效果如上。模板效果在线查看请点击 Accumulative_3.cpt问题描述如下图,数据库中有一张表,每个分类下面的系列均已经按照特定的顺序(系列汇总,即各个系列的流量总和降序排列)排列好,并且有些分类下的数据缺省。用上述表中数据制作一个数据集数据源柱形图,如下图,会看到图例的排序与数据库中数据不一致,数据库中每个分类下的系列排序是一样的(缺省系列不参与排序),而图表中图例顺序却是按照从数据库中读取系列(port)字段的顺序排序的,如果第一个分

13、类下的系列名称不缺省,那么图表图例顺序会显示正常(直接从第一个读到最后一个,显示完全),如果第一个分类下面的系列数据有缺省, 所以图例排序会先显示该分类下有的系列, 缺省的系列会显示在后面,就会打乱原来的顺序:那么该如何实现,在系列缺省的状况下还保持图表图例顺序与数据库中顺序一致呢?2. 解决思路使用单元格作为图表的数据源,在单元格中将数据重新排序,即形成一个交叉报表,横向和纵向表头分别是分类和系列,缺省的地方会自动显示为空,然后将系列重新排序即可。3. 示例3.1 单元格数据如下图,将数据列拖曳至单元格中,形成交叉报表,并计算每个系列下的汇总流量值:注:要手动设置 C15,也就是 sum 函数所在单元格的左父格,设为 A15。交叉报表的制作方式请查看交叉报表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号