我有一个包含 40,000 多个历史绩效评级记录的表格,我需要使用 Excel 或 Google Sheets 将其转换为列。在 SQL 中,我会编写一个 case 语句,但此信息不在我的数据仓库中。
身份证 | 循环 | 评分 |
---|---|---|
A | 1 | 我 |
A | 2 | MM |
B | 1 | EE |
B | 2 | 我 |
我希望桌子是这样的
身份证 | 周期1 | 周期2 |
---|---|---|
A | 我 | MM |
B | EE | 我 |
我尝试了数据透视表,但它们是用于聚合的。我尝试在 Google Sheets 中查询,但无法弄清楚。我想我可以过滤和复制/粘贴,但我希望有一个更具编程性的解决方案。
在 Excel 中,您可以使用 Power Query 对表格进行透视:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Cycle", Int64.Type}, {"Rating", type text}}),
#"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Changed Type", {{"Cycle", type text}}, "en-AU"), List.Distinct(Table.TransformColumnTypes(#"Changed Type", {{"Cycle", type text}}, "en-AU")[Cycle]), "Cycle", "Rating")
in
#"Pivoted Column"