Toan Hoang

Drawing Process Circles in Tableau

I do love drawing visualizations in Tableau and every time I see something interesting on a website, PowerPoint deck, magazine or any other presentation tool, the first thing that comes to mind is can I create this in Tableau? This was my thoughts when I saw Process Circles in PowerPoint and this step-by-step tutorial will go through the process of creating a process circle to visualise the number of opportunities at each stage of an Opportunity Pipeline, so let us get started.

Note: As always never choose a data visualisation type and try to fit your data into it, instead, understand your data and choose the best visualization for your data consumers. 

Data

Load the following data into Tableau Desktop / Public.

Opportunity StagePathNumber of Opportunities
Initial Contact1100
Initial Contact204100
Qualification180
Qualification20480
Meeting145
Meeting20445
Proposal145
Proposal20445
Close190
Close20490

Note: we need two records for each stage as we are going to be drawing polygons and using densification to get more points on our canvas.

Calculated Fields

With our data set loaded into Tableau, we are going to create the following Calculated Fields and Bins:

Path (bin)

Index

INDEX()-1

TC_Stage Number

WINDOW_MAX(MAX([Number]))

TC_Total Number

WINDOW_SUM(SUM([Number]))/2

TC_Step Size

[TC_Stage Number]/[TC_Total Number]*3.6

TC_Starting Point

(RUNNING_SUM([TC_Stage Number])-[TC_Stage Number])
*(360/[TC_Total Number])

X

IF [Index] = 0 THEN
    SIN(((([Index]*[TC_Step Size])
    +[TC_Starting Point])+10)*PI()/180)*1.25
ELSEIF [Index] <= 101 THEN
    SIN(((([Index]*[TC_Step Size])
    +[TC_Starting Point])-1)*PI()/180)
ELSEIF [Index] = 102 THEN
    SIN(((([Index]*[TC_Step Size])
    +[TC_Starting Point])+10)*PI()/180)*1.25
ELSE
    SIN((((203-[Index])*[TC_Step Size])
    +[TC_Starting Point])*PI()/180)*1.5
END

Y

IF [Index] = 0 THEN
    COS(((([Index]*[TC_Step Size])
    +[TC_Starting Point])+10)*PI()/180)*1.25
ELSEIF [Index] <= 101 THEN
    COS(((([Index]*[TC_Step Size])
    +[TC_Starting Point])-1)*PI()/180)
ELSEIF [Index] = 102 THEN
    COS(((([Index]*[TC_Step Size])
    +[TC_Starting Point])+10)*PI()/180)*1.25
ELSE
    COS((((203-[Index])*[TC_Step Size])
    +[TC_Starting Point])*PI()/180)*1.5
END

Let us go through Y because it really does deserve our attention:

So now that we have created a lot of Calculated fields, we will now put this together into a Worksheet.

Worksheet

We will now build our worksheet:

You should now see something like the following:

No need to panic, we just need to adjust the Table Calculations, so now let us:

If all has gone well you should now see the following:

Now we need to adjust the visualisation by:

And you should then end up with something like the following:

and boom, that is a wrap, we have gone through and drawn ourselves an Interactive and Dynamic Process Chart, seriously, drag Opportunity Stage onto the filter and have a play. 

You can see and interact with my visualisation on Tableau Public https://public.tableau.com/profile/toan.hoang#!/vizhome/ProcessCycles/ProcessCycle

Summary

I hope you all enjoyed this article as much as I enjoyed writing it, if so, please do share this article with fellow Tableau addicts and spread the love. Do let me know if you experienced any issues recreating this Visualisation, and as always, please leave a comment below or reach out to me on Twitter @Tableau_Magic.

If you like our work, do consider supporting us on Patreon, and for supporting us, we will give you early access to tutorials, exclusive videos, as well as access to current and future courses on Udemy:

Also, do be sure to check out our various courses:

Exit mobile version