I love building visualisations with Tableau and in this walkthrough, we are going to build **Radial Bar Chart **which I like to refer to as a **Rings**. For my data set, I am going to use the **#MakeoverMonday’s** American Biggest Bandwidth Hogs data set.

*Note: This information can be displayed using Bar Charts and many would argue that it would be more effectively, but let us put that aside for a moment and use this as an opportunity to explore how this can be done.*

## The Data

The walkthrough requires a very simple data set. Create the following in Excel and access this in Tableau.

*Note: For path, we want 1 to 270 as we only want to draw three-quarters of a circle with the maximum value representing the 270 degrees and the lower items being a proportion of the maximum.*

## Ring Variables

We will create a **Path (bin)** object by:

- Right click on
**Path** - Go to
**Create**,**Bins…** - In Edit [Path] set the
**Size of bins**to 1 - Click Ok

The Path (bin) will allow us to use a table calculation to create additional data points between 1 and 270.

*Note: we are using the Path (bin) to densificate date and give us more points to work with. One thing to make sure of is that you check the Show Missing Values.*

We will now need to create the following Calculated fields:

**Index**: returns the index of the current row within a partition. Index starts are 1 but we want our index to start at 0 so we subtract 1.

**PI**: To be able to multiple our Index (based on the bin object) by PI we will need to create a Table Calculation to represent PI.

**Max Value**: As with PI we want to be able to access the maximum value within the Window.

**Value (Windows Sum)**: This Table Calculation is required to get the maximum value for each name.

**Step Size**: As all the values will be relative to the Maximum value we are going to need to find the proportion.

**Rank**: We are going to us this Calculated field to order the Rings i.e. largest on the outside and smallest on the inside.

**Y**: As we are drawing the polygons we need an Y point.

*Note: the SIN function requires the values in Radians as opposed to degrees. To convert Degrees to Radians we need to multiply by PI and divide by 180.*

**X**: As we are drawing the polygons we need an X point.

Now that we have the required Calculated Fields we can start building our **Rings**.

## Rings Worksheet

Let us start by adding our objects.

- Drag
**Name**into**Color** - Drag
**Value (Windows Sum)**into**Label** - Drag
**Name**into**Label** - Set the
**Marks Type**into**Line** - Drag
**Path (bin)**into**Path** - Drag
**Y**into**Columns**- Right click on
**Y**, go to**Compute using**, Select**Path (bin)** - By doing this you will ensure that all calculated fields in Y will be computed by Path (bin)

- Right click on
- Draw
**X**into**Rows**- Right click on
**Y**, go to**Compute using**, Select**Path (bin)**

- Right click on

You should now see the following:

Yes, I know that it looks nothing like our desired visualisation but we will now update the **X** and **Y** Calculated Fields:

- Right Click on
**Y**and choose Edit**Table Calculations…**- In the Calculated Fields drop down choose
**Max Value** - In
**Compute using**select**Advanced…** - Add
**Path (bin)**and**Name**to**Addressing**- Ensure that
**Path (bin)**is at the top - Click Ok

- Ensure that
- With
**At the level**select**Deepest**- Click Apply

- In the Calculated Fields drop down choose
**Rank** - In
**Compute using**select**Advanced…** - Add
**Path (bin)**and**Name**to**Addressing**- Ensure that
**Name**is at the top - Click Ok

- Ensure that
- With
**At the level**select**Name**- Click Apply

- Click Ok to close the window.

- In the Calculated Fields drop down choose

- Right Click on
**X**and choose Edit**Table Calculations…**- In the Calculated Fields drop down choose
**Max Value** - In
**Compute using**select**Advanced…** - Add
**Path (bin)**and**Name**to**Addressing**- Ensure that
**Path (bin)**is at the top - Click Ok

- Ensure that
- With
**At the level**select**Deepest**- Click Apply

- In the Calculated Fields drop down choose
**Rank** - In
**Compute using**select**Advanced…** - Add
**Path (bin)**and**Name**to**Addressing**- Ensure that
**Name**is at the top - Click Apply

- Ensure that
- With
**At the level**select**Name**- Click Ok

- Click Ok to close the window.

- In the Calculated Fields drop down choose

You should now see the following:

After adding some cosmetic tweaks we end up with the following Dashboard:

I hope you have enjoyed this quick tutorial and do let me know if you found this useful. Do let me know if you have any comments or feedback.

Hi Toan ,

This is undoubtedly a great tutorial. You have beautifully explained the use of Calculated Field . Well explained and well drafted.

Hi Rajeev

I saw a similar workbook of your son G7 countries but when I try to recreate it, I just get a single line drawn on my sheet. I am using Tableau 10. Please help me draw the circles on this version.

Thanks

Toan,

Fantastic content! I think that we missed a step on the advanced compute level for Rank, but were able to make it work by using compute by Name.

Great stuff. Now to figure out your Venn Diagram.

Did you ever get around to figuring out the Venn Diagram.

Awesome post! We are struggling to replicate this in Tableau 10.1. We have gotten through all of the steps (I changed the calculated fields to have the ZN() calculation to show the missing values, and I’m left with a circle with overlapping Names. Any suggestions?

If you can send me your workbook to toan.quoc.hoang@gmail.com and I will have a look. Sorry for the late response.

Hi,

Thank you for the tutorial. I’m not getting the last steps where you edit the table calculations. It splits it out from 1 to 5 on X but for some reason Y still has a 0.000-0.035 scale and it’s just giving me 5 horizontal lines. I’m not sure where I’m going wrong because I’ve followed the instructions and double checked everything and started over a couple of times. Do you have any idea what may be going on that it’s not working? I’m using Tableau 10.

Thanks,

Lotte

When editing your Table Calculation, make sure you edit all the options from the drop down box.

Hi Nice chart. I have question-

From where the column path is taken its not in my data set. Is this column manually created and values are assigned to it?

Thanks in advance,

JD

Hi,

While following your scenario solution, where is the option of “Show missing values” for the Path (bin) created.

Because when you drag the Path(bin) to detail the option doesnt seem available. Exactly how should you set the Missing values option??

Kindly Help and revert

Regards,

Sanket

Drag the Path (Bin) object onto Row and then you should see the option, tick the box and then drag it back.

Great tutorial. Thanks, I was able to use the instructions to create a similar chart with my data. I’m wondering if there is a way to do this without ranking the values from smallest to largest. I want to create a series of these charts for several years and would like for the categories to remain in the same position.

All you have to do is change the multiplication. You can use Index for example, or change the ranking i.e. Rank by date and sort.

I am not able to recreate the same in Tableau 10. I don’t see the Addressing/Partition window, have used Name and Country in specific dimensions instead. Can anyone help me with this.

Hi Toan,

Very well explained. I followed your exact same steps but couldn’t achieve the end result. After I finished doing all the steps, I am only able to get straight lines and not circles as shown in your pictures. The x and y axis start only at 0.

Any idea what might be the reason.

Thanks,

Naga

My guess would be to do with the Table Calculation and your settings there.

How do you calculate path and values ? Is there a mathematical formula to calculate ? I always struggle with these values… Please advise.

I am also not able to get x axis and y axis values the way you have it in the screenshot. X axis values for me range from -200 to 250 Y axis from -300 to 200. Did you fix the axes ? also i am using Tableau 10, under edit table calculations i couldnt find option to calculate by rank. Please advise

Hi Team,

I’m not getting rings. Could you please help me with this problem.

Thanks,

Heena Kouser

Hi Toan,

this is fantastic and well written. I have one question, if I wanted to fix the order of the rings by the name rather than the value how would you do this, I’ve spent a while playing with the rank calculation but can’t get it to work yet ?

I’ve just figured it out, no need to answer.

Cool

Hi Toan,

Do you have an updated version of instructions for tableau 10? I tried to follow these but my chart looks very different due to differences in the instructions and what I can do in tableau 10

Thanks!

Sujata

Hi Toan,

Do you have an updated version of instructions for tableau 10? I tried to follow these but my chart looks very different due to differences in the instructions and what I can do in tableau 10

Thanks!

Sujata

I am writing a book based on Tableau 10 and this chart will feature. If I have some time I will update this blog.

I attempted to do this with my own set of data and it is coming out as more of an oval. Do you have any recommendations on how to mend this? I am also getting my labels on the end of the lines as opposed to the beginning like you have it. Do you have any recommendations?

You can fixed the axis to ensure that you have even sides. Click on the Label Marks, select Line Ends, and untick the End of Lines.

This is excellent – super easy to follow! Just did this in 10.3, no problems. Thank you! My only question, is what if I don’t want my data to be ordered by the total sum. I happen to want it ordered by a year and the total values change. Is there was way to have the order of the rings different? Thanks!

Never mind! I figured it out.

Ugh I didn’t actually figure it out, but I see someone else had this same question.

I tried all the steps from begining and with sample set you provide but not able to get the rings. Can you please help me on it. I am very intersted to learn more.

This is an excellent tutorial, I followed the steps and got exactly the same output. Now i’m going to try it with my data. thank you so much for sharing.