Skip to main content
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

3-Way Venn Diagram (Proportional and Dynamic)

Create a custom 3-way venn diagram that is both proportional and dynamic. It should take in three different boolean fields for each record. Each selected boolean field will represent one circle.


The area of each circle should be determined on the number of records (sum of records) when the field = 1. The overlapping areas when two or more fields are true should also be proportional** to the rest of the segments of the visualization. 


(**Doesn't necessarily need to be exact mathematically, but at least have the circle and segment areas appear proportional to the rest of the segments)


When the data source updates, the visualization should be dynamic in nature so that it's always reflecting the current data that it's build from.


Have functionality to clearly label each circle / overlap areas, in addition to allowing the user to select colours.


3-Way proportional venn example..png

Status: New
Advocate IV

This visual is now available in office store. 

Advocate II

@Sohail - Unfortunately, after testing, it appears that the circles in MAQ's Venn Diagram custom visual isn't proportional based on category size. We require this to be the case in order for the visualization to be effective (in the sense that it gives better context that's also much easier to understand for the end user).

Regular Visitor

I'm still working on solidifying my version on the visual.  One of the things I'm trying to resolve is trying to come up with a better way to present the rows/columns interact.


Right now you have to pass a preformatted JSON string with every row of data which I initially thought was easier, but after sharing it with coworkers who didn't have an understanding of JSON I realized that maybe there could be a better way to tie a dataset to the visual.


So, in other words - for the Venn Chart that I created, you have to have your select concatenate data for the Visual to consume as JSON.  You can still have category/series/period data straight from the data, it's just the visual representation data for the graphics that has to be formatted.


Here is a sample of the JSON my visual consumes with notes pertaining to what each line does.  The JSON does not include what's between the parentheses – again, that’s just a description so you understand what the sections of the JSON represent.


[{"sets":["Set1"],"label":["Set1\n103k"],"size":["103993"]},     (Set 1 Total and Label data)
{"sets":["Set2"],"label":["Set2\n1.60M"],"size":["1599005"]}, (Set 2 Total and Label data)
{"sets":["Set3"],"label":["Set3\n894k"],"size":["894880"]},     (Set 3 Total and Label data)
{"sets":["Set1", "Set2"],"label":["46k"],"size":["46443"]},        (Set 1 and 2 Overlap Total and Label data)
{"sets":["Set1","Set3"],"label":["9k"],"size":["9592"]},             (Set 1 and 3 Overlap Total and Label data)
{"sets":["Set2","Set3"],"label":["420k"],"size":["420210"]},     (Set 2 and 3 Overlap Total and Label data)
{"sets":["Set1","Set2","Set3"],"label":["5k"],"size":["5427"]}]  (Set 1, 2 and 3 Overlap Total and Label data)


Does anyone have a suggestion of a better way to interface the data or does the JSON method seem perfectly reasonable?


I’ve shared a quick demo video so you can see how the beta version is working.



Microsoft Employee

Here is the link to MAQ's Venn diagram in the store.


@BrettHermann, you can contact the developer and ask to improve the visual:


Tzvi Keisar

Senior Program Manager

Power BI Custom Visuals

New Member

@rwreitz I am interest in your venn diagram visualization

Regular Visitor

@rwreitz  same for me, missing proportionality in the one from MAQ (this one didn't bring anything to me)

New Member

Hi there,


This custom viz looks great. Has this become available anywhere yet?





Memorable Member

Perhaps the CircleCard visual is what some are looking for. It scales well.