I use Helper Tables all the time. Most of my Glide Projects are littered with them. They have many uses, here are just a few examples:
Reusable Custom Forms
This is one I learned from @Jeff_Hager. The usual way to create a custom form is with a “Show Detail Screen → this item” action. This gives you a new details screen on your current row with a blank canvas, on which you then build out your form.
However, another way to do this is by using a single row Helper Table. You create a Helper Table and add whatever columns are required for your form, and then build it out using a details screen on top of that table. Then any time you want to use it - from anywhere in your App - all you need is a “Single Value → First ->Whole Row” to your Helper Table, then do a “Show Detail Screen” via that Single Value column, and viola - you have your custom form ready to go.
Transposing Arrays into Lists
Sometimes you might have an array of values that need to be transposed into a list. Maybe you want to use them as the source of a Choice Component, or maybe just in an Inline List. Helper table to the rescue. Just create enough rows to cover the maximum number of items in the array, then unwind them using the RowID->Lookup->Find Element Index method. (This method is described in detail in @Robert_Petitto’s Miracle Method tutorial).
Generating Charts and Tables
Helper Tables are ideal for pulling together data to be used in Charts or HTML tables. Sometimes it will just be a single row table, and sometimes there will be multiple rows. It depends on the use case. One common use is where you might be building a chart/table that has monthly totals of data. In this case, you'd generally have one row for each month of the year. You build relations to your data, and then use rollups to pull in the aggregated data, and feed that into your chart and/or HTML table.Here is an example of what that might look like:
And that data feeds into a table that looks like so:
Generating Complex Data Structures
In one App I built, there was a requirement to be able to add anywhere between 1 and 52 rows with a single button click. The way I approached that was to create a 52 row Helper Table, and collect all the data required into that table. Then bundle the whole lot up into a JSON object, send that to Make, and have Make insert the required number of rows back into Glide via the API.
More Advanced methods with complex data structures
I won’t say too much about this one, except to say that I’ve been able to develop a method for storing and extracting up to thousands of “rows” of data in a single table row. The use of a Helper Table was key in being able to do this successfully.
Consolidating Data from multiple tables
Another use for a helper table is to dynamically consolidate data from two or more tables into a single table for a particular purpose. An example of where I’ve done this is as follows:
- I have 3 almost identical tables
– Table 1 contains data for the past 7 days
– Table 2 contains data for the past 8-30 days
– Table 3 contains all data older than 30 days
My users need to to be able to generate a CSV export, and specify a date range. That date range could potentially mean that I need data from all 3 tables. In order to deal with this, a Helper Table is used.
So that’s just a few examples. I could probably go on about Helper Tables all day