Process Expression does not contain a reference

I get the following error while trying to build a ‘Get Newest Change Log Values’ process that calls a process ‘Get Newest Change Log id’ and then tries to return the values from the newest change log by using the id it got from the called process:

Column id in expression ‘[Newest Change Log].[id].[Action]’ does not contain a reference.

‘Get Newest Change Log Values’ Process

‘Get Newest Change Log id’ Process
image

id expression: MAXROW(“Change Log”, “DateTime”)

Hi Liam,

When “id” is returned, it is being returned as a text type, so you could not really do chaining dereferencing.

you can probably trying using the Select() expression.
For example,
Select(Change Log[action], [log id] = [Newest Change Log].[id])

thanks!

Ideally, it would retain the original column type. The behavior you describe is not intuitive and adds complexity and confusion. Nothing else in AppSheet behaves that way.

2 Likes

Could the ‘Return Values’ be adjusted so the user selects what type is to be returned? Just like in setting up a table column?

Or could it auto-assign based on the returned value?

@Steve Agreed, thanks Steve!

1 Like

This is one of the perfect confusion with us.

When it comes to “Process input”, are you really sure that we are able to pass the “list of IDs” to it?
On the other post, I have been repeatedly pointing out that the one step with “call another proces with initial process input” is actually doing the same as task (action) would do, i.e. STEP can manipulate the column value which is completely new with Automation. Yes, action can change the value of the target columns and field, but now we are able to do the same stuffs with process input, which is giving me (at least) confusion, until I get to know and understand what it is.

The nostargic action to change the value using value in column in this fields can be done by process input nowadays.

Alright, backing to the subject, we are really able to pass the list of ids for recors to the process input???

@steve

1 Like

Hi,
sorry for the confusion – no we cannot pass a “list of IDs” to a process’s input (which means we don’t support running the same process on a batch of inputs yet, but we are planning to add this with something like a ForEach step).
What I meant above is

  1. First use Select() to generate a list of refs, and its size should be 1 according to the use case
  2. Then grab the only item in the list generated above

Thanks!

1 Like

Thanks both @Steve and @trawinseeds for your suggestions!
We will look into this feature request to support use case like yours.

3 Likes

I’m curious what use case you were trying to support with the current approach.

So on this sample case, just wrap by any() should work then.

Any(Select(Change Log[action], [log id] = [Newest Change Log].[id]))

I adjusted the ‘New Change Log’ step process ‘Get Newest Change Log id’ return value to ‘Log id’ and used your suggested expression

Any(Select(Change Log[action], [log id] = [Newest Change Log].[id]))

In the ‘Return Values’ step within the ‘Get Newest Change Log Values’ and it reports the following error:

Output ‘Action’ is invalid: Unable to find column ‘Log id’, did you mean ‘id’?

Hi Liam,

Would you mind emailing support@appsheet.com with details of your app and allow access to your apps – go to https://www.appsheet.com/account/account#_tab_acctConfig and check the option that enables support access.

We would like to understand the use case better and investigate.

Thanks!

1 Like