How do I filter a reference field using a multi select picklist

Ok, this is probably a stupid question… How do I get a reference field to successfully filter on multiple selections from a multi select picklist.

I have a reference field to Campaign and a multi-select picklist of type values. If the user picks two different types I want the reference field to be filtered to contain Campaigns of any of those types. My filter works currently if only one value is selected, but if multiple are selected I get no results. I’ve tried both the “in” and “contains” comparisons and get the same result either way. Seems to me “in” should be the right option… 
It seems to me like both “in” and “contains” are behaving like “contains”. my single value from Campaign.Type has to fully “Contain” all of the choices from the type multipicklist which is impossible since there can only be one type on campaign…

It looks like this might be my answer (It’s a bug that has not been fixed in 2 years). So, I’m attempting to use the multiple selections filter option. My question is how do I reference the selections made on a javascript model in that provided field?
I’ve created a ui only picklist on Opportunity that holds the types of campaigns available, I want those selections to be applied as a filter on the campaign reference field.

Hi Jerry~

Just wanted to see if this tutorial helps with your situation:…


Thanks for the reply Karen, 

I have seen that page, but I am not filtering a table. What I am attempting to filter is the actual Campaign Reference field. That article is about using a reference field as a filter. 

I have built a UI only field on Opportunity model that mirrors a picklist field on Campaign. I want to be able to only search for Campaigns where one of the selected picklist field values applies.

Let me see if I understand your goal. 
1. You have a campaign reference field on the opportunity object
2. You only want selected campaigns to be available to be selected in that reference field.   These campaigns should be those that have some values in a picklst field on the campaign.  (Like campaign status = active)

If this is true - you should be able to add a reference field filter on the campaign reference field lookup field. 

But maybe I’ve misunderstood something… 

Not at all Rob, that’s exactly what I want.

My issue is that when I attempt to filter those campaigns based on the values selected on the multiselect picklist (status = active, error, etc…) both the options for ‘in’ and ‘contains’ act like ‘contains’.
Meaning the field on Campaign that can actually only have one of those values needs to match both.

HA! Multipicklists. Those rotten beasts… Here is another strategy. More complicated. More flexible.

Create a campaign model that filters down to those campaigns that include the correct picklist values.

In the reference field, get rid of your filter and then go to the search tab of properties. Here Make the Option source be a Model, and the select your new campaign model at the bottom of the property panel.

Now the model will provide the values for your campaign reference field…

Thank you Rob! 

You just made my day, this works perfectly.

Glad I could help! 

Thought it might be helpful to any who need this in the future to spell the solution out fully so here it goes:

I have a UI only multipicklist (CampaignTypes) on my Opportunity Model that mirrors values that exist on a picklist (Type) on Campaign.

I created a new Campaign model called Filtered Campaign with the following Condition

On my Opportunity Model I placed an action based on the CampaignTypes picklist being updated