Forum Discussion
Shape Map Fill Colors - States With Multiple Regions
- 1 year ago
Hey jabueg,
Looking at your maps, I can see you want to show states with multiple regions using split colors (like the stripes/patterns in your first image), but Power BI's native shape map visual doesn't support this directly.
Here are a few practical workarounds:
Option 1: Custom Visual
- Try the "Multi-Row Card" or "HTML Content" custom visuals from AppSource
- Some allow basic pattern fills or you can create HTML/CSS solutions
Option 2: Data Model Approach
- Create separate rows for each state-region combination
- Use a calculated measure to show dominant region or concatenated region names
- Add tooltips showing all regions for multi-region states
Option 3: Hybrid Solution
- Keep your current single-color map
- Add a table/matrix visual showing states with multiple regions
- Use bookmarks to highlight these special cases
Option 4: Shape Map Alternatives
- Consider using filled map visual instead
- Use ArcGIS Maps (if available in your organization)
- Create a custom R or Python visual
The easiest immediate fix is Option 2 - adjust your data model to handle the multi-region states in tooltips while keeping the visual clean. For true multi-color fills like your reference image, you'll likely need a custom visual solution.
Did it work? ✔ Give a Kudo • Mark as Solution – help others too!
Best Regards,
Jainesh Poojara | Power BI Developer - 1 year ago
Hi jabueg
It is a limitation of Power BI’s default shape map to fill a single state (like California or Oregon) with multiple colors for different regions.Power BI’s shape map only allows one color per shape, meaning each state can only be assigned a single value/color.Unfortunately, you can't natively fill one state with multiple colors in the same map without using a custom TopoJSON file where each region of a state is represented as a separate shape. However, there is a workaround using DAX: instead of showing multiple colors, you can show that a state belongs to multiple regions by grouping regions into one text label.
Combined Region = CONCATENATEX(VALUES('YourTable'[Region]), 'YourTable'[Region], ", ")Now, use this Combined Region as the Legend or Color saturation field in your shape map. Power BI will color the state based on the grouped regions. While this still applies just one color per state, it accurately reflects multi-region membership in the tooltip and color logic. If you absolutely need each region within a state to be shown separately with its own color, you'd have to create or use a custom TopoJSON map where the state is split by regions, but that requires advanced GIS steps outside Power BI. So, to stay within Power BI's native capabilities, the best option is to use the combined region label approach, which is simple and effective.
Hi jabueg,
I would also take a moment to thank rohit1991 , jaineshp for actively participating in the community forum and for the solutions you have been sharing in the community forum. Your contributions make a real difference.
Adding to their answers, you can also check the official Microsoft documentation below it might help you solve your issue:
https://learn.microsoft.com/en-us/power-bi/visuals/desktop-shape-map#custom-map-formats
If you are still facing any problems, feel free to ask. We are happy to help you.
Best Regards,
Harshitha.
- jaineshp1 year ago
Memorable Member
Hey Anonymous,
Thank you for the kind recognition - always happy to contribute to our community's success!
Best Regards,
Jainesh Poojara | Power BI Developer