如何解决有没有办法组合月份和年份并使用 PowerQuery 在单独的列转换中添加城市?
有没有办法使用 PowerQuery 实现这种转换?
输入表:
城市年 | 月 | 价值 |
---|---|---|
伦敦 | ||
2016 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 | |
2017 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 | |
巴黎 | ||
2016 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 | |
2017 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 | |
罗马 | ||
2016 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 | |
2017 | 一月 | 19 |
二月 | 20 | |
三月 | 17 | |
四月 | 20 |
输出:
城市 | 月/年 | 价值 |
---|---|---|
伦敦 | 2016 年 1 月 | 19 |
伦敦 | 2016 年 2 月 | 20 |
伦敦 | 2016 年 3 月 | 17 |
伦敦 | 2016 年 4 月 | 20 |
伦敦 | 2017 年 1 月 | 19 |
伦敦 | 2017 年 2 月 | 20 |
伦敦 | 2017 年 3 月 | 17 |
伦敦 | 2017 年 4 月 | 20 |
巴黎 | 2016 年 1 月 | 19 |
巴黎 | 2016 年 2 月 | 20 |
巴黎 | 2016 年 3 月 | 17 |
巴黎 | 2016 年 4 月 | 20 |
巴黎 | 2017 年 1 月 | 19 |
巴黎 | 2017 年 2 月 | 20 |
巴黎 | 2017 年 3 月 | 17 |
巴黎 | 2017 年 4 月 | 20 |
罗马 | 2016 年 1 月 | 19 |
罗马 | 2016 年 2 月 | 20 |
罗马 | 2016 年 3 月 | 17 |
罗马 | 2016 年 4 月 | 20 |
罗马 | 2017 年 1 月 | 19 |
罗马 | 2017 年 2 月 | 20 |
罗马 | 2017 年 3 月 | 17 |
罗马 | 2017 年 4 月 | 20 |
解决方法
这是使用示例数据架构执行此操作的蛮力方法:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8snPS8nPU9JRAqFYnWglIwNDMyDbKzGvNLGoEsgytASLA1luqUlFUEEjA5igb2JRcgZImTlMxLGgKDMHoQZooDlVDQxILMosHlIuDsrPTR06Do4FAA==",BinaryEncoding.Base64),Compression.Deflate)),let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"City Year" = _t,Month = _t,Value = _t]),#"Added Custom" = Table.AddColumn(Source,"City",each if [Month] = "" then [City Year] else null,type text),#"Filled Down" = Table.FillDown(#"Added Custom",{"City"}),#"Filtered Rows" = Table.SelectRows(#"Filled Down",each ([Month] <> "")),#"Replaced Value" = Table.ReplaceValue(#"Filtered Rows","",null,Replacer.ReplaceValue,{"City Year"}),#"Filled Down1" = Table.FillDown(#"Replaced Value",#"Inserted Merged Column" = Table.AddColumn(#"Filled Down1","Month/Year",each Text.Combine({[Month],[City Year]}," "),#"Removed Other Columns" = Table.SelectColumns(#"Inserted Merged Column",{"City","Value"})
in
#"Removed Other Columns"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。