Workout Wednesday Week 8: Marimekko Makeover

This week I decided to re-create a makeover from Junk Charts in Tableau.

This image originally appeared in The Wall Street Journal and shows the percentage of men and women employed in different job levels. What makes this chart confusing is that the length of the bar represents how many jobs of that level make up the total workforce. The bar is then split by gender. When we get to the Vice President level or higher, the bars become way too small to see the gender split.

Junk Charts did a great makeover and instead opted for a Marimekko (see right).

I've never made a Marimekko chart in Tableau before so also thought it would give me the opportunity to try something new. Hopefully you've never made one either and you'll learn something too! If you need some help to get started I recommend this excellent tutorial by Jonathan Drummey.

Some rules for re-creating this viz:
  • Show the 50% point of equality as a grid line
  • My dashboard is 660 * 650 pixels
  • Add on the direction of less equality
  • Label the columns of the Marimekko to match mine
  • Label the first two segments Male and Female
  • Make sure your tooltips match mine
Download the data, create your viz in Tableau and don't forget to share on Twitter with the hashtag #WorkoutWednesday and tag me @EmmaWhyte and Andy Kriebel @VizWizBI



  1. Hi Emma,

    I was just going through Andy's post at and found a problem with it where it would fail if the data is sparse, and that led me to look at this original view and found that it will fail as well if the data is sparse (for a different reason).

    In the Marimekko Width calculation the compute using is on Job Type, Male/Female with At the Level on Job Type. Using At the Level is problematic because it partitions on position and if the data is sparse that totally blows up the calculation. See the "I blew it up" view in the linked workbook below, if I filter out Managers/Men the chart goes haywire. The real-world situation here would be something like a Job Type that was 100% women or 100% men, which can happen in highly gendered industries.

    In the Marimekko Width calculation the ELSEIF statements that are used to increment the column size need to be on the dimension(s) that would are creating the columns. In my original Marimekko post using the UCBerkeley admissions data there are two dimensions that would create columns - department & under. In this data set only the Job Type generates new columns. The calculation as written here that includes ELSEIFs for both Job Type and Male/Female is then incrementing too often. Using At the Level is a way around this situation, but as I noted At the Level doesn't work in the same way when the data is sparse and the viz fails.

    The solution is what Andy had found in his post, there needs to be only one ELSEIF on the Job Type, the ELSEIF on the Male/Female can be deleted. With that revised calculation the Compute Using still needs to be on both Job Type and Male/Female in order to properly increment, even when the data is sparse. You can see this in the solution view.(That's where Andy's post had a problem, he had the proper revised calculation but was only computing on Job Type, so if the data is sparse then that revised calc will go haywire, that's the revised calc with wrong compute using view).

    A funny (to me, at least) tangent on this is that I ended up writing the Marimekko post because of this very situation... Bora Beran had posted a Marimekko workbook during the beta where the column positioning calc was using At the Level and I pointed out that using At the Level would fail (and how to prevent that from happening), and he asked me to write the blog post.

    Here's the link:



    1. Hi Jonathan, thank you so much for getting involved and setting a few things straight for us! It's much appreciated. I learned a lot from your posts on the Marimekko.


to top