I set the expression Mid([Project Nam...

expressions
(Chengzhi-EXT GUO) #1

I set the expression

Mid([Project Name], 5, 2)

to the value of column “Test”, when I filled the value “12345678” to [Project Name], the value of [Test] should be “56”, but in fact the value of [Test ] is “34”,

Can someone help to check?

MID(some-text, begin-at, how-many)

(Suvrutt Gurjar) #2

Hi @Chengzhi-EXT_GUO, Could you please try to save the record and then check the result?

My testing showed that after saving the record, the expression does return correct result of

“56” or 5th and 6th character,in the detail view. However till the record save operation is complete or even afterwards, it returns “34”

or 3rd and 4th character in the form view.

I will request senior community members and +Steve Coile for more guidance on reason behind returning 3rd and 4th character before and after save operation in form view.

(Suvrutt Gurjar) #3

Hi @Chengzhi-EXT_GUO,One correction, my testing observation was with a VC

having expression. With a real column, your observation is correct. The expression returns 3 and 4 character even in detail view.

Will request +Steve Coile’s further guidance.

(Steven Coile) #4

Sounds like a bug. Please report to support@appsheet.com.

(Dinh Nguyen Nguyen) #5

This behavior seems like a bug. I will investigate.

(Chengzhi-EXT GUO) #6

@Suvrutt_Gurjar @HarryJust done the test, set two column value to same expression, Mid([Project Name], 5, 2)

Below is the result.

In detail view,

Real Column,

34

wrong

Virtual Column,

56 –

correct

In form view,

Real Column,

34

wrong

Virtual Column,

34

correct

(Dinh Nguyen Nguyen) #7

Virtual columns are computed by server, while real columns are computed by the client (device, or browser). The incorrect output in the real columns thus points to a problem in how the expression MID() is computed in the client.

I’m adding @Adam_Stone_AppSheet, our client-side expert, to investigate further.

(Dinh Nguyen Nguyen) #8

A fix for this should be deployed later this week.

(Steven Coile) #9

@Harry can you clarify your statement that virtual columns are computed on the server, not on the client? How do virtual columns work when the app is offline, then?

(Dinh Nguyen Nguyen) #10

+Steve Coile Most expressions are computed in the client (device/browser). This is why things like Show_If, Valid_If, Initial Value, App Formulas, etc. can be computed without syncing (think of how these are computed when the app user is filling out a form).

Virtual columns on the other hand are only computed in the server. If the app is offline, the value of a virtual column will default to “sync to compute”.