Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
I am working in Excel Power Query and I am trying to take a table that details relationships between two values example below
| From | To |
| A | B |
| B | C |
| C | D |
| C | E |
| X | Y |
| Y | Z |
And output this
| From | To |
| A | {B,C,D,E} |
| X | {Y,Z} |
Would really appreciate a steer or pointers about how I can do this.
Solved! Go to Solution.
let
dataTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUXJSitWJBpI6Ss5gljOQ5QJnuYJZEUBWJJgVCWRFKcXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [From = _t, To = _t]),
fx = (tbl, s) =>
let
a = List.Combine(List.Transform(s, (v) => Table.SelectRows(tbl, each [From] = v)[To]))
in
if List.Count(a) = 0 then {} else (a & @Fx(tbl, a)),
result = Table.AddColumn(
Table.SelectRows(dataTable, each Table.RowCount(Table.SelectRows(dataTable, (r) => r[To] = [From])) = 0)[[From]],
"To",
each "{" & Text.Combine(fx(dataTable, {[From]}), ",") & "}"
)
in
result
Amazing!, thank you!
let
dataTable = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUXJSitWJBpI6Ss5gljOQ5QJnuYJZEUBWJJgVCWRFKcXGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [From = _t, To = _t]),
fx = (tbl, s) =>
let
a = List.Combine(List.Transform(s, (v) => Table.SelectRows(tbl, each [From] = v)[To]))
in
if List.Count(a) = 0 then {} else (a & @Fx(tbl, a)),
result = Table.AddColumn(
Table.SelectRows(dataTable, each Table.RowCount(Table.SelectRows(dataTable, (r) => r[To] = [From])) = 0)[[From]],
"To",
each "{" & Text.Combine(fx(dataTable, {[From]}), ",") & "}"
)
in
result
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.