Jumping into the world of interactive data apps can be intimidating, and understanding how to set up input tables correctly is vital to creating a functional app. Luckily, InterWorks is here to help. We’ve created a concise guide to clarify how and when to use different types of input tables.
Empty Input Tables
Empty input tables are just that. Literal tabula rasa (we can keep this or change it to blank space). Like any blank spreadsheet you can add anything you like to these, transform them, add calculations and use all of Sigma’s row level actions on them.
Empty Tables are great if you are building an app from scratch. These are often also necessary to create variables, formulas and references for other calculations.
Empty input tables are limited by the fact that they must be built from square one. All data must be injected manually (although you can paste 50,000 cells from your clipboard). However, in the right scenario starting from scratch can set your data app up for success in the long run.
This input table provides a list of values for data validation purposes throughout the app.
CSV Input Tables
CSV Imported input tables also allow for a lot of flexibility. You can upload a simple dataset to build from, and you can easily manipulate and add data to these tables, just like empty input tables.
CSV Input tables are great if you do not need to update your data frequently or if data collection will be sourced through your data app in the future. Another use case for CSV tables is information tables with finite rows which may only occasionally need an update like the airport information table shown below.
While they do provide great flexibility, CSV imports are not ideal if the base data source needs regular updates as you will have to redownload and upload the data from the source. Additionally, as of now CVS uploads have a limit of 200mb. However, this is still more efficient than pasting thousands of rows from your clipboard.
Linked Input Tables
Linked input tables are direct connections to your data warehouse. They stay in sync with your data and allow you to apply transformations and calculations as needed. Linked Tables require a little more setup than the other types of input table . First, you must create a table which connects to your data warehouse. Then, you can create a linked input table which uses that table as its source.
Linked tables let you perform traditional BI tasks, and more. They are great when you have large datasets that are updated regularly. Even better when you want to add data app controls, such as comments or status indicators, horizontally to your table.
Working with linked input tables is a lot like working with data in traditional BI software; you can manipulate the data as you see fit, but you cannot add rows to these tables (at least not without adding rows in your data source directly). Additionally, unlike Empty and CSV input tables, you cannot alter Linked tables on the cell level except in the columns you add.
Note the plus symbol on the right indicates you can add columns, but there is no corresponding symbol for rows.
Hybrid Input Tables
Hybrid tables are not an official type of input table in Sigma’s environment. Instead, Hybrid tables are a technique for getting the most out of multiple types of input tables. Let’s say you want to be able to add rows to your linked input table so that it can stay up to date from the warehouse and perform interactive row based what-if analysis through the app itself. You will need to make a hybrid input table.
First, connect to your data warehouse with a linked table (this can be an input table or just a normal table), and create any calculated field you need for your analysis. Next, create an empty input table and fill it with dimensions that match those of the linked table. Finally, create a union between the two tables. Now, you have a union which updates with your data warehouse and an input table which you can update directly from your app working together seamlessly.
To add data to your hybrid table, you simply add rows to the empty input table, and the union will update with the new data. Hybrid tables are powerful but present potential data governance issues. If your data is being updated at the warehouse level as well as at the app level, there is potential for anomalies or duplicates to form; but they still have plenty of use cases, especially for things like what-if analysis and decision-making. Also, you must ensure you have the right permissions set up to make your hybrid table work.
Here you can see where the data from the empty input table meets the data from the linked table to create a hybrid Input table.
Bringing It Together
Here is a data structure we used which employed two types of input tables to create a functional data app.
Note that the Linked Table and CSV Tables would play the same role in this schema as input tables.
Also, here is a handy table for a quick comparison of the capabilities of the various input table types:
Input Table | Can Write Horizontally | Can Write Vertically | Upload Size | Cell-Level Alterations |
Empty | ☑ | ☑ | NA | ☑ |
CSV | ☑ | ☑ | 200MB | ☑ |
Linked | ☑ | ☐ | Unlimited | Only on columns you add |
Hybrid | ☑ | ☑ | Unlimited | Only through the empty input table |
Some Final Thoughts
Input tables are essential tools for building powerful data apps. Once you understand the strengths of each input table and how they can work together, you will be well-equipped to design impactful and interactive data apps in Sigma.