Hi there,
I just discovered an issue with the automatic check on expressions.
The logic is checking for the correct amount of opened and closed parentheses
And it also does so for ’ and " characters.
But I discovered it does NOT do this check with the ‘[’ and ‘]’ characters.
I ran into this issue when the calculation of a column was not working as expected.
In the end I noticed the missing ‘[’, but it would have been nice if the expression assistant would have helped me in noticing!
This is an example of this situation:
As you can see the field ShiftDate is spelled incorrectly as the starting ‘[’ is failing and the assistant is still indicating that the expression is valid.
I hope you will amend this to help avoiding this issue in the future.
Kind regards,
Frank Gelton
It will not show up as an error because the Shiftdate] here is interpreted by Appsheet as a block of text called ShiftDate] rather than a column value.
You can deduce that from the expression clarification. When something is taken as a column, it means that you have correctly put it within square brackets and there exists a pertinent column. The clarification message will show up like ‘The value of column ShiftDate is equal to …’ like it did in the second condition (numbered 2 in the message).
Here due to squre brackets not been given, it will take that as a text value and compare it with the Date from the row referenced by EmployeeDate_REF. That will output a null select expression as no date could possibly be equal to ShiftDate], but the expression is very much valid.
Your explanation makes sense if you interpretate the expression pure textually.
But be honest: how many users will create a column with the character ‘[‘ or ‘]’ in the name?
Anyway: thanks for your quick response and I will be very keen on checking the column names myself from now on
@Frank_G
The issue is not create a column header with square brackets. In the expression editor, you need to specify a column with the square brackets: [ColumnName]
. This does not mean that the actual column name is set as [ColumnName]. What @Pratyay_Rakshit talking about is the expression spell checking in the Expression Builder.
Yes, the parser is flawed. This interpretation is correct:
User | Count |
---|---|
41 | |
29 | |
24 | |
24 | |
13 |