Power BI 的数据集转换
Data set Transformation for Power BI
实际上,我正在使用 Power BI 来分析作者的出版物数量和趋势。
我有下图所示的数据集。
一列作者和另一列用于他们的 ID
在每个单元格中,我同时拥有多个作者,他们的 ID 相同
所以我的问题
有没有办法将每个作者与其 ID 匹配,以便我可以继续进行分析。
非常感谢
由于您选择以屏幕截图的形式提供数据,无法将其copy/pasted转换为table,因此我不得不自己补足。
- 将每一列拆分成一个列表
- 将两个列表合并成一个table
来源
M代码(转换=>主页=>高级编辑器)
let
Source = Table.FromRecords(
{[Authors="Author A, Author B", #"Author(s) ID"="12345;67890;"],
[Authors="Author C,Author D,Author E", #"Author(s) ID"="444123;789012;66666;"],
[Authors="Author X, Author Y, Author Z, Author P", #"Author(s) ID"="1111;2222;3333;4444;"]}),
#"Changed Type" = Table.TransformColumnTypes(Source, {{"Authors", type text},{"Author(s) ID", type text}}),
//split each column into a List; trim the entries
authors = List.Combine(List.Transform(#"Changed Type"[Authors], each Text.Split(Text.Trim(_),","))),
IDs = List.Combine(List.Transform(#"Changed Type"[#"Author(s) ID"], each Text.Split(Text.Trim(_,";"),";"))),
//create new table
result = Table.FromColumns({authors,IDs},
type table[Authors=text, #"Author(s) ID"=text])
in
result
结果
实际上,我正在使用 Power BI 来分析作者的出版物数量和趋势。 我有下图所示的数据集。 一列作者和另一列用于他们的 ID 在每个单元格中,我同时拥有多个作者,他们的 ID 相同 所以我的问题 有没有办法将每个作者与其 ID 匹配,以便我可以继续进行分析。
非常感谢
由于您选择以屏幕截图的形式提供数据,无法将其copy/pasted转换为table,因此我不得不自己补足。
- 将每一列拆分成一个列表
- 将两个列表合并成一个table
来源
M代码(转换=>主页=>高级编辑器)
let
Source = Table.FromRecords(
{[Authors="Author A, Author B", #"Author(s) ID"="12345;67890;"],
[Authors="Author C,Author D,Author E", #"Author(s) ID"="444123;789012;66666;"],
[Authors="Author X, Author Y, Author Z, Author P", #"Author(s) ID"="1111;2222;3333;4444;"]}),
#"Changed Type" = Table.TransformColumnTypes(Source, {{"Authors", type text},{"Author(s) ID", type text}}),
//split each column into a List; trim the entries
authors = List.Combine(List.Transform(#"Changed Type"[Authors], each Text.Split(Text.Trim(_),","))),
IDs = List.Combine(List.Transform(#"Changed Type"[#"Author(s) ID"], each Text.Split(Text.Trim(_,";"),";"))),
//create new table
result = Table.FromColumns({authors,IDs},
type table[Authors=text, #"Author(s) ID"=text])
in
result
结果