In this post, we present a trade data use case applying the fundamentals of Visual Analytics using Tableau. We will critique the visualisation and propose an alternative to address the flaws.
The original visualisation is created by using data provided by Department of Statistics, Singapore (DOS). The data are available under the sub-section of Merchandise Trade by Region/Market.

The initial sketch of proposed design is as follow:

Please view the proposed visualisation on Tableau Public here.

| No | Step | Action |
|---|---|---|
| 1 | Unzip the output folder downloaded from the SingStat website. Load the outputFile excel file into Tableau Prep Builder. Drag the ‘T1’ and ‘T2’ worksheet into main pane. | ![]() |
| 2 | Use the Data Interpreter. Rename ‘T1’ and ‘T2’ to ‘Import’ and ‘Export’ respectively and initiate the cleaning node from each data node. | ![]() |
| 3 | Under the ‘Clean 1’ node, clean ‘Variables’ using ‘Split Values’ with ‘(‘ as the separator. Rename column as ‘Country’. Repeat for ‘Clean 2’. | ![]() |
| 4 | Under ‘Clean 1’ node, filter the rows under ‘Country’ to remove non-Country and total observations. Repeat for ‘Clean 2’. | ![]() |
| 5 | Add Pivot nodes after ‘Clean 1’ and ‘Clean 2’. Under ‘Pivot 1’, select all months under ‘Fields’ to the ‘Pivoted Fields’ panel. Repeat for ‘Pivot 2’. | ![]() |
| 6 | Under ‘Pivot 1’, rename ‘Pivot1 Names’ to ‘Month’ and change data type to ‘Date’. Rename ‘Pivot1 Values’ to ‘Import (Thousand Dollars)’. Remove ‘Variables’. Repeat for ‘Pivot 2’ but rename ‘Pivot1 Values’ to ‘Export (Thousand Dollars)’. | ![]() |
| 7 | Do a full join between ‘Pivot 1’ and ‘Pivot 2’ with ‘Country’ and ‘Month’ as the join clauses. | ![]() |
| 8 | Create a ‘Clean’ node after ‘Join 1’ to merge duplicated country and month variables. | ![]() |
| 9 | Create a ‘Pivot’ node after ‘Clean 3’ and change ‘Export (Thousand Dollars)’ and ‘Import (Thousand Dollars)’ from columns to rows. | ![]() |
| 10 | Split ‘Pivot1 Names’ and rename the field of ‘Split 1’ to ‘Trade Type’. Multiply ‘(Thousand Dollars)’ by 1000 and rename it ‘Trade Value’. Remove the unnecessary fields ‘(Thousand Dollars)’ and ‘Pivot1 Names’. | ![]() |
| 11 | Create a ‘Output’ node after ‘Pivot 3’ node and save output as ‘Monthly Singapore Merchandise Trade’. | ![]() |
| 12 | Set up a connection on Tableau Desktop to the ‘Monthly Singapore Merchandise Trade’ hyper’s extract. | ![]() |
| 13 | For Chart 1, create a new worksheet and name it “Annual Trade’. Drag ‘Country’ and ‘Month’ to ‘Columns’ and ‘Trade Value’ to ‘Rows’ shelves. | ![]() |
| 14 | Drag ‘Month’ to the ‘Filter Field’ section. Select ‘Range of Dates’ and indicate ‘1 Jan 2019’ as the start and ‘1 Dec 2020’ as the end. | ![]() |
| 15 | Drag ‘Country’ to the ‘Filter Field’ section. Select the ‘Top’ tab and choose the top 6 by sum of ‘Trade Value’. Then exclude ‘Indonesia’ from the custom value list. | ![]() |
| 16 | Under ‘Marks’, select ‘Bar’ under the dropdown and drag ‘Trade Type’ to ‘Color’. Drag ‘Trade Value’ to ‘Label’ and add ‘Quick Table Calculation’ to add the ‘Percent of Total’ computed using ‘Cell’. Then drag ‘Trade Value’ to label again. | ![]() |
| 17 | Sort ‘Country’ based on descending sum of ‘Trade Value’. | ![]() |
| 18 | Click on the X-axis and add a reference line using the value of ‘SUM(Trade Value)’ at ‘Per Cell’ level. Remove the line. | ![]() |
| 19 | Format the trade values shown using ‘Currency (Custom)’ with ‘Billions (B)’ as display unit at 1 decimal place. And format the percentage from total value to 1 decimal place. | ![]() |
| 20 | Update the title to include a main active title and functional subtitle, colouring ‘Exports’ and ‘Imports’ aligning with the legend. Hide ‘Country / Month’. Add ‘(Billions)’ to ‘Trade Value’ label on the X-axis. | ![]() |
| 21 | For Chart 2, create a new worksheet and name it “Monthly Trade’. Drag ‘Country’ and ‘Month’ to ‘Columns’ and ‘Trade Value’ to ‘Rows’ shelves. Sort ‘Country’ by descending sum of ‘Trade Value’ and change ‘Month’ to month with year format. Repeat Step 14 to set up the date and country filters. | ![]() |
| 22 | Select ‘Area’ chart under ‘Marks’ and drag ‘Trade Type’ to ‘Color’. Then select ‘Analysis’ and switch ‘Stack Marks’ to ‘Off’. | ![]() |
| 23 | Under ‘Analysis’, select ‘Create Calculated Field’ to create a new variable called ‘Smaller Trade Value’ to select the minimum ‘Trade Value’ irrespective of ‘Trade Type’ based on each time period. | ![]() |
| 24 | Drag ‘Smaller Trade Value’ variable onto the ‘Trade Value’ axis to create a ‘combined axis’. | ![]() |
| 25 | Drag ‘Measure Names’ from ‘Rows’ shelf to ‘Detail’ under ‘Marks’. Then click on the ‘Detail’ icon next to ‘Measure Names’ and change it to ‘Color’. | ![]() |
| 26 | Click on ‘Colors’ under ‘Marks’ and edit the colours of the variables with ‘Smaller Trade Value’ to white. Change opacity to 100%. | ![]() |
| 27 | Drag ‘Trade Value’ to the secondary axis on the chart. There will be a new section appearing under ‘Marks’. Change the chart type to ‘Line’ under the dropdown and remove ‘Measure Names’. | ![]() |
| 28 | Click on the X-axis and add a reference line using a constant value indicating 1 Jan 2020. Remove the label and reduce the thickness of the dotted line. | ![]() |
| 29 | Remove the secondary axis, the legend for the area chart, the X-axis label and hide field labels for columns. | ![]() |
| 30 | Edit the X-axis to start on 1/1/2019 and end after 1/12/2020. Fix minor tick marks to start of the month and major tick marks to start of the year. Remove the axis titles. | ![]() |
| 31 | Edit the Y-axis scale to show currency in billions with 1 decimal place. Change the Axis Title to ‘Trade Value (Billions)’. Edit X-axis value format to show both month and year. | ![]() |
| 32 | Bold the country values, Y-axis and X-axis values. Change the country values font size to 10. Add a title and subtitle to the chart. | ![]() |
| 33 | Add annotation to points whereby there are interesting trends. | ![]() |
| 34 | Create a ‘Dashboard’. Drag ‘Annual Trade’ sheet to the top and ‘Monthly Trade’ sheet to the bottom. Add a dashboard title to indicate the context of the visualisation. At the bottom of the charts, add a footnote to indicate notes for Chart 2 and the data source. | ![]() |
| 35 | Hide the worksheets and publish the dashboard to Tableau Public. Tweak the size of the dashboard to ensure that the visualisation can be view properly. | ![]() |