Knowledge found and lost while working with Microsoft Dynamics CRM
RSS icon Home icon
  • Picklists vs. Lookups

    Posted on October 8th, 2007 Mitch Milam Print Print 7 comments

    While in a CRM design meeting yesterday, we began discussing adding a picklist to one of the CRM forms.  One of the other developers made the following remark: "This field is also on two other forms. Let's make it a lookup instead."  Excellent advice, by the way, so let's discuss why.

    Maintenance

    If you have the same picklist data in multiple entities, you can accidentally create a maintenance issue.  To keep the various picklists synchronized, changes made to any of the picklists must be replicated within the other picklists.  Not only does this duplicate effort, it also requires someone with customization privileges.

    The biggest drawback is that the picklist values must be exactly the same.  If they are not, you run the risk of having value 10 mean "blue" in one Entity and "purple" in another.

    By creating and using a custom entity with a Lookup, allows a user with lesser privileges to update the list.  Plus, there is only one copy of the data, with each of the other entities pointing to that same data.

    Relationships and Attribute Mapping

    Mapping lookups between Entities is a bit easier than picklists because there is only a single copy of the data and you're actually passing a reference from one Entity to the next vs. passing an integer value representing the picklist selection.

     

    Just something else to consider when designing customizations for CRM.

    Customization, Dynamics CRM
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading ... Loading ...
    2,203 views
     

    7 responses to “Picklists vs. Lookups”

    1. [...] unknown wrote an interesting post today onHere's a quick excerptWhile in a CRM design meeting yesterday, we began discussing adding a picklist to one of the CRM forms. One of the other developers made the following remark: “This field is also on two other forms. Let’s make it a lookup instead. … [...]

    2. [...] unknown wrote an interesting post today onHere's a quick excerptWhile in a CRM design meeting yesterday, we began discussing adding a picklist to one of the CRM forms. One of the other developers made the following remark: “This field is also on two other forms. Let’s make it a lookup instead. … [...]

    3. That's great, but is it possible to still have a dropdownlist (picklist) instead of the more cumbersome Lookup to share the same entity data?

    4. Not without writing a bunch of Javascript

    5. And why do you forget that with lookups, its really easy to have a reverse-lookup: if you have a color lookup for products, you can view a color e.g. "Blue" and in the left hand side related entities navigation click on Products to get a complete list of all the products that have color="Blue" As easy as that with just read privilege! a simple but very useful query sometimes.

    6. I need to convert a picklist attribute that is located on 3 different entities to a lookup. How best to accomplish this? Thank you

    7. Unfortunately, there is no automated or programmatic way to acccomplish this. You will need to create a new lookup, move the data from the picklist into the lookup entity, then replace the picklist with a lookup.

    Leave a reply