Forum Discussion
Use Network Graph by Powerviz to create entity/shareholder hierarchy with ownership percentage
- 11 months ago
Hi celine_84
Since Network Graph by Powerviz is an external visual and not a native Microsoft visual, the community here cannot fully confirm compatibility. The best approach is to check directly with the vendor’s support and documentation.
You can reach it or from marketplace :
or by the link:
https://powerviz.ai/contact-usIf this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
- 10 months ago
Hi celine_84 , Thank you for reaching out to the Microsoft Community Forum.
The issue you’re seeing happens because the visual treats each node code as a single unique point. When you add paths, entities like 020163 still appear only once, so their children won’t connect under every branch they belong to. You need to clone node instances for each distinct ownership path while keeping the original code as a label.
In practice, when you unfold ownership paths in Power Query or your database, generate a unique ID per node per path. Use these unique IDs as the node keys in the Network Graph and use the original codes only as labels. This allows the same entity to appear in multiple branches, preserving every ownership route correctly.
You can then filter by the root shareholder to show only the edges and node instances from paths starting with that shareholder. This avoids the split effect you see now, because each ownership path is visually distinct but still labelled with the true entity codes.
Hi celine_84 , hope you are doing great. May we know if your issue is solved or if you are still experiencing difficulties. Please share the details as it will help the community, especially others with similar issues.
- celine_8410 months agoFrequent Visitor
Hi v-hashadapu, I haven't had time to test your solution yet, but I'll let you know as soon as I have! Thank you
- v-hashadapu10 months ago
Community Support
Hi celine_84 , Thanks for the update. When you have had time to test it, please do let us know the results and any insights you came across, that will help others in the community.
- celine_8410 months agoFrequent Visitor
Hi v-hashadapu, the filtering with the PATH functions does not seem to work in my case. From what I have observed, the DAX PATH functions require a strict parent-child hierarchy where each parent can have multiple children but each child can only have one parent. My ownership structure is a graph with multiple branches (one entity can have multiple shareholders), which breaks this rule.
Do you have an alternative to suggest ? Maybe the Network Graph by Powerviz is not appropriate in my case.- lbendlin10 months ago
Super User
Network graphs and hierarchies are slightly different things. Having said that, one approach to multiparent scenarios is to clone the child nodes like so Parent-Child Hierarchies with multiple parents in Power BI with Power Query
- v-hashadapu10 months ago
Community Support
Hi celine_84 , Thank you for reaching out to the Microsoft Fabric Community Forum.
lbendlin is correct, network graphs and hierarchies aren’t the same thing and that’s exactly why the DAX PATH functions fail in your scenario. Those functions only work for strict parent-child trees, where each child has a single parent. In an ownership structure with multiple shareholders per entity, the relationships form a network (graph) rather than a simple hierarchy, so PATH can’t interpret them.
Cloning child nodes in Power Query is a known workaround if you need to mimic a hierarchical layout or use visuals that expect a single-parent hierarchy. Essentially, it creates parallel tree paths for each ownership relationship. However, if your goal is to explore true multi-parent ownership links interactively, then Network Graph by Powerviz remains appropriate, just keep only the direct shareholder-entity links (Source -> Target) in the data you feed to the visual. This keeps the graph clean and allows navigation through ownership layers without forcing an artificial hierarchy.
Thank you lbendlin for your valuable response.
- celine_8410 months agoFrequent Visitor
Hi v-hashadapu, thank you for your explanations on the differences between hierarchies and network graphs. However, I don't quite understand how to use child node cloning in my case to filter a shareholder and display all of their ownership layers. The tests I have performed so far have not been successful.
- v-hashadapu10 months ago
Community Support
Hi celine_84 , Thank you for reaching out to the Microsoft Community Forum.
To make a shareholder’s full ownership tree inside Power BI you must precompute paths (clone child nodes). Start from your direct Edges table (Source, Target, Ownership) and run a Power Query routine that expands outward from a chosen start node: find its direct targets, then targets-of-targets, etc., up to a maxDepth. Each discovered edge becomes a row annotated with a PathID and Level so the same entity can appear multiple times (once per distinct path). Loading that table into the model gives you an explicit everything owned by X dataset you can filter and report on.
Make sure to add two protections, limit maxDepth (3–5 for interactivity) so the table doesn’t explode and prevent cycles by rejecting any next node already present in the same PathID. Without cycle detection a loop in ownership will create runaway duplicates and break tests. Create PathID by concatenating the parent path with a small suffix so you can trace which route produced each cloned node.
Wire it as a parameterized function and expose startNode via a Power Query parameter or a disconnected slicer table that a wrapper query reads. Calling the function for a given shareholder returns the unfolded edges for that shareholder; feed that to the Network Graph (Source -> Target) or any table/visual and it will show all direct and indirect holdings.
If you only need interactive exploration and not a precomputed full tree, skip cloning. Keep a simple Source -> Target table and use the network visual’s expand-on-click. Cloning is only necessary when you must filter or report all entities owned (directly+indirectly) by X inside Power BI.