In the app a user can register for a particular board. There are a total of 3 boards that they can register for. I have the following expression AND(CONTAINS([Board] = “C Note”, [Email Address]) = False, CONTAINS([Board] = “Monkey”, [Email Address]) = False, CONTAINS([Board] = “Monkey”, [Email Address]) = False) in the Show_If of the board assignment table. This, however, states: This formula is not evaluated in the context of a row, so column values are not available. How should I rewrite this formula to be in the proper context?
Solved! Go to Solution.
I think I understand. Try this expression in the show_if field
IN( {board name for view} , SELECT( Board Registrations[Board] , [Email Address] = USEREMAIL() )
Replace {board name for view} with the name of the board associated with each view.
Replace “Board Registrations” with whatever is the name of the table that you just posted example data from.
Also reference:
This entire expression is invalid.
The Show_If expression for a table view is not aware of any one row of the table, so you cannot reference columns of the current row. Your expression uses [Board]
and [Email Address]
, but the view’s Show_If expression doesn’t know which of the several rows it’s displaying you mean.
I know. I just need help on an expression. Not an explanation of what is going wrong.
How do your users select the boards?
Can you try to explain in plain english what this expression is supposed to be checking?
I’d guess that you probably should be doing a LOOKUP( USEREMAIL() , …), or a call to USERSETTINGS(…) in your expression to replace the column references.
Proper usage of CONTAINS() would be something like
CONTAINS( [Board] , “Monkey” )
if [Board] = “C Note”, would return FALSE
if [Board] = “Monkey”, would return TRUE
if [Board] = “Monkey,C Note”, would return TRUE
If [Board] is a List or EnumList column, you should be using IN() instead.
Yes, I do not mind. The user can only register for each board once.
Board Assignment Id | Gifter | Email Address | Board |
---|---|---|---|
DCC64875-44B3-4DF9-A21B-329BBD12C660 | 1DA4FEFF-E2E5-4E0C-9B8F-36D7BD3F26A2 | lihaynesworth@gmail.com | C Note |
E0D818A2-2E7D-4C49-99E3-C89363282972 | 1DA4FEFF-E2E5-4E0C-9B8F-36D7BD3F26A2 | lihaynesworth@gmail.com | Monkey |
916C264B-8D40-4C10-86E4-97C95F3BD9DE | 1DA4FEFF-E2E5-4E0C-9B8F-36D7BD3F26A2 | lihaynesworth@gmail.com | Le Dame Grande |
Then the view for the board is hidden. I am stumped on how to write the proper Show_If statement for the view. The expression is not valid in Show_IF but if I use it elsewhere it works. ARGGGGGHHHH
I think I understand. Try this expression in the show_if field
IN( {board name for view} , SELECT( Board Registrations[Board] , [Email Address] = USEREMAIL() )
Replace {board name for view} with the name of the board associated with each view.
Replace “Board Registrations” with whatever is the name of the table that you just posted example data from.
Also reference:
OK, I am too stoked to try it out!!!
OH BABY IF YOU WERE RIGHT HERE IN FRONT OF ME!!! So I tweaked it a little to show a list and not have to use the AND().
IN( {
“C Note”,
“Monkey”,
“Le Dame Grande”
} ,
SELECT( Board Assignment[Board] , [Email Address] = USEREMAIL() ))= FALSE
User | Count |
---|---|
39 | |
25 | |
22 | |
20 | |
15 |