博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用动态宏实现根据字符串参数顺序确定多层分组顺序
阅读量:6888 次
发布时间:2019-06-27

本文共 1011 字,大约阅读时间需要 3 分钟。

有时客户需要根据参数来确定多层分组的分组顺序,我们可以用动态宏来实现,我们来看一个简单的例子:

第一步:设计报表如下,

附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数据集表达式

返回值: 一组数据的集合,数据类型由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中选取性别为"1"的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合

例4:ds1.group(class, true,sex=='1', id ) 从数据源ds1中选取性别为"1"的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合

例5:ds1.group(省份,true,,,ds1.sum(工业产值),true) 对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列

 

转载地址:http://byabl.baihongyu.com/

你可能感兴趣的文章
443.Chapter3
查看>>
http://www.mysqltutorial.org/python-mysql-query/
查看>>
insert时出现主键冲突的处理方法【转载】
查看>>
.Net中的数字类型四则运算的有趣问题
查看>>
《编程珠玑,字字珠玑》45678读书笔记——编程技巧
查看>>
android被逼学习布局管理器
查看>>
1 < 2 < 3为true, 3 > 2 > 1为false
查看>>
(笔记)关于LM3S片内FLASH编程的一点建议
查看>>
数据库对象——表——轻松走进数据库之五
查看>>
统一用户单点登录系统
查看>>
Django Admin的相关知识
查看>>
pycharm + selenium + python 提示 Unresolved reference 'webdriver' 解决办法
查看>>
Maven版本号中隐藏的惊天大秘密
查看>>
支付宝淘宝 - 自定义密码输入框和键盘
查看>>
牛X的规则引擎urule2
查看>>
聊聊Code Review
查看>>
react 通过 classnames 处理 多个class 的问题
查看>>
TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP 报文段中的数据部分是可选的,在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。...
查看>>
Windows和Linux下 Java开发ping工具类
查看>>
13.5.3 用指针处理结构数组
查看>>