How to Copy/Paste Containers

Version 1

    As of Tableau 9.0, there is no ability to copy/paste container objects (vertical or horizontal) between dashboards or workbooks. I have a workaround! It is a hack, but it saved 15 or 20 minutes of work for each dashboard being built. Read on.


    I am using the "pop and swap" technique detailed here We made a video of Sheet Swapping and Legend/Filter Popping on a dashboard. by Joe Oppelt with Matt Lutton. This results in 2 vertical containers that I would like in the exact same location on multiple dashboards in the same workbook. Thus the need for copy/paste of containers.


    WARNING: This solution is risky if you don't know what you are doing. Be SURE you backup the file before attempting this.


    I opened the .twb file in Notepad++. Since the .twb file is just XML, I searched for the title of the dashboard  in which I had already built the containers. The header for this section is formatted as: <dashboard name='Dashboard 1'>. Within this section, there are "zones" for each object in the dashboard for example: <zone h='30612' id='21' param='vert' type='layout-flow' w='13120' x='86880' y='-13426'>. Each zone is terminated </zone>. Just be sure you have the correct <zone></zone> pair, and copy the entire block. (Notepad++ helps with this). You may notice that the properties do not match the values as they are displayed in Tableau. That is okay, there is some scaling going on. However, you will notice the negative "Y" coordinate as is typical in the "pop and swap" technique.


    Then find the section for the dashboard where you want the container(s) inserted. Locate the end of that section, as indicated by </zones>. NOTE THE "S": this is </zones> NOT </zone>. Paste the copied block before the </zones> tag.


    Now open the workbook with Tableau, and voila, the containers now appear as desired!