Considerations for Creating a Report [AX 2012]

Updated: June 12, 2013

Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

How the report accesses data, the controls for passing parameters to the report, the layout and design of the report, and where the report will be used are all things to consider when you create reports using the Microsoft Visual Studio tools for Microsoft Dynamics AX.

You must consider how complex the data access is for the report. The following table describes various levels of complexity when you access data:

Data access complexity



A report dataset identifies data that is displayed in a report. A dataset lets you retrieve data by using a query created in the AOT, a data method, or a report data provider class to access X++ logic.


When a dataset does not provide the complexity needs of your report, you can use the default SrsReportRunController class. A controller class runs the report by creating the user interface (UI), calling SQL Server Reporting Services, and pre-processing the parameters for the report. The following list describes scenarios that require that you extend the SrsReportRunController class to create a custom controller for the report.

  • Report requires input data to be pre-processed.

  • Report requires input data to be manipulated or modified.

  • Multiple reports should be run from the same dialog box.

  • Report requires that it be run from a form.


Reports that use a controller class cannot be used for Enterprise Portal.

Parameters are used to specify the data to use in a report, connect related reports together, and control report presentation. You must determine which type of parameter is best suited for your report. For a list that describes how parameters are created, how that affects a report, and any special considerations, see Parameters Overview.

You must consider whether the report is a simple list of data or if it requires precise formatting. The following table describes various degrees of control when you define the layout of your report:

Layout level of control



Drag a dataset onto the Designs node to create an auto design for the report. The layout is generated based on the data for the report. For more information, see How to: Create an Auto Design for a Report.


Add a precision design for a report that requires a very precise layout, such as an invoice or a bank check. SQL Report Designer is used to create and edit a precision design for a report. Before you use SQL Report Designer to create a report design, the report must be available in the model, and datasets must be added to the report so that the data is available in SQL Report Designer. For more information, see How to: Create a Precision Design for a Report.

You must consider whether the report will be used in the Microsoft Dynamics AX client, in Enterprise Portal, or in both locations. The following list describes considerations when the report will be accessed from Enterprise Portal:

  • Reports that are accessed from Enterprise Portal cannot use SysQuery parameters.

  • Reports that are accessed from Enterprise Portal cannot use the Controller class.

  • Consider the page on which the report will be displayed. If the report is included on a page with limited space, the existing design for the report may not be usable. Consider adding a separate design for the report that can be used specifically when the report is displayed in Enterprise Portal.

  • Consider providing default values for the report parameters whenever possible. This makes it much easier for the user to add the report to an Enterprise Portal page, because the report will run without requiring parameters to be set. The user can adjust the parameters as necessary after the report has been added to the page.

Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.

Community Additions