excel - 在复制行的其余部分时拆分单元格中的多个数据
问题描述
我正在尝试将 Pokemon DB 标准化为 1NF,但是,我不确定如何在 Excel 中执行此操作。
我想在“能力”中获取多个数据条目并将它们拆分并复制该行。
原始数据
+----------------+-----------+---------------+-----------------------------+
| pokedex_number | name | classfication | abilities |
+----------------+-----------+---------------+-----------------------------+
| 1 | Bulbasaur | Seed Pokemon | ['Overgrow', 'Chlorophyll'] |
| 2 | Ivysaur | Seed Pokemon | ['Overgrow', 'Chlorophyll'] |
| 3 | Venusaur | Seed Pokemon | ['Overgrow', 'Chlorophyll'] |
+----------------+-----------+---------------+-----------------------------+
所需数据
+----------------+-----------+---------------+-------------+
| pokedex_number | name | classfication | abilities |
+----------------+-----------+---------------+-------------+
| 1 | Bulbasaur | Seed Pokemon | Overgrow |
| 1 | Bulbasaur | Seed Pokemon | Chlorophyll |
| 2 | Ivysaur | Seed Pokemon | Overgrow |
| 2 | Ivysaur | Seed Pokemon | Chlorophyll |
| 3 | Venusaur | Seed Pokemon | Overgrow |
| 3 | Venusaur | Seed Pokemon | Chlorophyll |
+----------------+-----------+---------------+-------------+
解决方案
使用Power Query
(aka Get&Transform
) 将能力列拆分为行
然后删除无关字符[]'
这一切都可以通过 PQ GUI 完成。
M-代码
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Replaced Value" = Table.ReplaceValue(Source,"[","",Replacer.ReplaceText,{"abilities"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","'","",Replacer.ReplaceText,{"abilities"}),
#"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","]","",Replacer.ReplaceText,{"abilities"}),
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Replaced Value2", {{"abilities", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "abilities"),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"abilities", type text}})
in
#"Changed Type"
结果
推荐阅读
- python-3.x - 如何在 QTreeView 中为文件类型使用系统默认图标
- discord.js - 更改语音通道服务器区域不和谐 js
- kubernetes - 来自我们的 AKS 集群的间歇性响应;怀疑负载均衡器问题
- java - Eclipse Javafx 可运行 Jar
- sql - 寻找返回传递参数的最佳方法,以允许我在 SQL 中返回特定客户或所有客户
- html-email - 将带有链接的 HTML 电子邮件直接发送回应用程序,我们如何禁用以便“预览”或扫描不会点击这些链接?
- ruby-on-rails - graphql过滤单元测试
- javascript - 如何使输入->值->类型->搜索动态?
- javascript - 将文件的base64值发送到api
- regex - RegEx中的具体位置