I'd like to double check to make sure that I ...

expressions
(Kirk Masden) #1

I’d like to double check to make sure that I understand how AppSheet expressions work.

I know I can use the following expression in a virtual column to get the number in the “Session number” column of the “Session” table in the row where the “Key” column equals 1:

=SELECT(Session[Session number],[Key]=1)

To make this work, however, the virtual column has to be a list, not a number.

On a normal spreadsheets, I would only need to type something like

=C2

to get the value of the second row in column C.

Is there any way to do this in an AppSheet virtual column that produces a number, not a list?

Unless I’m mistaken, AppSheet doesn’t seem to work that way.

(Praveen Seshadri (AppSheet)) #2

SELECT() produces a list. If you are sure the SELECT() will only have a list of length 1, use ANY(SELECT( … )) to get a single value.

The common case of this is the LOOKUP function which produces a single value. It is similar to VLOOKUP in a spreadsheet.

If you did C2 in a spreadsheet, it is equivalent to doing [C] in AppSheet (i.e value of column C in the same row — assuming 2 is th current row in the spreadsheet formula).

(Kirk Masden) #3

As always, I really appreciate your help.

Both

ANY(SELECT(Session[Session number],[Key]=1))

and

LOOKUP(1,Session,Key,Session number)

worked for me in the sense that I didn’t get an error and they eventually returned the correct number after a sync.

Until the sync, however, all of the formulas I have tried continue to display the old figure.

I hope the image of the Session table I’ll paste below gives you an idea of what I’m trying to do.

It’s an extremely simple view where the user utilizes an action to increment the session number.

It’s gotten a little more complicated for me, however, because I’ve added Japanese translations of the prompts (line three).

When the Japanese is displayed, I would like the correct, current session number to be displayed and for the incrementation to be visible immediately.

I’m currently using two actions (“Data: execute an action on a set of rows” and “Data: set the value of a column”) in combination to write the same number to D2 and D3.

This works in that the change is reflected immediately whether one is viewing the Japanese or the English.

It seems to be a bit clumsy, though, because the app only really needs the data in D2; D3 is just for display within the app. I’m making he app write to the sheet twice when once should suffice.

I reconfigured my spreadsheet and app to show the English as one record and the Japanese as a second, alternative record because of the limitations of the Show-if condition discussed

https://plus.google.com/105035465983967629689/posts/MKwXErmaN86

and

plus.google.com - In a price list I want to show basic data for an article when it is selected …

So, in sum, I’ve got the app doing what I want it to do but, generally speaking, I think it would be nice if more options for dealing with similar situations where available.

Thanks again!

In a price list I want to show basic data for an article when it is selected … plus.google.com

(Kirk Masden) #4

Here’s the spreadsheet screenshot: