结构化数据上用序号访问成员的问题

1. 单序号访问

我们可以按照单个序号,从数据表中获取一条记录。

【例 1】 求 2019 年上证指数第一个交易日和最后一个交易日的交易信息。部分数据如下:


【SPL脚本】


A3的执行结果如下:



有时候我们需要获取指定位置成员的序号,尤其是倒着取集合成员的序号。比如 2019 年上证指数的记录按时间排序后,倒数第二个交易日的序号是多少?这时我们希望通过参数 -2 来获取真实的序号。

【例 2】 以员工表为例,统计 [California, Texas, New York, Florida] 各州的平均工资,其他地区的员工存放到新组统计。部分数据如下:


【SPL脚本】


A5的执行结果如下:


2. 多序号访问

前面介绍了如何使用单个序号访问集合成员,有时候需要根据多个序号获取多条记录。例如对于某年按月份有序的销售记录表,使用序号集合 [4,5,6] 可以访问第二季度的数据。对于一周的值班表,使用序号集合 [1,7] 可以访问周末的值班记录。

【例 3】 有一个记录日常考勤信息的表,如下图:


每七条数据为一组,想要转换成如下结果:

【SPL脚本】

A4的执行结果如下:

类似的,我们也可以从后向前访问多个成员。

【例 5】 求上证指数 2019 年最后 10 个交易日收盘价较前日的涨幅。部分数据如下:

【SPL脚本】

A4的执行结果如下:


3. 固定跨度访问

固定跨度访问是指按指定的起始序号和固定的跨度访问成员。例如从数据表中抽样,每 10 条记录选出一条,可以从第一条开始取,每 10 条取一次。又比如从 1 到 100 的自然数中,选出所有 3 的倍数,可以从第 3 个数字开始,每 3 个数字取 1 个。

【例 6】 求 100 以内质数。

【SPL 脚本】


A4的执行结果如下:


SPL CookBook》中还有更多相关计算示例。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容