Using SYS_USER in FINDROW() - Classic Experience

Greetings of the day!

This is occurring within an app in Classic Experience

I have a findrow function that works when I pass in a literal but when I pass in SYS_USER it doesn't return what's expected.

I have a table User_Language with two columns: User, Language. My user is "Dev X Chris" and I can display this on my screen by setting a data cell to SYS_USER. All good there.

What I want to do next is get the value of User_Language[Language] where User_Language[User] is the current user. In the table, User "Dev X Chris" has a Language of "English" I use the latter to get some additional data (which works fine, ironically).

On the data cell Language, I have this Data source setup:

  • Type is Variable
  • Initial Value uses this formula:

=FINDROW(User_Language, "User_Language[User]=$[SYS_USER]")[Language]

which resolves to #VALUE

If I pass in the literal condition, ala:

=FINDROW(User_Language, "User_Language[User]=""Dev Chris X""")[Language]

I get the resulting language for the users and can carry on.

What am I doing wrong here?

Hi @DevC-79e7,

Thank you for your question and welcome to the community!

One reason the FINDROW function might not be working with the SYS_USER variable, is because the table is missing a column formatted as Contact. If you click into Settings for the user column and select the format Contact, this should resolve the issue.

Please let us know if this does not resolve the issue. Please also provide screenshots if possible.

Thank you,
Evelyn

Thanks Evelyn. Changing the column to Contact type initially didn't fix anything. I had to go into the table and re-select my user, then this worked. The screenshot in your example showing the table with the Contact type for that column helped.

Hi @DevC-79e7, I'm so happy to hear that! Please let us know if you have any other questions.