Salesforce’s multi-select picklist (MSP) seems like a great field type. Sometimes it seems like the Best Option to choose as Data type since Users can select multiple options. But recently in a project, while implementing the same, I have found that there are lots of limitations:
- Reports & Dashboards:
Multi-select picklists create reporting headaches.
i. Filtering Picklist values:
The first challenge is if we want to pull a report or filter using a multi-select picklist value, we must be aware of the difference between using the operator “equals” which will pull up records with only that single MSP value and using “contains” or “includes” as the operator which will pull all records which contain the value regardless if there are additional values included in the field.
ii. Data Grouping:
Another reporting challenge is by the nature, MSPs don’t lend themselves to group the data by values.
For Example, If you’ve selected X, Y and Z values in one record, Y and W in another, and Z in a third, you will get 3 different groupings, i.e. one for XYZ, one for YW and the other for Z. It is difficult to find how many records have the value Y.
iii. Dashboard Representation:
Since there are challenges in Data Grouping, we can’t use most of the dashboard components to represent the data. It is a complicated mess to get real meaning out of the data.
2. Dependent Picklist:
We also cannot use MSPs as controlling fields for dependent picklist fields. They can only be used as the dependent field.
3. Workflow Field Update:
We can’t update a value in the MSP using a workflow field update.
4. Formula Field:
There are very limited scopes of formulae, we can use MSPs. However this post outlines how you can do it but it sure isn’t pretty or fun.
5. Data Merging:
Multi-select picklists also pose challenges while merging records in Salesforce. If we merge records with MSP fields using the standard Salesforce merge tool, the MSP values in the master record are the only ones retained unless we are using a specialized data merge tool such as DemandTools, where we can specify that the values from the non-master records should be merged with those from the master.
If we want to merge the data into a document, we to have to do a lot of reformatting to get it to look right because the values will come out separated by a “;”.
6. Data Importing
Importing data to update records with MSPs also is tricky. If we update records with MSPs with a standard data tool, it will simply overwrite all existing values in the MSP with the new value(s) being brought in. With a tool like DemandTools we can specify that we would like to merge the values being imported with those already existing in the system.
Checkbox fields can be a good alternative for this, which can also be Controlling Field in case of Field Dependency. Checkbox fields unfortunately have drawbacks as well. If there are lots of choices, users have to scroll so much to get through them. Also checkboxes have limitations for reporting since they don’t allow us to group all choices into one category to report on.
Have you ever faced any other limitations while working on MSP? Did you find any alternate solution? Please feel free to comment below. I would like to hear from you.