In a previous article, we showed how to create waffle chart from a single percentage, without extra data table and without table join. Also the labeling is automated instead of manual, comparing to other approaches.

Now we are going to apply the same method to creating waffle chart for multiple percentages as follows. Note that the percentages are calculated horizontally, showing the percentages in different regions per each category.
The steps are: (The 2nd step uses a different approach from the previous one for the same result.)

1.Union the data source with itself.
This will generate a new column Table Name with two different table names.

2.Use the two table names to define the first and 100th points
For each waffle chart, we need to have a 10x10 grid of 100 data points. In the video we created a set for one of the tables to define the first point. If outside the set, it is defined as the 100th point. This is a different approach from the one in the previous post. This way, the formula seems simpler.

3.Create Point Bins from 1 to 100
Thus we define the 100 points. Bin size = 1
The bins will allow us to create a 10x10 grid that is the essence of the Waffle chart. The 98 points are the result of data densification through the bins.

4.Create X and Y coordinates for the 10x10 Grid
  • = -First()%10
  • Int(-First()/10)
Both compute along Point Bin. BTW -First()=Index()-1, an equivalent way to index the points from 0 to 99.

5.Populate Percent to every point in the grid.
Percent Omni = Window_Max(Max(Percent))
We have only two real data records as data points. The other 98 points are the results of data densification. We need table calculation to assign data to them.

6.Color the grid
Use this formula to color: Index()/100<= Percent Omni 
Index()/100 will assign a percentage to each point from 1% to 100%.

7.Label the grid
We only need one label in the middle. Here it is:
If Index()=55 Then Percent Omni End

That is it. You can watch the video for further details.

The workbook can be downloaded here.

0

Add a comment

(Refresh the page if you want to view the gif image multiple times. Or go to Tableau Public and click the button at the top-right corner.)

Jake and I collaborated on a dashboard. He told me that he learnt a way to create an in-place help page in Tableau. He first saw it at a conference somewhere and couldn't recall who the speaker was. So I am blogging here about it but the credit goes to somebody else. If anyone knows who the original creator is, leave a comment below.

The key idea is to float a semi transparent worksheet on top of the dashboard, where a help text box is strategically placed on top of each chart. This way, we can explain how to view each chart and what data points are important, etc. This worksheet is collapsible by a show/hide button. 

Below I would like to show how this worksheet can be constructed.

1. Sheet with a single data mark.

  • Double click the empty space in Marks panel and add two single quotes. Make the null pill a text label. This creates a single null mark.
  • Set the view as "Entire View"

2. Create an show/hide button

  • Go to the target dashboard
  • Drag a floating vertical container to the dashboard, making it cover all the area of interest.
  • Drag the Single Null Mark sheet and drop it into the above container. Hide the sheet title.
  • Create an open/close button for the container and place the button at the top-right corner.

3. Add annotations

  • Format the sheet background opacity as 70% in the layout manager             
  • Select area annotations and place them anywhere of interest. 
  • Write help text and format it to highlight important messages.  
  • The text can serve as functional guide and/or insight guide.

Here is an example. Feel free to download the workbook and explore. Click the "i" button at the top-right corner to view the in-place help. 

0

Add a comment

Blog Archive
Loading
Dynamic Views theme. Powered by Blogger. Report Abuse.