Use this "hack" to run an update action on a set of rows using Automation with the push of a button
TLDR
- The main benefit is that the updates are made on the server
- So you don't have to wait for all the updates to sync - Also, the updates will run in parallel - so things process faster
--------------------------------------------------------------------------------------------------------------
If you've implemented a blueprint table (where you use one table as a "template" and another as the place where you're copying data to), AND you've been using that system for awhile...
- What happens when you make a major change to the blueprint table?
- How can I get all the derivative records (the copies) to update with the newest values?
No matter the scenario: if you've got data in one table that needs to be populated into another, and you need to do that on a TON of rows, the following solution will massively help decrease the time needed for that update to propagate throughout your data-system.
The following solution will allow you to create a "push button" system to make all the updates you need - but in an efficient way, so you don't have to sit and wait all day for the updates to push to the cloud
--------------------------------------------------------------------------------------------------------------
The solution takes four parts:
Part 1) Create a [Data Set] action
- Create the action, on the table that needs updating, to actually make the update you need to make
- The example above is copying values from the blueprint record (where the original values are stored) into the target table records
- Your data set action will be largely different, because you've got different column with a different hierarchy structure, but the "type" of action needs to be the same
Part 2) Create a [Ref Update] action
- Create a mass update action, that runs the above action on all the records that need updating
- The example above is running the first action shown (as the example for part 1) on EVERY record in the "Target" table
- Your "Referenced Rows" will be different;
- Perhaps you have a slice holding the records you wish to update
- Or maybe you only want to run on a [Related Whatever]
- Or some other [Column] in your table
Part 3) Create a Scheduled Bot
- Event Details
- Create a scheduled bot to run the mass update action
- None of the actual scheduling details, nor the actual names, matter much - you can largely skip these
- The only part to make sure is correct is
- "ForEachRowInTable" = true
- Select the table you wish to update (same one as your "Ref Update" action)
- Task Details
- Name: Update All (Whatever)
- Type: Run a data action
- Action: your mass update action
(((Save)))
- At this point, you need to save the editor so things propagate
Part 4) Run the bot
- In the background, on the server, all of the records you indicated are now having that action you made run on them
- If you go to your data source, you'll see the mass update suddenly "appear" once all the updates are finished and AppSheet makes the update to your data source
CLEAN-UP
- Keep the bot you made, you might need to use it again
- Just disable it, so it doesn't run on the schedule.... which you didn't set! (^_^)
--------------------------------------------------------------------------------------------------------------------
If you would like to see how to set this up
- here's a video