When some of us first started working with Microsoft Dynamics CRM, we may have thought global option sets were the ideal choice for offering users a list of defined options for a field selection, especially if that same field selection would be used on multiple forms. While global option sets are extremely useful, there are areas where a global option set has limitations.
After using the option sets for a while, you may discover that you want to remove a value from the list and replace it with another value. That works fine if the item is just renamed, but if you remove the value entirely you could (unless using custom code) lose that value from the records where that option was previously chosen.
If that scenario is one that potentially will happen, then you may want to consider using a lookup field rather than an option set. To utilize a lookup field, you will need to first create an entity to store your values. When using an entity you have the ability to inactive a value instead of deleting it. This will allow you to keep the inactive value attached to records and you will not lose the data for historical purposes.
If your organization is planning on relying heavily on option sets in Dynamics CRM, and will likely need to change or add to the list of values often, it may make sense to consider switching to lookup fields. A custom entity/lookup field offers several advantages:
- With option sets, if you delete an option in the list you lose the data forever and you are never able to report out on it
- Your option sets may grow to be quite large and, depending on the placement of the field on the form, may become awkward for users to view the entire list.
- Similar to option sets, users can start typing a value and quickly resolve to the correct choice.
- With lookup fields, you can define views that display different sets of values from the associated entity. So the options a user sees on one form using the lookup could be different from the options a user sees for the same lookup on another form by using different filtered views.
- Being able to query the old deactivated values could give you insight into clients that need to be contacted about new products or service offerings.
So next time you begin to add global option sets to your CRM solution remember to stop, think about the long-term use for this field, and consider the potential benefits of a lookup field over an option set.
Want more Microsoft Dynamics 365/CRM tips + tricks? Join for our monthly User Group webinars.