分组汇总后按指定序列对齐

复制代码
Oracle数据的temp_data表如下。

|---------------------|--------|
| TRANSACT_DT_TM | LETTER |
| 2023-01-01 00:00:00 | K |
| 2023-01-02 00:00:00 | K |
| 2023-01-02 00:00:00 | L |
| 2023-01-03 00:00:00 | Q |
| 2024-01-02 00:00:00 | Y |
| 2024-01-03 00:00:00 | B |

复制代码
temp_data表的LETTER字段是外键,指向temp_ref表的LETTER字段。temp_ref表的LETTER_SEQ规定了LETTER的顺序。

|--------|------------|
| LETTER | LETTER_SEQ |
| Y | 10 |
| B | 20 |
| Q | 30 |
| K | 40 |
| L | 50 |

复制代码
要求:对temp_data按照年份和LETTER分组,对记录数计数,再按照年份、LETTER的叉乘对齐,对不上则为null。叉乘时年份按时间顺序排列,LETTER按LETTER_SEQ的顺序排列。

|------|--------|-----|
| YEAR | LETTER | CNT |
| 2023 | Y | |
| 2023 | B | |
| 2023 | Q | 1 |
| 2023 | K | 2 |
| 2023 | L | 1 |
| 2024 | Y | 1 |
| 2024 | B | 1 |
| 2024 | Q | |
| 2024 | K | |
| 2024 | L | |

编写SPL代码:

|---|---------------------------------------------------------------------------------------------------------------------------------------|
| | A |
| 1 | =orcl.query("select to_char(TRANSACT_DT_TM,'YYYY') , LETTER,count(1) from temp_data group by to_char(TRANSACT_DT_TM,'YYYY'), LETTER") |
| 2 | =orcl.query("select LETTER from temp_ref order by LETTER_SEQ") |
| 3 | =xjoin(A1.id(#1):YEAR;A2:LETTER).join(#1:#2,A1:#1:#2,#3:CNT) |

A1、A2:执行简单SQL,对temp_data分组汇总;按顺序取出 LETTER。

A3:先叉乘,再外键式关联 A1。#1 表示第 1 个字段。

开源SPL 源码地址

相关推荐
Elastic 中国社区官方博客1 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
程序员在囧途1 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
cookies_s_s1 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
龙石数据2 小时前
MySQL 全量同步到 Hive 怎么做?三步配置教程
数据库·hive·mysql·数据治理·数据中台
重庆传粉科技2 小时前
传粉科技助力美国房产经纪企业Homequest开拓中国市场
大数据·人工智能
程序员在囧途2 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
盐焗鹌鹑蛋2 小时前
【C++】继承
开发语言·c++
Java小白笔记2 小时前
Codex Skills 分类整理
大数据·人工智能·elasticsearch·搜索引擎·ai·ai编程·ai写作
杨逢昌工厂6S管理3 小时前
26-杨逢昌:制造企业6S改善提案落地低效解决方案——四级分级激励标准化体系,成效验证:车间现场熵增隐患下降65%。
大数据
数据工匠老o3 小时前
连接池配置实战——从“连不上“到“连太多“的完整排查指南
数据库