Action:
Data: Execute an action on a set of rows
I have used this awesome feature but it stopped working last Friday.
Did anyone else encountered the same problem?
Solved! Go to Solution.
The action now works as expected, all above formulas FILTER(โฆ), REF_ROWS(โฆ) seem to perform well.
Thanks Appsheet team!
Couldnโt do it without your help!
Mine seems OK.
Can you add details of what is not working?Have you looked at the audit history to diagnose?
I have created an Action called โImport Reportsโ:
It was designed to trigger another Action called โExport Reportsโ. This action works well on its own.
For some mysterious reason the action that you see in the screenshot does not trigger it anymore using the same REF_ROWS formula as before.
In the formula โArchives Reportsโ represents the name of the table and โLast Name, First Nameโ is the key column of that table.
I wouldnโt use REF_ROWS here. I would use a SELECT or FILTER expression to get the rows. I donโt know if that is the issue, but I personally hate REF_ROWS outside of auto-generated VCs. Even then I redid most of mine.
I have used the SELECT formula also, no differenceโฆ
Damn. I was hoping it was something silly like a backend update on how REF_ROWS works. Any errors or anything at all in the logs about this action?
Nopeโฆ
Do you get the expected results when you Test the Referenced Rows expression from Expression Assistant?
Good question. I just checked and NO,the result in the test is showing all rows in the table, rather than the ones corresponding to the keyโฆ
The same formula is assigned automatically in the โFriendsโ table to list the corresponding rows and it works fine.
Any suggestions on what List formula I could replace it with?
The Referenced Rows expression must produce a list of row keys. I recommend using FILTER() to gather the list. Give that a shot. Remember to Test your expression in Expression Assistant.
Time to email support@appsheet.com, then, I guess.
I have replaced the REF_ROWS formula with the following:
FILTER(โArchived Reportsโ, ([Last Name, First Name] = [Full Name]))
The Test in the Expression Assistant also returns all rows.
This being the case, shouldnโt the Action be applied to all rows?.. It remains inactive.
Can you send a screenshot of the test result and the tables associated? Along with a screenshot of example data for [Last Name, First Name] and [Full Name]?
Your FILTER() expression will gather a list of key column values from the Archived Reports table. Your action then tries to match those key column values to key column values of the Reports table. Do the Archived Reports and Reports tables have key column values in common?
My apologies,
The formula I just tested and meant to use is actually this:
FILTER(โReportsโ, ([Last Name, First Name] = [Full Name]))
rather than this:
FILTER(โArchived Reportsโ, ([Last Name, First Name] = [Full Name]))
The reports I am trying to include in the action are the rows of the table Reports with the key [Last Name, First Name]. The values of this key are common with the key of the Friends table [Full Name].
They are listed in the Friends view as Referenced rows of the table Reports
Iโm not entirely sure if this will do anything, but Iโve been surprised before. Try changing to [_THISROW].[Full Name] and see if anything is different.
Just tried this, the action is still deadโฆ
I really think there is a problem with the code rather than my formula.
The fact that it originally worked and now it does not, kind of makes it clearโฆ
Iโm going to send the 3rd email to support, see what happens.
I understand that with the new year etc. not everyone is checking things as usual.
Thanks everyone for your help, really appreciate the input!
As @Bahbus wrote, it may be time to email support@appsheet.com.
Yeah, Iโm completely stumped at the moment. But I also never do this type of action/reporting, so far at least, so I wasnโt super qualified in the first place.
Just for giggles, did you try switching [Last Name,โฆ] and [Full Name] around in your expression? Thatโs literally the last thing I can think of. And that shouldnโt do anything at all. But if you havenโt tried, I suppose it could be worth 2 min to give it a shot.
You should post your App name and ID so that @praveen, @Aleksi, @TyAlevizos, @Phil, or someone else on the AppSheet team can take a look when they can. Unless you already provided that in an email to support.
@Andrew_W Thanks for this info. We are aware of this weird behavior and are investigating where the main problem is.
I also have an action in an app that is suppose to trigger an email with attachment. It also recently stopped working only in a web-browser, though. The action still works on a tablet (although I need it more for a web-browser). I click the action button and nothing happens when it should automatically update and sync to run the workflow rule.
This seems to be a different problem.
I would suggest to try your action in the app design window (Emulator). If it works, refresh your browserโs cache by clearing all Appsheet cookies and data, and then reloading them again.
@Aleksi Do we know if this is fixed yet?
I believe Appsheet is still working on it.
@Phil Any thoughts about this issue?
We have found the reason for this and if everything goes well, the fix is released when we deploy today.
The action now works as expected, all above formulas FILTER(โฆ), REF_ROWS(โฆ) seem to perform well.
Thanks Appsheet team!
Couldnโt do it without your help!
Youโre welcome
For your information what Iโve noticed on my side concerning โexecute an action on a set of rowsโ:
For a record of this table : TableA
Referenced Table: TableB
Referenced Rows:
Referenced Action : ActionX
when the 2 tables are the same , Referenced Rows = SELECT() and the ActionX is executed
sample: that works:
For a record of this table : T_ImpPrs1
Referenced Table: T_ImpPrs1
Referenced Rows: SELECT(T_ImpPrs1[Ip1_ID],[Ip1_NewPrs_B])
Referenced Action : ActionX
p1_ID is the key of T_ImpPrs1, the action ActionX is executed
when the 2 tables are the different, Referenced Rows = SELECT() , the ActionX is NOT executed
when I replace the SELECT() by FILTER() the ActionX is Executed
sample: that donโt works:
For a record of this table : T_ImpPrs1
Referenced Table: T_Person
Referenced Rows: SELECT(T_Person[ID],AND([_THISROW].[Ip1_Prs_ID]=[ID],NOT([_THISROW].[Ip1_NewPrs_B])))
Referenced Action : ActionY
ID is the key of T_ Person, the action ActionX is NOT executed
now I change the SELECT by a FILTER
sample: that works:
For a record of this table : T_ImpPrs1
Referenced Table: T_Person
Referenced Rows: FILTER(โT_Personโ,AND([Ip1_Prs_ID]=[ID],NOT([Ip1_NewPrs_B])))
Referenced Action : ActionY
ActionX is executed
User | Count |
---|---|
43 | |
30 | |
24 | |
23 | |
13 |