If your checkbox works via the data level (i.e. is part of the relationship definition), this isn't easy, because the so-called multi-line key technique is a logical OR.
You can use a non-filtered relationship, plus a portal filter like
Let ( [
filter = YourOtherTable::checkboxSelector ;
filterCount = ValueCount ( filter ) ;
filteredPeopleChoice = FilterValues ( filter ; People::selectionField ) ;
filteredPeopleChoiceCount = ValueCount ( filteredPeopleChoice )
filterCount = filteredPeopleChoiceCount
OR not filterCount
add that predicate to filter down a full set, rather than filtering up an empty one
and a script trigger for the filter field (e.g. OnObjectModify) to refresh the portal.
Be aware that this works on the display level – so each and every related records need to be loaded in order to be evaluated against the filter condition. For larger related sets and/or slower connections, this can be very un-performant …
John, something with a FilterValues() may help.
A global field (formatted with the same checkboxes) comparing the real field, perhaps?
what erolst said.