I have just encountered very confusing behavior from a SELECT expression to populate an Image column, that was working correctly prior to ~2024/05/01, but is now failing.
I am using a shared Sheets file as a table source, which may be compounding this problem, and I don't know how common it is to use this setup.
I already have workarounds to solve this problem (VCs), but I'm hoping someone can shed some light on what has changed.
Sorry about the length, I'm going to leave all the details in case someone has similar issues in the future.
I had an expression which has been working for 6 months, but the results have changed since ~2024/05/01
NB:
"Lookup_Table" is a table from the shared google sheets file.
Added *** to obscure details that aren't relevant
All expressions are populating Session[image], a static column, type Image. It is in a separate sheets file, which is local to the app.
I'm using Session[VC image] because it appears to work fine. I'm mostly curious about how/why the image path resolving appears to have changed recently.
The range of outputs I got, and the fact that the expression resolves differently when created from a form, or re-calculated by a bot/row update, is a bit baffling to me.
I don't love patching over a problem that I don't understand, in case there are wider-ranging effects that I'm not aware of.
@MMMiles wrote:
SELECT(Lookup_Table[item_image],[item_key])
The second parameter for SELECT should be an expression that returns true or false, so it should be for example [item_key] = "something", or [item_key] = [_ThisRow].[someColumn].
@MMMiles wrote:
ANY(SELECT(Lookup_Table[image],[id]= *Result of a SELECT*))
The *Result of SELECT* is a list, so you cannot compare it with a single value like [id]. At least you'd need to encapsulate your SELECT() within ANY().
Also, I'm not sure why would you need two SELECT statements instead of writing the conditions directly into a single one.
@Joseph_Seddik wrote:
@MMMiles wrote:SELECT(Lookup_Table[item_image],[item_key])
The second parameter for SELECT should be an expression that returns true or false, so it should be for example [item_key] = "something", or [item_key] = [_ThisRow].[someColumn].
I was just using short-hand for the expression, I don't need assistance with the expression, I tried to clarify that in my preface.
I'll re-write the expressions in my post, but that's not related to the issue.
@MMMiles wrote:ANY(SELECT(Lookup_Table[image],[id]= *Result of a SELECT*))
The *Result of SELECT* is a list, so you cannot compare it with a single value like [id]. At least you'd need to encapsulate your SELECT() within ANY().
Also, I'm not sure why would you need two SELECT statements instead of writing the conditions directly into a single one.
Again, just short-hand. The expression is not the issue, the question is about image paths and how they resolve, and why things have changed.
I tried to clarify in my preface that the issue occurs regardless of the second SELECT.
The second select is used because I am sorting the results of rows from a related child table. If I can do that in a single statement I would like to that, but it would not address the issue that this post is about.
/edit I've amended the expressions in my post to be more general.
User | Count |
---|---|
16 | |
11 | |
9 | |
8 | |
4 |