匹配多个值(逗号分隔)Power BI
Match Multiple Values (Comma Delimited) Power BI
我正在处理这组数据,( articles ID (EID) & authors)
我想将作者或他们的 ID 与每篇 ID 文章进行匹配。
示例:作者 1:文章 1、文章 8 ...
我不知道如何在 M 或 DAX 中执行此操作。
P.S : 我试图拆分作者专栏并取消透视但它没有用。
这些是您想要做的吗?
在powerquery/M中:
右键单击作者 ID 列,按分隔符、分号、每次出现、高级选项拆分列,拆分为行。然后过滤掉空白行并删除多余的列
中间版本:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Author(s) ID", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Author(s) ID"),
#"Filtered Rows" = Table.SelectRows(#"Split Column by Delimiter", each ([#"Author(s) ID"] <> "")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Authors with affiliates"})
in #"Removed Columns"
或者,正确的版本:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Author(s) ID", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Author(s) ID"),
#"Filtered Rows" = Table.SelectRows(#"Split Column by Delimiter", each ([#"Author(s) ID"] <> "")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Authors with affiliates"}),
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Author(s) ID"}, {{"EIDs", each Text.Combine(List.Transform([EID], Text.From), ","), type text}})
in #"Grouped Rows"
Power query 有很好的工具来完成这个任务。我没有看到在你的数据集中拆分“有附属关系的作者”列的好方法,所以这个答案会给你“作者 ID”和“EID”之间的关系:
- 右键单击“作者 ID”列,然后 select 拆分列 > 按分隔符
- 将分隔符设置为分号并在“每次出现分隔符”处拆分
- 在高级选项中,select拆分成行
这将为每个作者 ID 和 EID 组合创建一行。 “有附属关系的作者”列将具有重复值。
我正在处理这组数据,( articles ID (EID) & authors)
我想将作者或他们的 ID 与每篇 ID 文章进行匹配。
示例:作者 1:文章 1、文章 8 ...
我不知道如何在 M 或 DAX 中执行此操作。 P.S : 我试图拆分作者专栏并取消透视但它没有用。
这些是您想要做的吗?
在powerquery/M中:
右键单击作者 ID 列,按分隔符、分号、每次出现、高级选项拆分列,拆分为行。然后过滤掉空白行并删除多余的列
中间版本:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Author(s) ID", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Author(s) ID"),
#"Filtered Rows" = Table.SelectRows(#"Split Column by Delimiter", each ([#"Author(s) ID"] <> "")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Authors with affiliates"})
in #"Removed Columns"
或者,正确的版本:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {{"Author(s) ID", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Author(s) ID"),
#"Filtered Rows" = Table.SelectRows(#"Split Column by Delimiter", each ([#"Author(s) ID"] <> "")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Authors with affiliates"}),
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Author(s) ID"}, {{"EIDs", each Text.Combine(List.Transform([EID], Text.From), ","), type text}})
in #"Grouped Rows"
Power query 有很好的工具来完成这个任务。我没有看到在你的数据集中拆分“有附属关系的作者”列的好方法,所以这个答案会给你“作者 ID”和“EID”之间的关系:
- 右键单击“作者 ID”列,然后 select 拆分列 > 按分隔符
- 将分隔符设置为分号并在“每次出现分隔符”处拆分
- 在高级选项中,select拆分成行
这将为每个作者 ID 和 EID 组合创建一行。 “有附属关系的作者”列将具有重复值。