I have an app formula that worked last week but now doesnโt seem to be working. And it works in the editor but not in the app.
I have 2 enumlist columns:
1 - โAssigned Toโ
2 - โEmployee Emailโ
In the โAssigned Toโ column I select the names of employees that I want to assign work to. The โEmployee Emailโ column populates the employee emails using following expresssion:
SELECT(
Employees Master DB[Employee Email], IN([Employee Name], [_THISROW].[Assigned To])
)
When I test the expression, it works and successfully pulls the emails of the employees I selected in the โAssigned Toโ column. But it doesnโt work in the app and it doesnโt record the email in the spreadsheet.
Again, this worked last week. I checked the spreadsheet and all of the work orders I assigned last week show the correct employee emails.
Any suggestions are appreciated!
Solved! Go to Solution.
An app formula for a normal (non-virtual) column is only evaluated when a row is updated, such as when edited in a form or modified by an action. The app formula for a virtual column is evaluated every time the app syncs. The easiest fix here would probably be to convert Employee Email to a virtual column.
This could be something that you need to report to support@appsheet.com ?
Hi @Dialect_Junk,
I believe in the expression you have shared, the sub expression IN([Employee Name], [_THISROW].[Assigned To]), the part [_THISROW].[Assigned To] returns only one value as a text whereas the IN() expression syntax requires the second part of the expression to be a list.
the syntax of IN() expression is IN( match-value , in-list )
Typically, the app editor throws an error for the expression, when second part is not a list.
Could you please try an expression
SELECT(
Employees Master DB[Employee Email], IN([Employee Name], LIST([_THISROW].[Assigned To]))
OR another variation
SELECT(
Employees Master DB[Employee Email], [Employee Name]= [_THISROW].[Assigned To])
)
Edit: Hi @Dialect_Junk, I am sorry that I missed the part that your [Assigned to] and [Employeee Email] are Enumlist columns. Please ignore above solution. I will revert with a response, if I get a proper solution.
Thank you, kindly.
Hi @Dialect_Junk,
Could you please update in which table these two enumlist columns are. Could you please update where the SELECT() expression is and what type of column you have assigned to this SELECT() expression? From the expression it is clear that [Employee Email] and [Employee Name] are in table Employees Master DB Are these also enumlist columns?
In summary, could you please mention type of associated columns in Employees Master DB and the other table?
The 2 enumlist columns (โAssigned Toโ and โEmployee Emailโ) are in a table called โWork Order Requests.โ
The SELECT expression is in the โEmployee Emailโ column, which is an enumlist column. I entered this SELECT expression into the โApp Formulaโ field.
In the Employees Master DB table, the [Employee Email] column is an Email type column and the [Employee Name] is a text type column. The Employees Master DB table is read only.
Hi @Dialect_Junk,
Thank you for all the details.
I tested the expression and setup as you have shared and it works exactly as you have configured and need it to work. In the screenshot below, upon selecting the Customer Names [Customer Names 2] which is an enumlist column, the customer emails are populated as per selection in [Customer Email2] column which is another enumlist column.
Even back end spreadsheet is populated with email list.
I am hereby sharing the settings of Customer Email2 column , just in case it helps
Edit:: One minor difference is in [Name] column is of โNameโ type and not text ype in the lookup table in the test setup, but I believe that should not matter.
I just discovered that the SELECT expression works when I first assign the work; it perfectly captures the email addresses of the employees I have chosen.
However, if I remove or add a name to the โAssigned Toโ column after creating the work order, the emails do not get updated. The emails from the original list of names remains.
Am I misunderstanding how the โApp Formulaโ field works? How else would I do this?
Hi @Dialect_Junk,
Thank you. My testing shows that even after changing names in the โassigned toโ equivalent column in my case ([Customer Name2], the emails list changes as per selection.
I believe, if one edits the row by opening the corresponding record, even the real columns should reflect the latest changes after saving the record.
Is it possible that there is some other logic , constraint associated in your app?
An app formula for a normal (non-virtual) column is only evaluated when a row is updated, such as when edited in a form or modified by an action. The app formula for a virtual column is evaluated every time the app syncs. The easiest fix here would probably be to convert Employee Email to a virtual column.
That did the trick. Thank you for the explanation, Steve.
User | Count |
---|---|
15 | |
11 | |
9 | |
8 | |
4 |