出处:http://www.cnblogs.com/babyt/archive/2008/05/06/1184249.html

交叉表,顾名思义,就是行和列交叉,用于将行上的数据,作为列指标来呈现。

用一个图直观的说明一下,就是将图1中的数据样式

最终呈现为如图2的效果

实际在使用中,我们可以用两种方式来实现这个效果

一是在数据库端用SQL将数据组织成交叉表,然后对这个数据以普通的报表形式呈现。
在这里,我摘录了网上一篇写的比较直白的文章,请参考此链接。
http://server.chinabyte.com/474/2591974.shtml
根据数据的情况,交叉后的列可能是固定的,也可能是不固定的
要注意写法,还要注意不同的数据库的SQL也是不一样的。如SQL Server和Oracle就有不同。
这里主要是提供个思路。

二是依靠水晶报表来直接实现,我在文章的最后提供了一个操作视频,大家可以看实际的操作步骤。
在这里需要说明一下的是,不是所有的数据,都那么标准,所以需要做一些修正。
水晶报表不仅仅支持从表里取数据,还支持View和SQL命令,存储过程等
所以可以使用View或者SQL命令来实现,在视频的例子中,我就用了这个例子
原始数据是这样的(图3),


为了适用交叉表,将其修正为图1所示。
我做了View来简化后续的操作,对于后续操作来说,使用表和view的效果是一样的。
view脚本为:

select 年份,地区,指标,'最大值' as 数值类别,最大值 as 数值 from test_4
UNION 
select 年份,地区,指标,'最小值' as 数值类别,最小值 as 数值 from test_4;

在视频最后,我对交叉表上的一些设置进行了操作,大家可以参考。如:
如何去除行、列上的合计字段
如何去掉交叉表左上角的缺角等一些基本操作

特别说明一下,要从交叉表导出一张完美的Excel是比较困难的
如果有这种需要,建议使用使用SQL交叉的方式,用一般的报表方式来实现.

请在此处下载操作视频,解压缩密码为:babyt
/Files/babyt/CR20080505.rar
(本视频为http://topic.csdn.net/u/20080505/17/2ff3406c-9240-40ef-b361-1490aa802581.html而作,比一般性的交叉表稍嫌复杂)

水晶报表中几种交叉表的实现方法 (作者阿泰)相关推荐

  1. 在水晶报表中实现任意选择指定字段显示-模板及C#升级版

    前文<在水晶报表中实现任意选择指定字段显示>中有朋友留言说是有无C#版本,最近有时间,重写了一下. 一是使用了VS2005 C#2.0 + Crystal Report 2008,另外就是 ...

  2. 水晶报表中如何创建自定义的纸张大小格式?

    问题 水晶报表中使用一个自定义的纸张类型格式(使用预先定义的纸张格式显示或者打印一个报表)? 解决方法 要创建一个自定义的纸张格式,来完成你工作中所使用的特殊纸张.在你开始工作之前,你必须确认你的打印 ...

  3. 在水晶报表中动态显示任意格式的图片

    在水晶报表中动态显示任意格式的图片 如何在水晶报表中动态显示任意格式的图片        前段时间,Accounting 项目内需要在水晶报表中动态显示任意格式的图片.但是,水晶报表只支持OleDb的 ...

  4. mysql小计_Mysql必读用SQL实现统计报表中的小计与合计的方法详解

    <Mysql必读用SQL实现统计报表中的"小计"与"合计"的方法详解>要点: 本文介绍了Mysql必读用SQL实现统计报表中的"小计&qu ...

  5. mysql 合计 小计_用SQL实现统计报表中的小计与合计的方法详解

    本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下 客户提出需求,针对某一列分组加上小计,合计汇总.网上找了一 ...

  6. .Net中俩种使用不定参数的方法

    .Net中俩种使用不定参数的方法 使用Param关键字 比较常用的方法,不过对于调用C++等语言的不定参数函数的时候不能使用. 使用方法: private int Concat(params int[ ...

  7. 几何画板中几种作函数图像的方法

    随着社会的发展,现代教学很多的地方都有了多媒体教学,这就需要一些教学软件的辅助了,几何画板就是其中之一.一些老师在使用几何画板的过程中,常常涉及到函数图象的绘制.因此,很多用户对这方面教程是非常的感兴 ...

  8. python创建对象_对Python中9种生成新对象的方法总结

    先定义一个类: class Point: def __init__(self, x, y): self.x = x self.y = y 下面我们使用9种方法来生成新的对象: point1 = Poi ...

  9. 电子计算机机房折旧提几年,IDC设备资产运营中四种“折旧率计算”的常见方法...

    原标题:IDC设备资产运营中四种"折旧率计算"的常见方法 数据中心基础设施设备管理中设备的折旧是固定资产的折旧.该基础设施设备或者IT设备在长期使用后仍可保持其原始物理形态,但由于 ...

  10. 水晶报表中对某一栏位值进行处理_终于有人讲清楚了,BI和报表的差异!

    IT系统自带报表功能,为什么还要额外采购BI? 报表和BI都能做数据分析,区别在哪里? 加班加点做了那么多表,为什么还不满足老板需求? 报表分析需要IT团队来开发,那BI呢? 这些应该是大家对商业智能 ...

最新文章

  1. python开发一个彩票系统_[宜配屋]听图阁
  2. 开心一刻,你和导师之间有什么有趣的事情?
  3. 艾瑞发布2018视频云行业报告,网易云信领跑第一阵营
  4. [UOJ299][CTSC2017] 游戏
  5. (转)The POM for 0.0.1-SNAPSHOT is missing, no dependency informat
  6. 使用tSQLt进行测试驱动的数据仓库开发(TDWD)
  7. 熬夜整理了免费的数据源网站大全,再也不愁找不到数据练手
  8. sklearn.preprocessing之数据预处理
  9. 解决苹果手机双击页面放大的问题
  10. 计算图像中任意四个点连成的四边形面积与Ground truth的IOU(Python)
  11. 【松果圆桌派】全年线下客流量超4000万,COMMUNE的场景体验式玩法是如何打造的?
  12. PC微信聊天记录备份恢复测试
  13. Excel 2010光标移动到单元格边框时,不显示小十字(亲自实践)
  14. FMG首席执行官被控误导股市
  15. 2022年CVPR挑战赛
  16. CSAW CTF 2016 PWN quals-warmup
  17. 成都,今夜请将我遗忘 读后感
  18. 大型网站架构演进历程
  19. building workspace js validation
  20. 桌上有一只盘子,每次只能放入一个水果。请用Wait()、Signal()原语实现爸爸、儿子、女儿三个并发进程的同步。

热门文章

  1. java老九_【老九】【Java】小议转义字符
  2. 生成sis文件的诀窍
  3. 光辉岁月-Beyond_习惯累积沉淀_新浪博客
  4. 甘特图控件VARCHART XGantt,解读活动组布局的“单独行中的节点”选项!
  5. CloudDrive — 将阿里云盘变成电脑本地磁盘,网盘挂载映射为本地磁盘!
  6. 前端框架 — Bootstrap
  7. stm32 I2C总线入门笔记
  8. 高等代数--线性变换
  9. Android AGP 7.0 适配,开始强制 JDK 11
  10. Mac垃圾文件清理指南