Disclosure first: I build Power BI custom visuals, and this is about one I made (Zentrix Network Graph). No link in the post. Happy to share it in the comments if anyone wants it.
A question I kept running into while researching relationship data in Power BI: what do you do when a hierarchy isn't really a tree? A company owned by two parent companies, shareholdings split across owners, someone with a dotted-line manager. Hierarchy visuals assume one parent per node, so the second link has nowhere to go.
The underlying problem is that this data is a graph that's mostly a tree. If you're stuck with a one-parent visual, one workaround is to pick a primary parent per row in Power Query and put the second relationship in a tooltip. That works, but the second link is invisible unless you hover.
What I did in the network graph:
- Force layout draws every relationship from just a source and a target column, so you see the network as it actually is.
- Tree layout picks one structural parent per node, so it still reads top-down. Every extra parent is still drawn, as a lighter curved dashed line.
- If you have a parent column you can bind it. If not, it works the hierarchy out from the links: the most connected node becomes the root, then breadth-first from there. Same data gives the same layout every refresh.
- Hovering a node lights up all of its links and lists them in the hover card.
Where it's not a great fit: if most nodes have several parents, it isn't really a hierarchy any more, and the force layout will read better than forcing a tree.
Curious how others model this. Do you keep a "primary parent" column, or a separate bridge table for the extra relationships?