A filtered lookup or filtered option set is a lookup whose values are depended on an earlier selection. This earlier selection can be in any other field on the form.
Below are the steps to create a filtered lookup in an entity whose values are based on a selection in another field.
1) I will use few entities to show filtered lookup configuration. I will use Movies, Genres and Sub Genres. Movies have N:1 relationship with genres and sub genres.
2) Below is the genre records created in my CRM 2011.
|Movie Genre Records|
3) Below are the sub genre records. As marked, each of these sub genre belongs to a genre.
Sub genre has a N:1 relationship with genre.
|Movie Sub Genre Records Sorted by Genre Name|
5) I have opened the movie record GoldenEye. This is one of my favourite James Bond movies. Movie has a genre and sub genre field on the form, as marked below.
Every movie falls under a genre and a sub genre. The genre selected is "Thriller".
|Fields for Filtered Lookups|
6) Every Sub genre falls under a genre. On the movie form whenever I open the Sub Genre lookup I can see all the items. The Sub Genres are not filtered based on the selected Genre "Thriller".
|Sub Genre Lookup Without Filtering|
7) I will configure a sub genre lookup field so that it filters based on the selected genre. Click "Customize Entity" under "Customize" tab to customise Movies. This will open the Movies form in design mode.
|Customise Movies Entity|
8) On the form below shown are the 2 required fields. Double click the "Movie Sub Genre" field to check its properties.
9) This will open the "Field Properties" window for the sub genre lookup field. Check out the marked area below which states "Related Records Filtering". This is the section where we configure a filtered lookup.
By default this section is disabled. Click on the check box to enable this section.
|Field Properties for Sub Genre on the Movie Form|
10) I will set the option "Only show records where:". Since I want to bind this field to Genre, I will select "Movie Genre (Movies)". This pull down selection shows all the options for Movies entity on which sub genre is dependent.
|"Only show records where: " Setting|
11) I will set the option "Contains". I selected "Movie Genre (Sub Genres)"
12) Below are the settings which will configure the sub genre to a filtered lookup.
|Filtered Lookup Settings|
13) After these changes click "OK" on "Field Properties" window. Then click "Save".
|Save the Movie Form Changes|
14) I will now publish these changes.
|Publish the Movie Form Changes|
15) I will go back to the same Movies record "GoldenEye" and open the sub genre lookup. Now I can only see 2 sub genres as they have been filtered for the genre "Thriller". So we have a filtered sub genre lookup.
|Sub Genres Filtered for the Genre Selection of "Thriller"|
16) I will now select a different genre to test the filtering in sub genre lookup. I will select Genre as "Family".
|Select Genre as "Family"|
17) The sub genres have been filtered for the genre "Family". The values or options in sub genres are different than what we saw when the genre was "Thriller".
|Sub Genres Filtered for the Genre Selection of "Family"|
So we saw above how the sub genres are filtered on earlier genre selections. This filtering process was setup without writing a single line of code. It saves us from further code testing and maintenance.
One more feather in the cap of Microsoft Dynamics CRM 2011!
I hope this blog about 'Microsoft Dynamics CRM 2011 - Filtered Option Sets or Filtered Lookups' was informative. Please feel free to leave your comments.