Microsoft Dynamics Reports – The Complete Guide

Microsoft Dynamics reports are not as complex as you may think, you just need to follow the right directions in order to do it the right away. Therefore, we will start by talking about what reports are and the many benefits that are associated with them.

As there are many types of reports and ways to create them, we are going to give you specific details about them. And then we will go on with the different types of reports that Microsoft Dynamics will allow you to create which can be either fetch-based or SQL-based, so we are going to provide you with details about them. We will also talk about how to publish a report and the many privileges that you can take advantage of so as to create the best report for your organization. Linking a report to another report will have another section in this article along with the different types of ownerships.

Microsoft Dynamics Reports – The Complete Guide

What are Microsoft Dynamics reports?

The Microsoft Dynamics reports have been designed to give users useful business data. These reports offer you the same information that is found in the reporting services of MS SQL Server. Both data and layout are stored in an .rdl file too, and the Microsoft Dynamics CRM provides you with outstanding reports for viewing any kind of business data. Users can either create their reports from scratch or use one of the templates that are available as part of this application.

Types of Reports


These reports make heavy use of SQL queries in order to get data for the reports that can be filtered by the system, which are the same that can be found in previous version of the application.


These reports use FetchXML queries to get data, and users can customize their reports to meet their business needs either by using Microsoft Dynamics CRM on their premises or Microsoft Dynamics CRM that is available online. The Report Wizard only uses Fetch-based reports. The sandbox mode runs the reports that are generated by the Microsoft Dynamics CRM that function online. To do that, you have to enable the RDL sandboxing in the reporting services of Microsoft SQL Server.


You will need prvCreateReport and prvPublishRSReport privileges for your report entity in order to publish any report for a type of report called Reporting Services Report. However, you will not need a prvPublishRSReport privilege to publish a report with the other two types of Microsoft Dynamics CRM reports: Linked Report and Other Report.

The Report.ReportTypeCode is where the report type is really specified. You will need to use the prvAppendToReport and prvAppendReport privileges if your report is associated with report entity, report categories or report area entities. The System Customizer and System Administrator security roles have these privileges by default.

Sharing and Ownership for Reports

The Microsoft Dynamics reports may be owned by a team, a single user or an entire organization. A report that is owned by an organization will be visible to the entire organization. If the report belongs to a particular user or a team, the user and the team will have exclusive access to the data. Any change in ownership will cascade from parent reports to child reports. If a user produces a parent report that is owened by the entire organization, the children of the report will be owned by the organization too.

Linking a Report to another Report

A report can either have some child reports providing more information or be self-contained. There is also a parental relationship that is established between child and parent reports, which means that any operation on any parent record will have a cascade effect to its child record. The link between the child report and the parent report is removed after a delete operation wherein the child report will not be deleted.

A parent report ID sends information to the child report. You have to set an attribute called Report.ParentReportId in your child report so as to specify the report ID of the parent. When a child report is either updated or created, a link between the child report and the parent report is performed right away. In addition, a parent may have many child reports. Before publishing a child report, you have to publish a parent report; otherwise you will have to update your child report with the report ID of the parent after creating the parent report.


You can publish a report for Microsoft Dynamics CRM by using either a web application or a web service. You will be have to either update a report record that already exists or create a brand new record in order to publish any report to Microsoft Dynamics CRM.

To update the report, use a method called IOrganizationService.Update. To create a report, use a method called IOrganizationService.Create. The report category, report visibility, report type, and any relate entities should be specified for your report. You have to use an attribute called Report.ReportTypeCode in order to specify your type of report. To run and show a report in a different category, you have to use an attribute called ReportCategory.CategoryCode.

Microsoft Dynamics reports are here to stay as they offer users and organizations many benefits that make their lives really easy. You will be able to create a report quickly by taking advantage of the many templates that are available in this application, though you can create a customized report if that is what you want.

There are different kinds of reports Microsoft Dynamics can create for you which can be fetch-based or SQL-based, and each one of them offers advantages and disadvantages. If you are rather familiar with the SQL server syntax, you might find the SQL-based report very easy to generate. In addition, Microsoft Dynamics allows you to create reports that can be produced with an specific web application on your server or use the power of a web service.

Since there are different types of Microsoft Dynamics reports, you will need to set the right privileges for each one of them, therefore we have provided you with the right things to do in these cases.

Michael is the Lead Author & Editor of DynaMe. DynaMe is a blog focused on cloud based Microsoft Dynamics.