|结构化数据上用序号访问成员的问题
【摘要】 序号访问是指通过序号(索引下标)来访问有序集合的成员 。 序号访问除了按单个序号访问集合成员 , 还有按多个序号同时取多个成员的需求 。 除此以外 , 还有用倒数的序号访问成员 , 按固定跨度访问成员等等 。 如何简单快捷的实现这些序号访问需求?这里将为你全程剖析 , 并提供 esProc SPL 示例代码 。 结构化数据上用序号访问成员的问题
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》中还有更多相关计算示例 。
本文插图
推荐阅读
- 消息资讯|Veritas收购Globanet,扩展其数据合规产品支持微信与钉钉
- 兴趣|百度双十一搜索大数据背后,藏着整个电商产业新格局
- 折射出|数据增长新思维:留量思维折射出新的增长体系
- 数字化|BIM技术进阶:实现数据互联互通
- 垄断|大数据杀熟或认定为垄断,值得期待
- 亚马逊|欧盟指控亚马逊滥用“大数据”
- 周小川|央行原行长周小川:互联网科技巨头掌控大量数据,形成垄断抑制公平竞争
- 教育|教育大咖齐聚长沙,共话AI+大数据如何赋能智慧教育
- GrowingIO|蛮牛健康选择 GrowingIO,数据打造直连用户的大健康平台
- 评价|2021校友会中国大学排名数据调查延长时间的通知
