You can ensure your query only produces each row once using the distinct attribute. For example, if you have multiple entries for the same company name you can get the list of unique names using:
By default you’ll get up to 5,000 records that match your query. The top-level <fetch> element supports a few options to help you control this:
If you’re using any hierarchies in your data, you’ve probably noticed the icon in your main grid views that you can click on to show the hierarchy view when records have a parent or children. It’s simple to work out if a record has a parent – just check if Continue Reading
One common pattern of queries I see about FetchXML is how to write queries to ask two different questions about the same related entity. For example: Invoices that include product A AND product B? Contacts that have pending emails AND no sent emails? Visits that have a page view of Continue Reading
Last time I looked at aggregates, but unforgivably I missed out how to apply grouping to date/time attributes:
One feature of FetchXML that sets it apart from other CDS query options is aggregates. This is the option to get summary data (number of records, sum of opportunity value etc.) rather than the individual values from each record. If your only concept of how many records you have is Continue Reading
It’s often important to sort the results of your query, and in FetchXML you can do this with the <order> element. This is equivalent to the ORDER BY clause in SQL.
I’m very proud to have some more of my contributions included in the latest release of the popular FetchXML Builder tool!
So far we’ve looked at using the <attribute> and <link-entity> elements to control what columns to include in your query, but for a truly useful query you’ll likely want to select which rows to include instead of taking everything. Enter <filter>!
To combine data from different records in your query you need to use the <link-entity> element. This is equivalent to a join in SQL.