If I understand the problem correctly, my inclination would be to build either a DAX calculated table or a virtual table variable containing the products to be excluded, and then use the EXCEPT table function to remove those rows from the full dataset dynamically within measures.
Here’s a forum post I responded to a while back utilizing a similar technique that you might find instructive: