When I first started with Dynamics CRM I thought that global option sets were the end all be all for fields that I was going to be using on multiple forms. After using these almost exclusively I realized that I was wrong.
After using the option sets for a while I wanted to remove a value from the list and replace it with another which is fine, however when I removed the value from the list it was then that I realized that I had lost that data from the records that the option was designated to.
After losing that data I began to wonder if there was a better way so I began to research and found the benefits of a look up field. By creating the look up you are creating an entity to store your values in. With in this new entity there is the ability to deactivate 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 where as when we removed the value from the option set we lost that data.
If your organization relies heavily on option sets and like to change the values often it may be time to consider switching to lookup fields. When you lose the data it is gone forever and you are never able to report out on it like you were when it was there.
You also will realize quickly that if you do not want to lose the data that your option sets will grow quite large and will soon become unmanageable for the users.
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. You could possible use these values to build out marketing lists to hit your target audience based on the selected criteria and really your options are endless.
So next time you begin to add global option sets to your solution remember to stop, think about the longer term use for this field and think about the benefits of a look up field over an option set.
Article by: Tom Hardwick, Ledgeview Partners