(For more resources related to this topic, see here.)
CRM report types
Microsoft DynamicsCRM 2011 allows different types of reports; not only can the SQL Reporting Services reports be used, but other custom reports, such as Crystal Reports, ASP.NET, or Silverlight reports can also be integrated.
Dynamics CRM can manage the following types of reports:
- RDL files, which are SQL Reporting Services reports
- External links to external applications such as Crystal Reports, ASP.NET, or Silverlight reports
- Native CRM dashboards with charts
The RDL files can be created in either of the following two ways:
- By using the Report Wizard
- By using Visual Studio
Dynamics CRM 2011 comes with 54 predefined reports out of the box; 25 of them are main reports and 29 are subreports. If for some reason you don’t see any report as shown in the following screenshot, it means Dynamics CRM 2011 Reporting Extensions were not installed. This is something that can only happen for on-premise environments; if you are working with CRM Online, you don’t need to be worried about any report-extension-deployment tasks.
CRM report settings
Reports in Dynamics CRM have the following settings or categories that you can access by clicking on the Edit button of each report, as shown in the following screenshot:
In the Report: Account Summary window you will see two tabs, General and Administration.
The Administration tab will show the name of the owner of the report, when the report was created or updated and who did it, and whether it is viewable to the user or the entire organization.
In the General tab, you will see the name of the report and the description. If it is a subreport, we will see the parent report displayed. Lastly, in the Categorization section, you can see the following settings:
- Related Record Types
- Display in
We will study each of these settings in detail.
By default, there are four categories created out of the box in every CRM organization:
- Administrative Reports
- Marketing Reports
- Sales Reports
- Service Reports
You can change, add, or remove these categories by navigating to Settings | Administration | System Settings| Reporting as shown in the following screenshot:
These report categories are used so that you can filter reports by each category when the predefined views are available in the main Reports interface, as shown in the following screenshot:
Notice that if you add a new category, you will also have to create the view as it won’t be created automatically.
Related Record Types
The Related Record Types option allows you to select what entities you want the report to be displayed under.
The reports will be listed under the Run Report tab that is on the Ribbon. There are two locations where the report will be listed on the entities you selected: the home page grid and the form.
The home page grid is where you see all the records of an entity (depending on the view you selected) as shown in the following screenshot:
Almost every entity in Dynamics CRM has a Run Report button. As you can see, there are some reports that can run on the selected records and there are others that only run on all records.
The form is the second place where the Run Report button is located and it is visible on the form record that you will see when you open a record; the report will only affect that record.
As we saw in the Related Record Types option, we can decide here where we want to show our report. The options are:
- Forms for related record types
- Lists for related record types
- The Reports area
The first option will make the report available on the Run Report button, which is on the form ribbon of an entity record as we have seen earlier.
The lists for the Related Record Types option appears on the home page grid ribbon button.
The Reports area refers to the main reporting interface that is in the workspace.
This last option of the Categorization section allows us to specify the language of the report. We have the option of selecting all the languages on the list if you want your single report to be displayed in any of these languages. This is helpful if we have the different language packs installed on the CRM Server and the organization has people from different countries who understand different languages. By default all the reports are based on the local language.
This option might not be visible on your installation if you don’t have any other language installed on the system.
SQL reporting services versions
The first version of reporting services was released as a separate download for SQL 2000. It was in the SQL 2005 version that it was integrated in the SQL Server installation media and became an optional feature of the SQL Server setup.
I remember that when I first installed SQL Reporting Services 2000, the setup was very complicated and required touching some XML files manually. It was in the 2005 version that it included a very nice application called Reporting Services Configuration Manager to help set up and deploy, which has been improving with every version to make this task much easier.
The 2000 and 2005 versions required Internet Information Services (IIS)to be installed on the server to be used by the report manager and report web services. However, the 2008 and 2012 versions come with their own HTTP server and don’t make use of the IIS.
There is an important difference between the versions of SQL Server and Visual Studio. Basically, the last version of SQL 2012 is one version behind Visual Studio as currently there is no support for the Report Server Project Templates in Visual Studio 2012. The following table shows this discrepancy:
Visual Studio 2005
Visual Studio 2005
4.0 and 2011
Visual Studio 2008
4.0 and 2011
Visual Studio 2010
4.0 and 2011
Dynamics CRM 2011 was originally designed to work with Windows Server 2008 R2 and SQL Server 2008 R2. Installing Dynamics CRM 2011 on Windows Server 2012 with SQL Server 2012 is very challenging; Daniel Cai, a fellow Microsoft MVP in Dynamics CRM, has written the necessary steps and workarounds in his article at http://danielcai.blogspot.com.ar/2012/05/install-crm-2011-onwindows-server-8.html.
As we can see in the http://support.microsoft.com/default.aspx?kbid=2791312 link , there is upcoming support for Windows 2012 with the Update Rollup 13, which will be available on the Windows Update.
In this article, I have decided to use the latest Microsoft versions, Windows Server 2012 and SQL Server 2012, to take the benefits of the latest features and improvements. I will mention in this book whenever a specific feature is different from the previous versions, as some implementations might still use the 2008 R2 versions.
At the time of writing this book, CRM Online is using SQL Server 2012.
Some of the benefits of using SQL Server 2012 with Dynamics CRM 2011 are as follows:
- Support for the mobile client with the SQL Server 2012 Service Pack 1
- Alerts directly from the reporting-service control
- Better performance
There is also another version of SQL Reporting Services that uses the same concept but is hosted in the cloud of Windows Azure; however, this version can’t be used with Dynamics CRM directly.
Regardless of the edition, SQL Reporting Serviceshas four main components:
- SQL Server databases
- Windows Service
- Report Manager website
- Report Server Web service
SQL Server databases
There are two databases that are used by the SQL Reporting Services—ReportServer and ReportServerTempDB. All the reports and configurations are stored in the first database, and the second one is used to store temporary data and improve the service performance by caching the user sessions. Notice that these databases’ names are set by default and a Database administrator(DBA) might change the names using the Reporting Services Configuration Manager.
The Windows Service is used to automatically generate scheduled reports that can be scheduled with the Report Manager website or the CRM interface. You can see this Windows Service version in the Windows Services tool with the name of SQL Server Reporting Services (MSSQLSERVER), where MSSQLSERVER will be the name of the SQL Server instance you are running.
Report Manager website
The Report Manager is the web-user interface in which a user can see, create, and run reports by usually going to a URL such as http://<servername>/Reports. From this interface, the administrator can also give and assign permissions to the reports as well as configure and run the reports directly.
Report Server Web service
The Report Server Web service is the web service end point where a developer can integrate with other custom applications. Usually, by going to a URL such as http://servername/ReportServer, a developer can create another user interface to do everything the Report Manager website can do, but with a custom interface or application such as a Windows or WPF app. This is the URL that Visual Studio and the Report Builder use to connect and interact with the reporting services to run and deploy reports. This web service is very useful if you want to automate some of the export report features, such as to automate the generation of a PDF document by executing a report. An example of one of the end points exposed can be found at http://<servername>/ReportServer/ReportService2010.asmx; there are other ASMX files for compatibility with previous versions, such as ReportService2006.asmx and ReportService2005.asmx.