Show data based on another table value in a column?

I have two tables. One produces and logs messages “Notification Log”. The other produces and logs responses “Response Log”. The problem i have is getting one view to stop showing a button “Got the message” after a response log is generated.

I have a form “new message” that logs in the “notification Log” table.
I have users viewing this list of messages - from the notifications log table. The use clicks a button “Got the message” to let the admin know they received the message.

The problem i have is, i cannot figure out how to make that action button do several things:

  • Add the appropriate useremail, message, date to the “Response Log” ( I have this working)
  • Take away this message in the list - because they clicked "Got the message (This part i cannot seem to get).
0 14 784
  • UX
14 REPLIES 14

Steve
Platinum 4
Platinum 4

What have you tried?

I tried setting it up as:

Data - add a new row to another table using values from this row - see image

After this i am un sure of how to make the view ONLY show unclicked rows…

One approach would be to make your slice filer expression something like this:

ISNOTBLANK(
  FILTER(
    "Response Log",
    AND(
      (USEREMAIL() = [Useremail]),
      ([_THISROW].[Key] = [Key]),
      ("yes" = [Read])
    )
  )
)

Over time, however, this approach will cause the app to get slower and slower.

Do you have any other suggestions?

I don’t.

In your images, its looks like you might have the assignment of Message and Message Key switched?

You have:

2X_4_4df1520288e60f58e9b33122210ee6dc98de1a19.png

I put this expression on my slice - filter. It stopped showing any messages. Meaning - without this expression - the user can see the message and click on “Got the Message”. But when i add this expression - all the messages go away.

I used that expression in the action behavior. It doesnt show any action buttons. So, now there is nothing for the user to click on.

Here are the two different data tables:

I switched that - but it still doesn’t work correctly.

I think there might be logic error in the expression, Instead of ISNOTBLANK I think you want ISBLANK.

The idea is to show the message row (or show the button) when there are NO rows that indicate the message has been read.

By the way, if your intent is to hide the ROWS once the message has been acknowledged, you do not need to place this same logic in the condition for the button.

Ok. I want to do exactly what you said. I want that action button to go away after the user has clicked on it. I may be putting this logic in the wrong place. I put it on the action button:

“only if this condition is true”

Ah, Message Key is the name of the column in your Response Log table so you need to change this:

([_THISROW].[Key] = [Key]),

to this:

([_THISROW].[Key] = [Message key]),

i moved that logic on the slice. It now shows the action button no matter if i clicked it or not. So it shows them, but they never go away. I checked my data - and it is populating correctly in the table.

This is the logic i used:
ISBLANK(
FILTER(
“Response Log”,
AND(
(USEREMAIL() = [Useremail]),
([_THISROW].[Key] = [Key]),
(“yes” = [Read])
)
)
)

My Lord you guys are so smart. That worked perfectly. Thanks again guys…

Top Labels in this Space