PowerBI:将对象列表连接为列
PowerBI: Concatenate Object List As Column
我正在创建一个显示项目和项目成员列表的 PowerBI 仪表板。我希望列表的每一行都有项目,并且有一个名为 "Members" 的列,该列将以逗号分隔的文本列出成员。不幸的是,我的数据源具有作为对象数组的成员,而 PowerBI 似乎只支持扩展字符串数组。
我已经尝试过查询编辑器和高级编辑器,但似乎无法获得正确的 format/command。
在 JSON 格式中,我的数据会这样输入:
[
{
projectName: "A",
members: [
{
firstName: "John",
lastName: "Doe"
},
{
firstName: "Jane",
lastNahe: "Doe"
}
]
}
]
我希望能够这样显示:
| Project | Members |
---------------------------------------
| A | John Doe, Jane Doe |
有什么想法吗?看起来像是一项简单的任务,但我遇到的麻烦比我应该做的要多得多。谢谢!
我给你 JSon 文件,添加了一个额外的项目以进行适当的测试,并使用 M-Query 得到你正在寻找的结果:
let
Source = Json.Document(File.Contents("C:\yourpath\ProMem.json")),
#"Converted to Table1" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1", {"projectName", "members"}, {"projectName", "members"}),
#"Expanded members" = Table.ExpandListColumn(#"Expanded Column1", "members"),
#"Expanded members1" = Table.ExpandRecordColumn(#"Expanded members", "members", {"firstName", "lastName"}, {"firstName", "lastName"}),
#"Merged Columns" = Table.CombineColumns(#"Expanded members1",{"firstName", "lastName"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Name"),
#"Grouped Rows" = Table.Group(#"Merged Columns", {"projectName"}, {{"Members", each Text.Combine([Name],", "), type text}})
in
#"Grouped Rows"
我正在创建一个显示项目和项目成员列表的 PowerBI 仪表板。我希望列表的每一行都有项目,并且有一个名为 "Members" 的列,该列将以逗号分隔的文本列出成员。不幸的是,我的数据源具有作为对象数组的成员,而 PowerBI 似乎只支持扩展字符串数组。
我已经尝试过查询编辑器和高级编辑器,但似乎无法获得正确的 format/command。
在 JSON 格式中,我的数据会这样输入:
[
{
projectName: "A",
members: [
{
firstName: "John",
lastName: "Doe"
},
{
firstName: "Jane",
lastNahe: "Doe"
}
]
}
]
我希望能够这样显示:
| Project | Members |
---------------------------------------
| A | John Doe, Jane Doe |
有什么想法吗?看起来像是一项简单的任务,但我遇到的麻烦比我应该做的要多得多。谢谢!
我给你 JSon 文件,添加了一个额外的项目以进行适当的测试,并使用 M-Query 得到你正在寻找的结果:
let
Source = Json.Document(File.Contents("C:\yourpath\ProMem.json")),
#"Converted to Table1" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table1", "Column1", {"projectName", "members"}, {"projectName", "members"}),
#"Expanded members" = Table.ExpandListColumn(#"Expanded Column1", "members"),
#"Expanded members1" = Table.ExpandRecordColumn(#"Expanded members", "members", {"firstName", "lastName"}, {"firstName", "lastName"}),
#"Merged Columns" = Table.CombineColumns(#"Expanded members1",{"firstName", "lastName"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Name"),
#"Grouped Rows" = Table.Group(#"Merged Columns", {"projectName"}, {{"Members", each Text.Combine([Name],", "), type text}})
in
#"Grouped Rows"