As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. This time I will describe the advanced find function.
You can see the section of the skills measured statement that mentions advanced find below;
Advanced find is a feature that allows users to quickly create ad-hoc queries within Dynamics 365. These can then be saved as personal views and shared with other users and teams. Being able to query data is obviously important for all business functions! For sales it may have relevance when trying to review the status or opportunities or identify potential leads etc.
A saved advanced find is known as a personal view. There are two types of views in Dynamics 365, personal and system. System views are created by developers and are available to all users. Personal views show under the “my views” heading and are available to to person who created the view and anyone the view has been shared with.
When sharing and creating views / advanced finds you should be aware that the Dynamcis 365 security model applies. You can only query records that you have been given access to see. And if you share the view you are sharing the query not the records included in the query. By this I mean that if you and your college can only see your own opportunities, sharing a view with your college would give them a view of their opportunnities.
Whilst mentioning security ….. you might need to be aware that all users will have the ability to created advanced find queries. (On the records they have been granted access to!) However, users are granted or denied the ability to maintain save views in their security role. Meaning whilst everyone can use advanced find the ability to save and share the queries as personal views can be restricted.
Below you can see that on my sales manager securitry role the manager has access to create, read, write, delete, append, append to, assign an share their own saved views. This is the maximum access allowed on saved views. You cannot (for example) delete a personal view you don’t own.
I have seen many circumstances when the abiltity to create and share views is restricted. For example, in a contact center you may want all of the teams members to only work with one common set of views.
System Views v My Views
Below you can see that on opportunities I have many system views. I have also created a personal view with advanced find. This saved advanced find shows under the “My Views” heading. Notice I have several options under the “My Views” heading, including the ability to create a personal view (which loads advanced find) or save the currently applied filters to create a view.
You can also access advanced find from the icon in the ribbon bar;
Create an advanced find
When you select the advanced find option you’ll be presented with a dialog like the one shown below.
Notice the “Look for” drop down. Here you select the entity you’d like to query. Next, we have the “Use Saved View” drop down showing the system and personal views available for the entity selected in the “Look for” drop down.
Select an entity and optionally an existing saved view will load that view. You can then edit the query.
Another tip I always suggest to new users is to be aware that the “Look for” and “Use Saved View” fields will default to the current view. So often it is useful to load the entity / view that most closely resembles the query you’d like to perform before opening advanced find.
Having selected our entity and optionally selected a saved view, we can build the query detail. You can see below that in the query detail I have added several conditions. In my example I am looking for opportunities that I have lost in the last three months.
Notice that each line in the query is made up of three parts. First, we have the field in question, such as status, owner etc. Next, we have the operator. The operators available to us will differ depending on the data type of the selected field. Commonly we will have operators like equals, contains data, does not contain data. Then additionally each data type may have some “special” operators. With dates, for example, I can select an operator to looked for dates in the last “n” months. The third part of the query line is the data you wish to filter with. Sometimes this third section isn’t needed! Looking for an owner as the current user or selecting all records that contain or don’t contain data would not need any additional filtering information!
As part of your revision I suggest you experiment with actually creating some advanced finds. Use different data types and learn what capabilities are available to filter on each.
Having built your query, you can click the “Results” button to display the matching records. (As shown below.) It will be common to click back onto the “ADVANCED FIND” tab alter your query and then click results again. By doing this we can jump between the query and the results making changes until the desired outcome is achieved.
And / Or
So I have shown you a quick example of a fairly simple query. But we can make queries much more complicated! Below I have shown a query that find certain opportunities that I have lost in the last three months or ones won by anyone with a revenue above £1,000.
You’ll need to experiment with creating complex queries as part of your revision! But I hope you can appreiciate that by using the “Group AND” and “Group OR” buttons we can build potentially complex queries quite quickly.
One tip I have in building complex queries is to be aware of how we can select groups and rows by clicking the down arrow. (Highlighted below.) This is really useful when you want to apply an AND or OR operator to multiple rows. Another tip is to be aware that by default query lines will be using the AND logic. (So in many circumstances you only need add the OR operator!)
When selecting the fields to include in the query, you will first see a list of all the searchable fields from the entity being queried. However you you scroll down to the bottum of the list you’ll be able to pick related entities. For example, opportunities may have a related contact.
Having selected the seleted entity you can then select fields from that entity to further filter the results. For example, I might want to only include contacts from Birmingham.
From time to time you might need to search for the absence of a related entity. With all versions of CRM / Dynamics 365 prior to V9.0 this was not possible. But at version 9.0 a new capability was added.
I am not confident this feature will be metioned in the MB2-717 exam! As I believe the exam was first published when v8.2 was the latest version. But I have mentioned it here for completeness and because I obvioulsy can’t be 100% sure what questions might come up!
Se can see below that I have selected “Does Not Contain Data” on the related entity. In my example below, I want to fiond all accounts that do’t have an opportunity. Changing the filter on the related entity to “Does Not Contact Data” has allowed me to achieve this.
You can not add further filtering on a related entity once the “Does Not Contain Data” option has been selected. Meaning some limitations do still exist. Say my accounts have every mixture possible of won, lost or no opportunties. A single query to return only accounts with no opportunities or only lost opportunities would not be possible.
Having created your query, you may wish to tailor how the results are displayed. The “Edit Columns” button lets us achieve this.
Selecting any column allowa us to then use the arrows (under Common Tasks heading) to move the position of the column.
Additionally we have several other options;
- Here we can pick upto two columns to order the results.
- If no columns are selected the first column in the view will be the primary sort column.
- Only columns from the primary entity can be used for sorting. (Columns shown from related entities cannot be used for sorting.)
- Used to add columns into the view.
- Will default to offering columns from the “Record Type” of the primary entity.
- You can change the record type to select columns from any lookup entity. (AKA Parent entity.) For example, account number from the account entity.
- You can not select columns from child entities. Say the opportunity is linked to multiple quotes, you can’t select columns from the quotes.
- The primary purpose of the change properties option is to alter the column width.
- Column width is only variable in increments of a set number of pixels. So 25px, 50px and so on. Upto a maximum of 300px.
- Some lookup fields can be enabled for presence.
- Advanced options the linking a web resource and function to a column in a view. (I won’t detail this here as I believe this feature would be beyond the scope of the MB2-717 exam.
- Used to remove columns from views.
Save / Share Views
Once your query have been completed you can use the save or save as option to name and save the view.
Then the saved views option can be opened to show a list of all saved queries for the currently selected entity. (Tip: You can use the “Record Type” button to quickly swap to another entity if required.
It will be possible to select a veiw and then preform several functions. Including deleting the saved veiw, assigning it to another user and sharing.
By default any saved personal view is only going to be available to the person who created it. The share option allows us to share the views with other users and teams. Having used the “Add User/Team” option to share with the required users and teams we can select exactoy what acces to give them.
Below I have shared my view with a team and a user. I have given the team just Read access. Meaning member of the team can use my view but they cannot change it.
I have given my user the additional ability to Write and Share the view. But they have not been given the ability to delete my view or assign it to another user.
The append privilage is greyed out as it is not applicable to the sharing of saved views.
You may notice a button called “Download Fetch XML”. I doubt this is covered in the scope of the MB2-717 exam but again I have included a reference to it for completeness.
The advanced find dialog is actually building some code in background that is used to query the Dynamics 365 database. This code is known as Fetch XML. The download Fetch XML button maybe useful for developers if they want to obtain a copy of exactly how the advanced find is retrieving the data.
I hope I have demonstrated that Advanced Find is a pretty powerful query tool. In my opinion the best way to fully appreiciate its capabilities to experiemnt with it. Therefore I strongly recommend plenty of hands on time during your revision for the MB2-717 exam. Enjoy!