Parameterized Multilevel Tornado Diagram for quick analysis/comparison of Dimensions & Measures

Version 3

    One of my favorite diagrams is the Tornado.

    It allows for several dimensions of comparison in an easily consumable view.


    After having made enough one-offs of single level tornadoes, and to make life easier for the ever ambiguous 'bring me a rock' ask,

    I put together a highly paramiterized multi level Tornado Diagram tool.

    Tornado Diagram Tableau.gif

    It allows users to ask a multitude of questions within one seemingly simple/visual framework.

    From the insights gained via this tool, additional diagrams are easily developed and/or expanded upon.



    I'll cover some of the over aching principals that allow this diagram to function correctly, but I'll leave the rest open for direct questions or for you to deduce via reverse engineering the workbook.


    • Fist off, some Hacks to Help. I like to use excel to help me build the parameters and associated calculations (assuming you have a bunch of columns).

    I start by transposing all the fields in a data set into one column in excel, and the create a concatenate equation that helps build my Case statements for use in a Tableau Calculation.

      • Separate out Dimensions, Measures, and Dates (or include Dates in Dimensions as a string)
      • Create the cell equations to help make the case statements for Tableau

    =CONCATENATE("when '",A1,"' then [",A1,"]")


    • Create your parameters (I made 3 of the same in this example, make a fourth if you want a ‘Color by’ parameter)
      • Add an ‘All’ Value to your list.
      • Sort list Alphabetically before pasting in (helps with UI sometimes)
      • Paste list into a string list parameter (I called this one ‘Parameter Table 1’.



    • Create your Calcs

      • Paste in the concatenated rows from the excel list.
      • You might run into problems with dates and ID’s or index’s…just put a Str() or sometimes an attr() tag around them and you should be good.
      • Remember to add the initial Case statement referencing your param, and END to close it.

    • Then Rinse and repeat this one or two times for additional levels to cross reference in your table/diagram
    • After you have a few parameters start building out your viz sheet to look about like so...

    .Tornado Diagram Viz sheet_Gabe DeWitt.JPG


    • The next minor trick bit are the table calculations for the Index Calcs...
      • These index's allow you to do proper sorts of items with items with items...otherwise things aren't in the right order (assuming you want to order things for easier comparison)

      • Bonus - Create a Sort By calc to sort the indexes by so that you can sort either left or right side values of your Tornado.I typically do counts on the left side, and $$ things on the right side of the tornado.
      • If you want to go nuts, parameterize your measures so you can also select and change those. Example in embedded Workbook..

    And, that's about the core of the tricky bits. The rest you should be able to deduce from the embedded Workbook.

    ,,,but, do let me know if there are any questions