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 |
---|---|
43 | |
26 | |
24 | |
14 | |
12 |