本站首页    管理页面    写新日志    退出

The Neurotic Fishbowl

[Java报表软件—技术知识]数据库表为纵表时转变为横表的设计方法
FineReport——报表技术领跑者 发表于 2011/11/24 10:01:58

一. 横表&纵表: 数据库表按照存储的数据结构不同区分为横表与纵表,通过如下数据的存储我们分别对横表与纵表进行简单介绍: 横表: http://www.finereport.com/forumimages/zjkbwzbszbwhb1.jpg 纵表: http://www.finereport.com/forumimages/zjkbwzbszbwhb2.jpg 由图1,2可以看出,若我们要将每种产品的信息罗列在报表中展示,使用横表将会非常方便,直接将各字段拖进设计器对应标题的单元格即可,字段间不需要考虑任何逻辑关(默认有扩展关系)如下图: http://www.finereport.com/forumimages/zjkbwzbszbwhb3.jpg 预览如下: http://www.finereport.com/forumimages/zjkbwzbszbwhb4.jpg 二. Java报表软件FineReport实现纵表转为横表显示: 使用纵表时,想达到如图4的效果,也很简单: http://www.finereport.com/forumimages/zjkbwzbszbwhb5.jpg 其中: 单元格 列名 设置属性 A2: 字段编号 默认 B1: 名称 设置为从左向右扩展,其余默认 B2: 属性 不扩展,其余默认 只需要设置名称字段为横向扩展,逻辑关系使用默认的,在展示数据时,就会对应选择出字段编号为A2,名称为B1的属性值,如下图所示: http://www.finereport.com/forumimages/zjkbwzbszbwhb6.jpg 便达到了数据库表为纵表时转变为横表显示。 三. 润乾实现纵表转为横表显示: 润乾报表在该问题有两种解决方案: 一. 参考润乾官网--知识库中---数据库为纵表时转为横表展现的设计方法: 定义了两个数据集ds1,ds2,都取用数据库中的那个纵表: http://www.finereport.com/forumimages/zjkbwzbszbwhb7.jpg B2:=ds1.dselect(字段编号) //相当于select distinct ……,取所有不重复的”字段编号”值,或者用=ds1.group(字段编号)用字段编号分组 C1:=ds1.dselect(名称) //取所有不重复的”名称”值 C2:=ds2.select(属性,,ds2.字段编号==B2&&ds2.名称==C1) //用横轴”字段编号”,纵轴”名称”作为筛选条件,把唯一的”属性”值取出来 。 结果预览如下: http://www.finereport.com/forumimages/zjkbwzbszbwhb8.jpg 四. 总结: 由上可以看出,Java报表软件FineReport与润乾都可以使用简单的交叉报表来实现数据库表为纵表时转变为横表来显示:  操作都很简单,步骤也基本类似  润乾使用数据表字段时默认为列表型,而Java报表软件FineReport默认为分组,后者更贴近用户的需求,大部分用户制作的是复杂的自由报表,所以通常需要合并相同项

阅读全文(2271) | 回复(0) | 编辑 | 精华

 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



The Neurotic Fishbowl

.: 公告

本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。


Bloginess

«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

.: 我的分类(专题)

首页(357)
Java报表软件—制作笔记(54)
Java报表软件—功能比较(43)
Java报表软件—使用心得(21)
Java报表软件—行业动态(54)
Java报表软件—新闻资讯(48)
Java报表软件—技术知识(49)
Java报表软件—问题解析(2)


In the Bowl

.: 最新日志

如何对报表的参数控件赋值
java报表工具FineReport常见
报表怎么做 FineReport连接池原
报表怎么做FineReport数据连接之
报表模板之报表设计
报表模板之报表设计


.: 最新回复

回复:报表参数
好好学习,
好好学习,天天向上。买双 air jor
回复:理解FineReport缓存系列2
回复:理解FineReport缓存系列2


The Fishkeeper
blog名称:Java报表软件
日志总数:357
评论数量:69
留言数量:0
访问次数:1211045
建立时间:2006年4月16日



Text Me

.: 留言板

签写新留言

需要你的帮助


Other Fish in the Sea

.: 链接

报表开发工具  html5图表java报表开发工具




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.203 second(s), page refreshed 144765810 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号