阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 1459|回复: 1

数据库表为纵表时转变为横表的设计方法

[复制链接]
  • TA的每日心情
    郁闷
    2012-8-20 14:41
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    发表于 2011-11-24 10:54:24 | 显示全部楼层 |阅读模式
                    一. 横表&纵表:数据库表按照存储的数据结构不同区分为横表与纵表,通过如下数据的存储我们分别对横表与纵表进行简单介绍:
    横表:

    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
    二.报表制作工具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(字段编号) //相当于selectdistinct ……,取所有不重复的”字段编号”值,或者用=ds1.group(字段编号)用字段编号分组
    C1:=ds1.dselect(名称)    //取所有不重复的”名称”值
    C2:=ds2.select(属性,,ds2.字段编号==B2&&ds2.名称==C1)   //用横轴”字段编号”,纵轴”名称”作为筛选条件,把唯一的”属性”值取出来 。
    结果预览如下:


    http://www.finereport.com/forumimages/zjkbwzbszbwhb8.jpg

    四. 总结:
    由上可以看出,报表制作工具FineReport与润乾都可以使用简单的交叉报表来实现数据库表为纵表时转变为横表来显示:
    l  操作都很简单,步骤也基本类似
    l  润乾使用数据表字段时默认为列表型,而报表制作工具FineReport默认为分组,后者更贴近用户的需求,大部分用户制作的是复杂的自由报表,所以通常需要合并相同项
    文章转自:http://blog.vsharing.com/fanfanzheng/A1449895.html
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2011-12-15 09:14
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-12-15 10:25:10 | 显示全部楼层
    楼主很有心啊。这个帖子很美观简洁。看着很舒服
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表