集深V5复杂SQL设计分组报表
2013-09-24 10:05
239 查看
一、报表实例
我们先看分组报表是如何设计的。二、设计过程
1、定义数据集ds22
ds22:select DEMO_CUSTOMERS.城市,DEMO_CUSTOMERS.地区,DEMO_ORDERDETAILS.数量,DEMO_ORDERDETAILS.单价,DEMO_ORDERDETAILS.折扣比例 from DEMO_CUSTOMERS,DEMO_ORDERS,DEMO_ORDERDETAILS where DEMO_CUSTOMERS.客户ID=DEMO_ORDERS.客户ID and DEMO_ORDERS.订单ID=DEMO_ORDERDETAILS.订单ID2、编辑报表
(1)A3单元格表达式:=ds22.group(地区,false)(2)B3单元格表达式:=ds22.group(城市,false)
(3)C3单元格表达式:=ds22.sum(数量*单价),显示格式:¥#,##0.00
3、保存预览
此报表保存为“地区销售统计表1”,预览。三、小结
分组报表
从上面的表达式可以看出,该报表最关键的是A3格和B3格,利用group函数对数据集进行了分组,并把分组结果在报表中进行纵向扩展。这个例子用到了group()函数,下面我们做一下介绍。
group()
函数说明: 根据分组表达式,从数据集中选出一组组集。语法: datasetName.group(<selectExp>, ,<filterExp>) //适用于不需要排序或数据集中已排好序
datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp,rootGroupExp}}}}}})
参数说明:
selectExp 选出的分组表达式,可以是字段列名/列号,也可以是表达式.列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推
descExp 分组前记录的排序顺序,true为逆序,false为顺序
filterExp 过滤表达式
sortExp 分组前记录的排序依据表达式
groupSortExp 分组后对组的排序表达式,一般是汇总运算的表达式
groupDescExp 组排序顺序,true为逆序,false为顺序
rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false, 则从本单元格主格的结果集里取数
返回值: 一组数据的集合,数据类型由selectExp的运算结果来决定
示例:
例1:ds1.group(class) 把数据集ds1中所有记录按照class字段进行分组,并返回每组的class值组成的集合。
例2:ds1.group(class, true) 把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例3:ds1.group(class,false,sex=='1') 从数据集ds1中选取sex=='1'的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例4:ds1.group(class, true, sex=='1', id ) 从数据集ds1中选取sex=='1'的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例5:ds1.group(省份,true,,,ds1.sum(工业产值),true) 对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列。
相关文章推荐
- 复杂报表设计
- 利用VB设计打印复杂报表——OFFICE里面的一些小技巧
- 关于数据仓库中复杂报表SQL语句的写法
- 报表设计--分组报表-多层分组-纵向扩展
- SQL 报表设计器中的格式
- 简单三招,设计复杂ERP报表
- 复杂sql分组查询 ( pivot)
- 关于数据仓库中复杂报表SQL语句的写法
- 分组小计合计报表的SQL
- 使用SQL Server Business Intelligence Development Studio 2005设计报表模型时的一个容易被忽视的问题
- 报表设计-分组报表-分组小计
- SQL分组报表一例(摘自book online)
- 报表设计--分组报表-分组小计
- 设计SQL 2005 Report报表
- 报表设计--分组报表-多层分组-横向扩展
- 利用VB设计打印复杂报表
- 如何使用即时报表设计分组报表
- 利用VB设计打印复杂报表
- 使用SQL Server Business Intelligence Development Studio 2005设计报表模型时的一个容易被忽视的问题
- 报表设计--分组报表-多层分组-数据汇总