I have a product table and on product detail page I want to display ‘like’ or ‘unlike’ depending on whether the user already like the product. I have set up a likes table that contains column Like and Email. Then tried using this formula but its not working as I want it to
IF(and([Likes].[Like]<>0,[Likes].[Email]=useremail())=false, “Like”, “Unlike”)
Any ideas or suggestion on how to go about it?
Solved! Go to Solution.
I ended up with the following formula which is working perfectly. Thanks all
IF(in(useremail(),SELECT(Likes[Email], ([Product Id] = [Likes].[Product Id])))=true, “Unlike”, “Like”)
What if you remove the portion =false ?
that wasn’t working either. thanks
Good to know that you have it working, please mark the working formula as per your post as acceptable answer.
I ended up with the following formula which is working perfectly. Thanks all
IF(in(useremail(),SELECT(Likes[Email], ([Product Id] = [Likes].[Product Id])))=true, “Unlike”, “Like”)
That expression is still a bit confusing to me. I presume you have a table called Likes with two columns – Product and Email.
How about something like this:
IF ( COUNT( SELECT(Likes[Email], AND([ProductId] = [_THISROW].[ProductId], [Email] = USEREMAIL()))) > 0, “Unlike”, “Like”)
Perhaps you already have a virtual column Likes on the Products table which is a list of refs to all Likes for the product… If so …
IF ( IN(USEREMAIL(), [Likes][Email]), “Unlike”, “Like”)
User | Count |
---|---|
60 | |
25 | |
13 | |
11 | |
6 |