期望结果:

按照成绩划分区间段来分组时,定义好值的划分区间后,只需用 pseg 函数便可以将分数分好段,然后统计出各段人次即可。

SPL 代码如下:

  A B
1 =clipboard().import@t() /从剪贴板导入分数表
2 =[0,60,90] /定义分数分段区间
3 =["C","B","A"] /定义对应区间名称
4 =A1.align@a(A2.len(),A2.pseg(Score)) /算出成绩所在段,按照段分组
5 =A4.new(A3(#):Level,~.count():Count) /统计各段人次,产生新序表
6 =clipboard(A5.export@t()) /将导出结果放置到剪贴板

五、可重叠分组

如下为 2019 年部分国家的 GDP 产值。现在想按发达国家,发展中国家以及金砖五国分类,计算一下各类的平均 GDP。

2019 年部分国家 GDP 数据 (单位:亿美元):

期望结果:

可以看到,其中的发展中国家跟金砖五国,是有重复数据的。像这种重复划分的需求,可以使用 enum 枚举函数,通过对数值的枚举,可以很自由地定义分组条件。

SPL 代码:

  A B
1 =clipboard().import@t() /从剪贴板导入国家 GDP 产值表
2 ["America","Japan","Germany","Britain","France","Italy","Canada","Korea","Australia"].pos(?)>0 /枚举出发达国家
3 ["China","India","Mexico","SouthAfrica"].pos(?)>0 /枚举发展中国家
4 ["Brazil","Russia","India","China","South   Africa"].pos(?)>0 /枚举金砖五国
5 =[A2:A4] /构造枚举条件序列
6 =["Developed","Developing","BRICS"] /枚举条件的对应名称
7 =A1.enum@r(A5,Country) /使用枚举函数对国家分组,注意如果允许重复数值的分组,要带上选项 r
8 =A7.new(A6(#):Countries,~.avg(GDP):Average) /对分组后的数值计算平均 GDP,并产生新序表
9 =clipboard(A8.export@t()) /将结果导出并放置到剪贴板

SPL Cookbook》中还有更多敏捷计算示例。

Excel 特殊分组汇总示例的更多相关文章

  1. MongoDB分组汇总操作,及Spring data mongo的实现

    转载请在页首注明作者与出处 一:分组汇总 1.1:SQL样例 分组汇总的应用场景非常多,比如查询每个班级的总分是多少,如果用关系形数据库,那么sql是这样子的 ),class from score g ...

  2. gridpanel分组汇总

    [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总 2015-05-31     86 本文地址:http://blog.csdn.net/sushengmi ...

  3. Grid分组汇总

    Ext.onReady(function () {                Ext.define('personInfo', {                    extend: 'Ext. ...

  4. ASP.NET导出excel表方法汇总

    asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...

  5. 8第八章CTE递归及分组汇总高级部分(多维数据集)(转载)

    8第八章CTE递归及分组汇总高级部分(多维数据集) 这里贴图太麻烦...算了 UNION 等集合操作符: UNION 等以第一个 SELECT  的 列明 作为 整个结果集的列明,整个结果集 唯一认可 ...

  6. C# 如何创建Excel多级分组

    在Excel中如果能够将具有多级明细的数据进行分组显示,可以清晰地展示数据表格的整体结构,使整个文档具有一定层次感.根据需要设置显示或者隐藏分类数据下的详细信息,在便于数据查看.管理的同时也使文档更具 ...

  7. python中excel数据分组处理

    1.场景描述 因文本相似性热度统计(python版)需求中要根据故障类型进行分组统计,需要对excel进行分组后再分词统计,简单记录下,有需要的朋友可以直接拿走,不客气! 2.解决方案 采用panda ...

  8. tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)

    | 本文首发于 “生信补给站” https://mp.weixin.qq.com/s/tQt0ezYJj3H7x3aWZmKVEQ 使用tidyverse进行简单的数据处理: 盘一盘Tidyverse ...

  9. Java List对象集合按对象属性分组、分组汇总、过滤等操作示例

    import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Col ...

  10. Oracle导入excel数据方法汇总[转]

    摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...

随机推荐

  1. Spring5课堂笔记

    Spring5 1..Spring 1.1.简介 Spring --> 春天,为开源软件带来了春天 2002,首次推出了Spring框架的雏形:interface21框架! Spring框架以i ...

  2. STM32 LwIP学习过程问题总结(一):LwIP ping不通,抓包发现ICMP校验和为0x0000

    一.问题 今天在将之前的STM32 LwIP1.4.1版本程序移植到2.1.2版本上时,发现ping不同,但是开发板有ICMP回复包,黄颜色警告checksum为0x0000.说明LwIP移植应该是没 ...

  3. python parser 实例解析

    一 parser: 该模块为Python的内部解析器和字节码编译器提供了一个接口.该接口的主要目的是允许Python代码编辑Python表达式的分析树并从中创建可执行代码. 这比试图将任意Python ...

  4. Django使用Bootstrap的经典方法

    前面的话 Bootstrap是简单.灵活的用于搭建WEB页面的HTML.CSS.Javascript的工具集.Bootstrap基于HTML5和CSS3,具有漂亮的设计.友好的学习曲线.卓越的兼容性, ...

  5. JAVA | Guava EventBus 使用 发布/订阅模式

    系列文章目录 Go | Go 语言打包静态文件以及如何与Gin一起使用Go-bindata Go | Gin 解决跨域问题跨域配置 目录 系列文章目录 前言 一.为什么要用 Observer模式以及 ...

  6. C++B树的实现

    B树的实现 今天我们就来实现以下B树,B树有什么特点那?我们来列举一下 每个非叶子节点中存放若干关键字数据,并且有若干指向儿子节点的指针.指针数目=关键字数目+1 根节点有最少1个,最多m-1个关键字 ...

  7. 32_音视频播放器_SDL播放

    目录 一.简介 二.音频重采样 2.1 引入头文件 2.2 定义重采样相关属性 2.3初始化重采样 2.4 重采样 三.SDL播放 四.停止功能 五.处理读完音频包的情况 六.实现调节音量 七.实现静 ...

  8. 性能优化:编译器优化选项 -O2/-O3 究竟有多强大?

    之前的"性能优化的一般策略及方法"一文中介绍了多种性能优化的方法.根据以往的项目经验,开启编译器优化选项可能是立竿见影.成本最低.效果最好的方式了. 这么说可能还不够直观,举个真实 ...

  9. protected和private继承方式的不同

    环境:QT 5.12 继承方式规定了子类如何访问从基类继承的成员.继承方式有public.protected.private三种.继承方式不影响派生类的访问权限,影响了从基类继承而来的成员的访问权限, ...

  10. vue中$forceUpdate()的使用

    刷新数组的作用 this.$forceUpdate(); 具体请看:vue中$forceUpdate()的使用 - 简书 (jianshu.com)