精华内容
下载资源
问答
  • 分组报表制作

    2018-12-20 16:14:58
    【摘要】 在按照某些字段做分组统计时,通常会按照数据将...在报表对数据进行汇总统计时,通常是按照某个字段进行分组,比如地区、类别字段分组其他信息进行汇总,但有一种分组模式为不规则分组,其分组是...

    【摘要】

    在按照某些字段做分组统计时,通常会按照数据将某些值已分段形式放在某一组内,比如按年龄段可分为少年、青年、中年、老年等,我们管这种分组方式叫做按段分组,通过润乾的按段分组可灵活的定义分段区间,来乾学院看下具体制作方式按段分组报表制作

    需求说明

    在报表对数据进行汇总统计时,通常是按照某个字段进行分组,比如按地区、类别等字段分组后对其他信息进行汇总,但有一种分组模式为不规则分组,其分组是根据数据的值段来分的,例如按照分数段、年龄段、按时间段等,属于某个值区间的记录归到一个组里如下图所示:

    1jpg

    在上图中我们可以看到,报表根据订购日期将订单数量和订单金额分成四组,分别统计 "2012 年圣诞前"、“2012 年圣诞–2013 年国庆”、“2013 年国庆–2014 年五一”、"2014 年五一以后" 四个时间段的订单。

    这种按值段进行分组的分组报表被称为按段分组,下面我们介绍一下润乾报表中如何实现该报表。

    定义数据集

    ds1:SELECT 订单. 订购日期, 订单明细. 数量, 订单明细. 单价, 订单明细. 折扣, 客户. 地区 FROM 订单明细, 订单, 客户 WHERE 客户. 客户 ID = 订单. 客户 ID AND 订单. 订单 ID = 订单明细. 订单

    增加参数

    报表中按时间段进行分组,实际应用中时间段通常是动态变化的,动态变化的时间段可以通过参数动态控制,所以此处增加参数进行控制:

    参数名:arg1,数据类型:日期组,值表达式:2012 -12 -25, 2013 -10 -1, 2014 -5-1

    参数名:arg2,数据类型:字符串组,值表达式:2012 年圣诞前, 2012 年圣诞–2013 年国庆, 2013 年国庆–2014 年五一, 2014 年五一以后

    arg1 参数用于控制按段分组时的日期段,arg2 用于设置报表展示时单元格的显示信息,稍后做详细介绍

    制作报表

    报表设计模板如图:

    2jpg

    A3:=ds1.group(地区; 地区:1),按照地区进行分组

    B3:=ds1.count(),进行计数操作,统计订单数量

    C3:=ds1.sum( 单价数量 ),对订单金额汇总,注意,数据库中并没有订单金额字段,订单金额可通过单价数量计算出,润乾中支持 sum 前先对字段进行相应操作,并设置 C3 单元格显示格式为:¥#0.00

    B1:表达式为 =ds1.plot(订购日期, arg1),此处使用数据集的 plot 函数(按段分组),第一个参数(订购日期)为要分组字段,第二个参数(arg1)为分段区间,函数主要功能是根据订购日期字段将数据集按照 arg1 参数指定的分段区间划分到不同的组内,该函数返回值为整数组,代表记录按值段分组后组的顺序,如 list(0,1,2,3) 代表第一组,第二组,第三组,第四组,具体函数说明见附注,将单元格扩展方向改成横向,此时报表预览展示效果如下:

    3jpg

    可以看到,B1 单元格返回的是 0,1,2,3 这种整数,所以要对其设置显示值表达式以达到显示效果,这里就用到了之前定义的 arg2 参数,在 B1 单元格显示值表达式中写入:map(to(0,count(arg1)),arg2),map 函数主要用于显示值表达式映射,该函数有两个参数均为 list,由于 B1 单元格的真实值为 0,1,2 这种整数,所以 map 函数第一个参数为 0 到分段区间个数的扩展,第二个参数会按照顺序映射返回到显示值属性中,这样 B1 单元格就能按照 arg2 参数中设置好的内容进行显示。而分段区间和显示值均是通过参数传递,所以此报表的分段信息可以通过程序控制参数达到动态效果。

    根据实际要求设置报表样式,最终效果如下:

    4jpg

    附注:

    plot 函数说明:

    根据数据值段进行分组,俗称“按段分组”

    语法:

    datasetName.plot(valueExp,listExp{,filterExp})

    参数:

    valueExp 用于分组的值表达式

    listExp 数据值段列表,同 valueExp 数据类型相同的数组,要求其中元素从小到大排列

    filterExp 过滤表达式

    返回值:

    整数组,代表记录按值段分组后组的顺序,如 list(0,1,2,3) 代表第一组,第二组,第三组,第四组。因此,定义完单元格数据值表达式后还需要定义显示值表达式,比如第一组代表不及格,第二组代表及格等等

    选项:

    @r 是否为根数据集表达式

    @c 表示与元素比较时数据值段临界值只包含在第 1 个碰到的区间,相同的临界值不包含在第 2 个碰到的区间。缺省数据值段临界值只包含在第 2 个碰到的区间。

    @z 表示 listExp 返回的数组按从大到小排列; 缺省为从小到大排列

    示例:

    例 1:ds1.plot(成绩,list(60,80,90) ,科目 ==“数学”)

    返回值为 list(0,1,2,3) 对数据集 ds1 过滤出科目等于数学的记录按成绩段进行分组,60 分以下不包含 60 分、60-79,80-89,90 分及 90 分以上等四组。同时定义显示值表达式为:map(list(0,1,2,3),list(不及格, 及格, 良好, 优秀))

    例 2:ds1.plot@c(成绩,arg1)

    其中 arg1 为参数,其数据类型是整数组,其值为 "60,70,80,90" 。显示值表达式为:map(to(0,count(arg1)),arg2),其中 arg2 为字符串组,其值为 {“不及格”,“及格”,“中”,“良好”,“优秀”}。 本例通过参数动态控制分组值段以及结果组的显示值。

    展开全文
  • 报表对数据进行汇总统计时,通常是按照某个字段进行分组,比如地区、类别字段分组其他信息进行汇总,但有一种分组模式为不规则分组,其分组是根据数据的值段来分的,例如按照分数段、年龄段、时间段等,...

    需求说明

    在报表对数据进行汇总统计时,通常是按照某个字段进行分组,比如按地区、类别等字段分组后对其他信息进行汇总,但有一种分组模式为不规则分组,其分组是根据数据的值段来分的,例如按照分数段、年龄段、按时间段等,属于某个值区间的记录归到一个组里如下图所示:

    1jpg

    在上图中我们可以看到,报表根据订购日期将订单数量和订单金额分成四组,分别统计 "2012 年圣诞前"、“2012 年圣诞–2013 年国庆”、“2013 年国庆–2014 年五一”、"2014 年五一以后" 四个时间段的订单。

    这种按值段进行分组的分组报表被称为按段分组,下面我们介绍一下润乾报表中如何实现该报表。

    定义数据集

    ds1:SELECT 订单. 订购日期, 订单明细. 数量, 订单明细. 单价, 订单明细. 折扣, 客户. 地区 FROM 订单明细, 订单, 客户 WHERE 客户. 客户 ID = 订单. 客户 ID AND 订单. 订单 ID = 订单明细. 订单

    增加参数

    报表中按时间段进行分组,实际应用中时间段通常是动态变化的,动态变化的时间段可以通过参数动态控制,所以此处增加参数进行控制:

    参数名:arg1,数据类型:日期组,值表达式:2012 -12 -25, 2013 -10 -1, 2014 -5-1

    参数名:arg2,数据类型:字符串组,值表达式:2012 年圣诞前, 2012 年圣诞–2013 年国庆, 2013 年国庆–2014 年五一, 2014 年五一以后

    arg1 参数用于控制按段分组时的日期段,arg2 用于设置报表展示时单元格的显示信息,稍后做详细介绍

    制作报表

    报表设计模板如图:

    2jpg

    A3:=ds1.group(地区; 地区:1),按照地区进行分组

    B3:=ds1.count(),进行计数操作,统计订单数量

    C3:=ds1.sum( 单价数量 ),对订单金额汇总,注意,数据库中并没有订单金额字段,订单金额可通过单价数量计算出,润乾中支持 sum 前先对字段进行相应操作,并设置 C3 单元格显示格式为:¥#0.00

    B1:表达式为 =ds1.plot(订购日期, arg1),此处使用数据集的 plot 函数(按段分组),第一个参数(订购日期)为要分组字段,第二个参数(arg1)为分段区间,函数主要功能是根据订购日期字段将数据集按照 arg1 参数指定的分段区间划分到不同的组内,该函数返回值为整数组,代表记录按值段分组后组的顺序,如 list(0,1,2,3) 代表第一组,第二组,第三组,第四组,具体函数说明见附注,将单元格扩展方向改成横向,此时报表预览展示效果如下:

    3jpg

    可以看到,B1 单元格返回的是 0,1,2,3 这种整数,所以要对其设置显示值表达式以达到显示效果,这里就用到了之前定义的 arg2 参数,在 B1 单元格显示值表达式中写入:map(to(0,count(arg1)),arg2),map 函数主要用于显示值表达式映射,该函数有两个参数均为 list,由于 B1 单元格的真实值为 0,1,2 这种整数,所以 map 函数第一个参数为 0 到分段区间个数的扩展,第二个参数会按照顺序映射返回到显示值属性中,这样 B1 单元格就能按照 arg2 参数中设置好的内容进行显示。而分段区间和显示值均是通过参数传递,所以此报表的分段信息可以通过程序控制参数达到动态效果。

    根据实际要求设置报表样式,最终效果如下:

    4jpg

    附注:

    plot 函数说明:

    根据数据值段进行分组,俗称“按段分组”

    语法:

    datasetName.plot(valueExp,listExp{,filterExp})

    参数:

    valueExp 用于分组的值表达式

    listExp 数据值段列表,同 valueExp 数据类型相同的数组,要求其中元素从小到大排列

    filterExp 过滤表达式

    返回值:

    整数组,代表记录按值段分组后组的顺序,如 list(0,1,2,3) 代表第一组,第二组,第三组,第四组。因此,定义完单元格数据值表达式后还需要定义显示值表达式,比如第一组代表不及格,第二组代表及格等等

    选项:

    @r 是否为根数据集表达式

    @c 表示与元素比较时数据值段临界值只包含在第 1 个碰到的区间,相同的临界值不包含在第 2 个碰到的区间。缺省数据值段临界值只包含在第 2 个碰到的区间。

    @z 表示 listExp 返回的数组按从大到小排列; 缺省为从小到大排列

    示例:

    例 1:ds1.plot(成绩,list(60,80,90) ,科目 ==“数学”)

    返回值为 list(0,1,2,3) 对数据集 ds1 过滤出科目等于数学的记录按成绩段进行分组,60 分以下不包含 60 分、60-79,80-89,90 分及 90 分以上等四组。同时定义显示值表达式为:map(list(0,1,2,3),list(不及格, 及格, 良好, 优秀))

    例 2:ds1.plot@c(成绩,arg1)

    其中 arg1 为参数,其数据类型是整数组,其值为 "60,70,80,90" 。显示值表达式为:map(to(0,count(arg1)),arg2),其中 arg2 为字符串组,其值为 {“不及格”,“及格”,“中”,“良好”,“优秀”}。 本例通过参数动态控制分组值段以及结果组的显示值。

    展开全文
  • 传统的分组报表制作方式是用户根据数据绑定向导指定分组,汇总字段,生成分组报表,但是这样也只是在小数据量的前提下可以实施,当数据量很大很复杂时,相信使用葡萄城报表制作分组报表,就是事半功倍了。

    什么是分组报表

    分组报表,是所有报表中最基本、最常见的报表类型,也是所有报表工具中都支持的报表格式。从一般概念上来讲,分组报表就是只有纵向的分组。传统的分组报表制作方式是把报表划分为条带状,用户根据一个数据绑定向导指定分组,汇总字段,生成标准的分组报表。当然,我们也可以在Excel中,进行分组报表的制作;但是这样也只是在小数据量的前提下可以实施,当数据量很大很复杂时,相信使用葡萄城报表制作分组报表,就是事半功倍了。

    而使用葡萄城报表,将会使制作分组报表的方式更简单、更智能化,无需编码即可快速设计报表。

    分组报表的类型

    分组报表常用的类型有:单级分组报表嵌套分组报表等类型。同时还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。分组报表在商业报表系统中应用不胜枚举,客户信息归类统计表、商品分类统计表、销售记录年度、阅读统计等等。

    如何创建分组报表

    1、创建报表文件

    在应用程序中添加一个葡萄城报表文件,使用的项目模板类型为页面报表。添加完成之后从 VS 报表菜单中选择报表属性菜单项,并在外观选项卡中设置报表页边距为 1cm。

    报表打印

    2、打开报表资源管理器,并按照以下信息创建报表数据源

    名称: NWind_CHS
    类型: Micorsoft OleDb Provider
    OLE DB 提供程序: Microsoft.Jet.OLEDB.4.0
    服务器或文件名称: Data\NWind_CHS.mdb
    报表打印

    3、 添加数据集

    在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项,数据集信息如下:

    常规-名称:Products

    查询-查询:

    SELECT 产品.*,类别.类别名称,类别.说明 AS 类别说明,类别.图片 AS 类别图片, 供应商.公司名称 AS 供应商,供应商.联系人姓名,供应商.城市,供应商.地址 FROM (供应商 INNER JOIN 产品 ON 供应商.供应商ID = 产品.供应商ID) INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID ORDER BY 产品.类别ID;

    通过简单的上述操作,即可得到下面的分组报表

    报表打印

    从上图可以看出,分组报表从结构和样式上都与Excel很相似,但Excel并不是专业的报表软件,葡萄城报表的出现则正好填补了类Excel报表的空缺。

    转载请注明出自:葡萄城报表 
    http://www.grapecity.com.cn/enterprise-solutions/activereports_server/

    展开全文
  • 葡萄城报表介绍:分组报表 ...传统的分组报表制作方式是把报表划分为条带状,用户根据一个数据绑定向导指定分组,汇总字段,生成标准的分组报表。当然,我们也可以在Excel中,进行分组报表的制作;但是这样也只...

    什么是分组报表

    分组报表,是所有报表中最基本、最常见的报表类型,也是所有报表工具中都支持的报表格式。从一般概念上来讲,分组报表就是只有纵向的分组。传统的分组报表制作方式是把报表划分为条带状,用户根据一个数据绑定向导指定分组,汇总字段,生成标准的分组报表。当然,我们也可以在Excel中,进行分组报表的制作;但是这样也只是在小数据量的前提下可以实施,当数据量很大很复杂时,相信使用葡萄城报表制作分组报表,就是事半功倍了。

    而使用葡萄城报表,将会使制作分组报表的方式更简单、更智能化,无需编码即可快速设计报表。

     

    分组报表的类型

    分组报表常用的类型有:单级分组报表、嵌套分组报表等类型。同时还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。分组报表在商业报表系统中应用不胜枚举,客户信息归类统计表、商品分类统计表、销售记录年度、阅读统计等等。

    如何创建分组报表

    1、创建报表文件

    在应用程序中添加一个葡萄城报表文件,使用的项目模板类型为页面报表。添加完成之后从 VS 报表菜单中选择报表属性菜单项,并在外观选项卡中设置报表页边距为 1cm。

    报表打印

    2、打开报表资源管理器,并按照以下信息创建报表数据源

    名称:

    NWind_CHS

    类型:

    Micorsoft OleDb Provider

    OLE DB 提供程序:

    Microsoft.Jet.OLEDB.4.0

    服务器或文件名称:

    Data\NWind_CHS.mdb

    报表打印

    3、 添加数据集

    在新建的 NWind_CHS 数据源上鼠标右键并选择添加数据集菜单项,数据集信息如下:

    常规-名称:Products

    查询-查询:

    SELECT 产品.*,类别.类别名称,类别.说明 AS 类别说明,类别.图片 AS 类别图片, 供应商.公司名称 AS 供应商,供应商.联系人姓名,供应商.城市,供应商.地址 FROM (供应商 INNER JOIN 产品 ON 供应商.供应商ID = 产品.供应商ID) INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID ORDER BY 产品.类别ID;

    通过简单的上述操作,即可得到下面的分组报表

    报表打印

    从上图可以看出,分组报表从结构和样式上都与Excel很相似,但Excel并不是专业的报表软件,葡萄城报表的出现则正好填补了类Excel报表的空缺。

    转载请注明出自:葡萄城报表

     

    关于葡萄城报表

    葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

     

    千万种报表,同一种选择!获知葡萄城报表更多详情,请访问如下网站:
    了解报表开发控件:http://www.gcpowertools.com.cn/products/activereports_overview.htm
    了解报表服务器:http://www.grapecity.com.cn/enterprise-solutions/activereports_server/

    posted on 2017-07-13 11:46 春笋拔节 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/chunsunbajie/p/groupreport.html

    展开全文
  • 报表中我们通常称这种分组为“等值分组”。实现这种等值分组也很容易,只需要按照指定字段做 group(), 再针对分组做聚合运算即可。如下图 1: 关于等值分组图中可以看到对应设置的每个表达式,这里不多做说明,...
  • 6.1.3水晶报表排序、分组技术 报表数据的预设排列顺序会与数据库中的数据记录的存放顺序相同,因此会毫无规则且不会依照任何顺序来排列。Crystal Reports提供“记录排序专家”对话框来完成对报表数据的排序,如图...
  • 同时,在某些业务中还会按照一些字段分组,比如地区、类别等,在报表展示或打印时则要求先按照字段进行分组,将分组字段相同的数据放到一组内进行明细数据的打印,并在组内要求实现补空行操作。另外,对于分组数据,...
  • 使用多级分组报表展现分类数据

    千次阅读 2017-09-20 10:23:50
    分组报表,是所有报表中最基本、最常见的报表类型,也是所有报表工具中都支持的报表格式。
  • 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的销售情况; 报表效果 报表设计过程 首先需要选择一款适合的报表工具,这里采用 积木报表平台 进行设计,具体步骤如下: 1. 数据...
  • -- 商户统计查询 select   ccu.id,ccu.currencyname,css.id,css.supplierno,css.suppliername,  sum(cb.PAYAMOUNT)-sum(cb.COMAMT)-sum(cb.TELEFEE) 人民币交易额,  Min(cb.sendtime) 购汇开始日期, ...
  • RDLC报表系列(二) 行分组 原文:RDLC报表系列(二) 行分组 接上一篇文章的内容,今天来说的是行分组。还是打开demo1.rdlc界面,拖入一个文本框和表  1.在表中随便选择一个字段,不然在添加行组的...
  • 如何快速创建一个分组报表呢,在创建的报表上,创建子报表,使用“Report/Group Expert.....将各分组计算列字段进行设置,报表设计样式如下: 在程序中预览分组效果,基本已经成功,只是提货地点数据行重复,并且统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,483
精华内容 1,393
关键字:

对报表按类别字段分组