7.26 OuterApply 运算
对序表和序列值进行 Outer Apply 运算生成新序表。
根据发帖记录表,统计每位作者最常用的标签。
ID | TITLE | Author | Label |
---|---|---|---|
1 | Easy analysis of Excel | Ashley | Excel,ETL,Import,Export |
2 | Early commute: Easy to pivot excel | Rachel | Excel,Pivot,Python |
3 | Initial experience of SPL | Rebecca | |
4 | Talking about set and reference | Emily | Set,Reference,Dispersed,SQL |
5 | Early commute: Better weapon than Python | Emily | Python,Contrast,Install |
… | … | … | … |
使用 A.news() 函数的 @1 选项进行 Outer Apply 运算。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query@x(“select * from PostRecord”) |
3 | =A2.news@1(A2.Label.split@c(); ID,Title,Author,~:Label) |
4 | =A3.groups(Author,Label;count(~):Count) |
5 | =A4.group(Author).conj(~.maxp@a(Count)) |
A1 连接数据库
A2 查询发帖记录表
A3 使用 A.news 函数的 @1 选项对帖子和拆分后的标签序列进行 Outer Apply 运算,当标签不存在时仍保留发帖记录
A4 分组汇总每位作者各标签的数量
A5 按作者分组选出所有数量最多的标签
运行结果:
Author | Label | Count |
---|---|---|
Rebecca | (null) | 1 |
Ashley | Excel | 3 |
Ashley | SPL | 3 |
Rachel | Python | 4 |
… | … | … |