8.3 双向转置
双向转置,行转列,同时列转行。
按渠道分类的销售记录如下:
Day | Online | Store |
---|---|---|
20190101 | 2400 | 1863 |
20190102 | 1814 | 670 |
20190103 | 3730 | 1444 |
想要转换成如下结果:
Category | 20190101 | 20190102 | 20190103 |
---|---|---|---|
Online | 2400 | 1814 | 3730 |
Store | 1863 | 670 | 1444 |
首先列转行,将 Online 和 Store 转换为类别列的字段值。
Day | Category | Sales |
---|---|---|
20190101 | Online | 2400 |
20190101 | Store | 1863 |
20190102 | Online | 1814 |
20190102 | Store | 670 |
20190103 | Online | 3730 |
20190103 | Store | 1444 |
然后行转列,将 Day 字段值的唯一值转换为列名。
Category | 20190101 | 20190102 | 20190103 |
---|---|---|---|
Online | 2400 | 1814 | 3730 |
Store | 1863 | 670 | 1444 |
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query@x(“select * from Sales”) |
3 | =A2.pivot@r(Day; Category, Sales) |
4 | =A3.pivot(Category; Day, Sales) |
A3 使用 pivot@r 列转行,将 Online,Store 等渠道类型转换为 Category 的字段值。
A4 使用 pivot 行转列,将日期字段的值转换为字段名。