Join 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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I would like to create a Decomposition Tree like in the diagram below which shows how different users navigate through a website.
I have dimension tables called dim_webpagejourney, dim_webpagecategories and dim_userlocation and a fact table called fact_webpagejourney as shown below. I want to know how I can create the above decomposition tree using these tables. Also in the dashboard I want to have separate filters for the web page categories as shown in the image above which corresponds to each PageViewOrderRank. If I need to restructure my dim and fact tables to achieve this, how can I do this?
Note: The PageViewOrderRank field corresponds to the order in which a user has viewed the webpages e.g. 1 is the 1st page viewed, 2 is the 2nd page viewed etc.
Many thanks for the help in advance.
dim_webpagejourney:
| UserID | WebPageCategoryID | UserLocationID | PageViewOrderRank |
| 1 | 3 | 4 | 1 |
| 2 | 2 | 5 | 1 |
| 2 | 1 | 5 | 2 |
| 3 | 5 | 5 | 1 |
| 4 | 5 | 5 | 1 |
| 5 | 7 | 4 | 1 |
| 5 | 1 | 4 | 2 |
| 5 | 2 | 4 | 3 |
| 5 | 1 | 4 | 4 |
| 5 | 6 | 4 | 5 |
| 6 | 5 | 2 | 1 |
| 7 | 3 | 1 | 1 |
| 8 | 12 | 3 | 1 |
| 8 | 8 | 3 | 2 |
| 8 | 8 | 3 | 3 |
| 9 | 3 | 3 | 1 |
| 9 | 1 | 3 | 2 |
| 9 | 3 | 3 | 3 |
| 9 | 2 | 3 | 4 |
| 9 | 2 | 3 | 5 |
dim_webpagecategories :
| WebpageCategoryID | WebpageCategoryName |
| 1 | Homepage |
| 2 | Company Policies |
| 3 | Contact Us |
| 4 | History |
| 5 | FAQ |
| 6 | Merchandise Shop |
| 7 | Home Goods |
| 8 | Bathroom Products |
| 9 | Garden Tools |
| 10 | Clothing |
| 11 | Shoes and Accessories |
| 12 | Refunds |
dim_userlocation:
| UserLocationID | Location |
| 1 | UK |
| 2 | Spain |
| 3 | USA |
| 4 | Germany |
| 5 | South Africa |
fact_webpagejourney:
| DateID | Timestamp | UserID | Count_of_Views |
| 20240522 | 17:59:37 | 1 | 1 |
| 20240717 | 06:32:09 | 2 | 1 |
| 20240717 | 06:33:36 | 2 | 1 |
| 20250414 | 16:27:03 | 3 | 1 |
| 20240105 | 16:34:11 | 4 | 1 |
| 20240104 | 07:32:29 | 5 | 1 |
| 20240104 | 07:34:24 | 5 | 1 |
| 20240104 | 07:34:48 | 5 | 1 |
| 20240104 | 07:36:09 | 5 | 1 |
| 20240104 | 07:36:39 | 5 | 1 |
| 20240111 | 09:23:29 | 6 | 1 |
| 20240102 | 13:51:07 | 7 | 1 |
| 20240106 | 01:45:34 | 8 | 1 |
| 20240106 | 01:45:49 | 8 | 1 |
| 20240106 | 01:47:28 | 8 | 1 |
| 20240102 | 19:06:53 | 9 | 1 |
| 20240102 | 19:07:54 | 9 | 1 |
| 20240102 | 19:08:32 | 9 | 1 |
| 20240102 | 19:08:47 | 9 | 1 |
| 20240102 | 19:11:38 | 9 | 1 |
Solved! Go to Solution.
If I understood well your request, you need to follow these steps :
Power BI's native "Decomposition Tree" isn't suitable for sequential flows. You'll need a Sankey diagram custom visual.
Distinct User Count = DISTINCTCOUNT(UserJourneyPaths[UserID])
You want separate filters for each page rank's category, along with a global location filter.
You have a few options to achieve this filtering:
Recommended: Leveraging Sankey Interactivity (Simpler & More Intuitive)
Alternative: Multiple Slicers for Each Rank's Category (More Direct Control)
By completing these steps, you should be able to have the desired tree to monitor websites navigation.
If I understood well your request, you need to follow these steps :
Power BI's native "Decomposition Tree" isn't suitable for sequential flows. You'll need a Sankey diagram custom visual.
Distinct User Count = DISTINCTCOUNT(UserJourneyPaths[UserID])
You want separate filters for each page rank's category, along with a global location filter.
You have a few options to achieve this filtering:
Recommended: Leveraging Sankey Interactivity (Simpler & More Intuitive)
Alternative: Multiple Slicers for Each Rank's Category (More Direct Control)
By completing these steps, you should be able to have the desired tree to monitor websites navigation.
Thank-you for the advice, that's helpful feedback.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 38 | |
| 36 | |
| 33 | |
| 33 | |
| 29 |
| User | Count |
|---|---|
| 134 | |
| 96 | |
| 78 | |
| 67 | |
| 65 |