ACTION - ERROR

Hi,

Why Am I getting this error ? Where I am making wrong ?

The value ‘=LIST([EMAIL ID])’ of data action ‘Create an user 2’ does not match the expected type List or its expected type details

  1. This error appears when the USER table has column [SL NO] as key .

  2. Error doesn’t appears when any other column other than [SL NO] is set key.

  3. Error doesn’t appear when column [SL NO] type is set as Text . If the key column is [SL NO]

What is the reason ?

Is there only one user who is allowed to input records into this table? Appsheets says there is issues when multiple users put in inputs with your value field of your key, because they might not be unique and could cause Key issues. UNIQUEID() is best recommended if there will be multiple users imputing records.

But it works ( no error appeared) when the column type is set to Text. Initial value : has the same max() function.

Keeping the column type as number is that the reason for the error? I still could not understand the problem.

I don’t see the column [EMAIL ID] in your screenshot of your table. What type of column is it? Does it have a formula or initial value?

[EMAIL ID] is a column in Employee Database table with type EMAIL

Sorry if I am misunderstanding, but since your action has the referenced table as USERS, your referenced rows need to be rows from the USERS table, and not a LIST() from the Employee Database table, right?

Again, apologies if I misunderstood.

I don’t know about it… I created this action by having an another action as a model which was taught by @Suvrutt_Gurjar @AleksiAlkio

I see. I would assume you would need an expression that selects the rows on the USERS table for which the action should act on, since that is the referenced table. Not sure what rows you want to update, but maybe something like like:

SELECT(USERS[SL NO], [email]=[_thisRow].[EMAIL ID])

but @Suvrutt_Gurjar @AleksiAlkio are much more knowledgeable

You don’t need to read the list from the Ref table. You just need to have a list of key values but it doesn’t matter how you create them. LIST(“abcdefg”) works as well if it finds that row.

The problem here is the column type mismatch. The formula tries to find a text value from a number column and the app recognize that they don’t match as it’s LIST(text) against LIST(Number). Changing the number column type to text should fix it.

Thanks brother @AleksiAlkio

I request you to clear few doubts so that I can avoid mistake in future.

Here you have mentioned " list of key values " , from where this list of key values to be picked from employee database table or user table ? and the key values denotes which table key column ?


Even after setting [phone number ] as key column , appsheet editor doesn’t show error , logically speaking [Phone number] is also number right ? why it can’t accept [SL NO] as a number type ?


LIST (“abcdefg”) or LIST([EMAIL ID]) whatever it is… Does the action searches for the list of values matching the “abcdefg” or [EMAIL ID] in one particular column (may be the key column) or it searches in all rows and the columns of table ?

For example :

Table USERS have 2 columns namely [COLUMN A] - key, [COLUMN B], [COLUMN C]

COLUMN A COLUMN B COLUMN C
ROW 1 xyz@gmail.com
ROW 2 abc@gmail.com
ROW 3 jkl@gmail.com

Referenced Row : LIST([EMAIL ID])

if [EMAIL ID] has these 3 email id ( xyz@gmail.com, abc@gmail.com,
jkl@gmail.com) as list of values . Does the action acts on particular row (may be the 1st one) and excludes other 2 rows or it acts on all 3 rows (since values are present in at least one columns at each rows)?

How does this works. ?

Based on your reply, I will post a summary for this thread so that other community members can some idea about referenced action.

Thank you. :blush:

#1 - The result needs to be a list of key values from the table that you are looking for (Reference table)
#2 - Phone column type is not a number
#3 - It needs to generate a list of key columns as it’s a list of unique values. Searching from another column would give you wrong rows as there is a possibility that multiple rows have the same duplicate value. For that reason, it findsj ust the Row #1.

3 Likes

Thread Summary:

Question about: Referenced Action - Execute an action on a set of rows

Error: The value ‘=LIST([EMAIL ID])’ of data action ‘Create an user 2’ does not match the expected type List or its expected type details

Solution:

  • Values (referenced row) that you get from the column of the source table and target table (key) column type should be of the same type.
    • Example:
      • Source table column type: Email, Target table key column type: Email - :check_mark: Accepted
      • Source table column type: Email, Target table key column type: Number - :multiply: Not Accepted

Note/New Learnings:

  1. The action searches for values (referenced values from the source table) in the [key column] of the target table to act and excludes other columns.
  2. Complex expressions like select() are not necessary unless needed. Simple expressions like list() could be used. E.g., LIST([EMAIL ID]) to get referenced values.
  3. Referenced rows values can be fetched from any column of the source table. It need not be the [key column] of the source table.
  4. The Phone column type is not a number. Even if it looks like a number, it is not considered a number by AppSheet algorithm.

I sincerely thank Mr.** @AleksiAlkio **for helping me in troubleshooting and educating us about appsheet. His contribution to this esteemed community is immeasurable.

I also wish to thank other esteemed community contributors for helping me in this thread** @lynchk21 @Trevwiller **

with regards

Jaichith J

1 Like