如何在Power Query Editor中将Power BI双标签列转换为单列结构?
在Power Query Editor中拆分Tag列的操作步骤
原示例表格
| Date | Name | Tag 1 | Tag 2 |
|---|---|---|---|
| 31/04/2023 | Joe | Happy | Excited |
| 31/05/2023 | Casper | Happy | |
| 31/05/2023 | Emile | Excited | Happy |
期望结果表格
| Date | Name | Tag |
|---|---|---|
| 31/04/2023 | Joe | Happy |
| 31/04/2023 | Joe | Excited |
| 31/05/2023 | Casper | Happy |
| 31/05/2023 | Emile | Excited |
| 31/05/2023 | Emile | Happy |
方法一:可视化界面操作
- 打开Power Query Editor:在Power BI桌面端,点击主页选项卡 > 转换数据。
- 选中目标表格,按住Ctrl键选中
Tag 1和Tag 2两列。 - 切换到转换选项卡,点击逆透视列 > 逆透视列(仅选中的列)。
- 表格会生成
Attribute和Value两列,直接删除Attribute列。 - 右键点击
Value列,选择重命名,将其改为Tag。 - 若存在空标签行(比如Casper的Tag 2为空),选中
Tag列,点击开始选项卡 > 删除行 > 删除空值,清理无效行。 - 点击关闭并应用,完成转换。
方法二:M代码直接替换
如果习惯用代码操作,可按以下步骤执行:
- 打开Power Query Editor,选中目标表格,点击高级编辑器。
- 将原有代码替换为以下内容(注意把
Source替换成你实际的数据源名称):
let Source = 你的实际数据源, // 替换为真实数据源,比如Excel.Workbook(File.Contents("文件路径"), null, true) #"Unpivoted Selected Columns" = Table.Unpivot(Source, {"Tag 1", "Tag 2"}, "Attribute", "Value"), #"Removed Attribute Column" = Table.RemoveColumns(#"Unpivoted Selected Columns",{"Attribute"}), #"Renamed Value to Tag" = Table.RenameColumns(#"Removed Attribute Column",{{"Value", "Tag"}}), #"Filtered Empty Tags" = Table.SelectRows(#"Renamed Value to Tag", each not List.Contains({null, ""}, [Tag])) in #"Filtered Empty Tags"
- 点击完成,即可得到目标表格。
内容的提问来源于stack exchange,提问作者Yannick
相关产品推荐
相关产品推荐

