To OptionSet or not to OptionSet? That is the question…of this blog post anyways!

There are many times, especially in the Enterprise space, where a decision must be made on how to implement Lists of Values (LOVs). For example, maybe you have Company Type and Company Sub-Type fields that need to have a list of values to select from. This can be implemented in a multitude of ways, but for the sake of this blog, let’s say you have narrowed it down to two: OptionSets or Lookup tables. (Spoiler Alert: we recommend Lookups)

Lookup tables will grant you a few extra benefits that you won’t receive with OptionSets. First, you have the ability to dynamically filter based on another field without JavaScript! In our example from above, you can narrow down which Company Sub-Types are available based on the Company Type selected. Did we mention that it can be done without code?

Second, the integration/migration points from other systems (SAP, Siebel, Dynamics AX/GP/SL, etc.) becomes dramatically easier. If you are working on communicating with another system that provides the actual values in the LOVs, you can now insert these rows into Dynamics as data instead of Metadata. That means a solution push is not required every single time there is an addition/update/removal of a value within the LOV! How cool is that? No going through the IT deployment process just to be able to change the values that are being fed from a different system.

Last, we find the ability to see/update all LOVs in one place is much less cumbersome than having to go to each individual field or Global OptionSet to see what the values are and whether they are current.

We do feel like more end users are probably used to the idea of a pick list vs. a lookup control, but with more use comes comfort. The benefits of using Lookups more than make up for the fact that you will need to re-train end users on how to fill out these kinds of fields.