Walkthrough: Creating Reports in the AOT (MorphX Reporting Tools)
Important
This content is archived and is not being updated. For the latest documentation, see Microsoft Dynamics 365 product documentation. For the latest release plans, see Dynamics 365 and Microsoft Power Platform release plans.
Applies To: Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
You can create reports that display data that is retrieved by using a query. You can create these reports by using the Application Object Tree (AOT) or by using the Report Wizard.
Note
To access the Report Wizard, click Tools > Wizards > Report Wizard.
In this walkthrough, you will use the AOT to create a report. You will perform the following tasks to create a report by using the AOT:
Create and populate tables to use as the data sources for the report
Create the report
Note
The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, places, or events is intended or should be inferred.
Creating Tables to Use as the Data Sources for the Report
In this procedure you create a table to use as a data source for the report. For more information, see How to: Create Tables.
To create a table to use as a data source for the report
In the AOT, expand Data Dictionary, right-click Tables, and then click New Table.
Right-click the new table and then click Properties.
On the Properties sheet of the new table, set the Name property to Employee.
In the AOT, expand the Employee node, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to EmpId.
In the AOT, expand the Employee node in the AOT, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to FirstName.
In the AOT, expand the Employee node in the AOT, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to LastName and set the StringSize property to 25.
In the AOT, expand the Employee node, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to DeptId.
In this procedure you create a second table that will be used as a data source for the report.
To create another table to use as a data source for the report
In the AOT, expand Data Dictionary, right-click Tables, and then click New Table.
Right-click the new table and then click Properties.
On the Properties sheet of the new table, set the Name property to Department.
In the AOT, expand the Department node, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to DeptId.
In the AOT, expand the Department node, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to DeptName and set the StringSize property to 25.
In the AOT, expand the Department node, right-click Fields, point to New, and then click String.
On the Properties sheet of the new field, set the Name property to Location and set the StringSize property to 25.
Populating the Tables
Now you can populate the tables with data that will be displayed in the report.
Note
You can create forms that you can use to add data to tables, but for this walkthrough it is not necessary.
To populate the Employee table
In the AOT, expand Data Dictionary, expand the Tables node, right-click Employee, and then click Open.
Enter the following data into the Employee table and save your changes.
Note
Press CTRL+N to add a new row of data or ALT+F9 to delete a row.
EmpId
FirstName
LastName
DeptId
0001
Maria
Cameron
Acct
0002
Eran
Havel
Acct
0003
Pal
Petersen
Mfg
0004
Kim
Ralls
Mfg
0005
Rebecca
Laszlo
IT
0006
Nicholas
Christopoulos
IT
0007
Erik
Anderson
Eng
0008
Ben
Smith
Eng
To populate the Department table
In the AOT, expand Data Dictionary, expand the Tables node, right-click Department, and then click Open.
Enter the following data into the Department table and save your changes.
Note
Press CTRL+N to add a new row of data or ALT+F9 to delete a row.
DeptId
DeptName
Location
Acct
Accounting
Fargo, ND
Mfg
Manufacturing
Fargo, ND
IT
Information Technology
Fargo, ND
Eng
Engineering
Washington D.C.
Creating the Report
In this procedure you will use the AOT to create a report that displays information from the table you created.
To create the report by using the AOT
In the AOT, right-click Reports, and then click New Report.
Right-click the new report and then click Properties.
On the Properties sheet of the new report, set the Name property to EmployeeReport.
Creating a Query for the Report
You can specify the data to display and the way to present the data in the report by creating a query in the AOT. For more information, see How to: Create Queries by using the AOT.
Note
You can also create a query by using X++ (see How to: Create Queries by Using X++). Under the EmployeeReport node, right-click Methods, point to Override Method, and then click Fetch. Use the Query system classes to create a query. For more information, see How to: Override the fetch Method to Filter Data for Reports (MorphX Reporting Tools).
First you must specify the data sources to use in the query and the relationship between the two data sources (tables). In this case, the DeptId field is the primary key of the Department table and is a foreign key of the Employee table. For more information, see How to: Add Multiple Data Sources to a Query.
To join the Employee table with the Department table in the report
In the AOT, expand the Reports node, expand the EmployeeReport node, expand the Data Sources node, expand the Query node, right-click the nested Data Sources node, and then click New Data Source.
On the Properties sheet of the new data source, set the Table property to Employee and set the Name property to Employee.
Under the new Employee(Employee) node, right-click the nested Data Sources node, and then click New Data Source.
On the Properties sheet of the new data source, set the Table property to Department and set the Name property to Department.
Under the new Department(Department) node, right-click Relations, and then click New Relation.
On the Properties sheet of the new relation, set the JoinDataSource property to Employee, set the Field property to DeptId, and set the RelatedField property to DeptId.
Specifying Query Properties
You can specify what data is returned and how it is displayed in the report by specifying things like a range or a sort order. For more information, see How to: Create Queries by using the AOT. For this report, specify that the query return all employees in Fargo, ND. Create a new range on the Location field of the Department data source.
To define the range of data to display in the report
In the AOT, expand the Reports node, expand the EmployeeReport node, expand the Data Sources node, expand the Query node, expand the nested Data Sources node, expand the Employee(Employee) node, expand the nested Data Sources node, expand the Department(Department) node, right-click Ranges, and then click New Range.
On the Properties sheet of the new range, set the Field property to Location, set the Name property to Location, and set the Value property to ="Fargo, ND".
Note
You must include the quotation marks in this case so that the comma is not treated as a delimiter.
To specify the order by which to display the data in the report
In the AOT, expand the Reports node, expand the EmployeeReport node, expand the Data Sources node, expand the Query node, expand the nested Data Sources node, expand the Employee(Employee) node, right-click Order By, and then click New Field.
On the Properties sheet of the new control, set the DataSource property to Employee, set the Field property to LastName, and set the Direction property to Ascending.
Creating a Report Design
To create a report design
In the AOT expand the Reports node, expand the EmployeeReport node, right-click Designs, and then click New Report Design.
On the Properties sheet of the new report design, set the Name property to EmployeeReportDesign.
Note
To base the report design on a template, set the ReportTemplate property to one of the predefined report templates.
Right-click the EmployeeReportDesign node and then click Generate Design.
Expand the Generated Design node, expand the Section Group: Employee node, expand the Body:Employee_Body node, expand the Section Group: Department node, right-click Body:Department_Body, point to New control, and then click Field from Employee.
Drag the EmpId, LastName, and FirstName fields onto the Body:Department_Body node.
Right-click Body:Department_Body, point to New control, and then click Field from Department.
Drag the DeptId, DeptName, and Location fields onto the Body:Department_Body node.
Arrange the fields in the order in which you want them to appear in the report.
Note
You can also edit the report design by right-clicking the report design and then clicking Edit. You can then move fields around in the Visual Report Designer.
Viewing the Report
To view the new report
In the AOT, expand the Reports node, right-click EmployeeReport, and then click Open.
Click OK twice and verify the data that you entered into the tables. Erik Anderson and Ben Smith should not appear in the report because their department is not in Fargo, ND.
See also
How to: Create Queries by using the AOT
How to: Add Multiple Data Sources to a Query
How to: Create Queries by Using X++
How to: Override the fetch Method to Filter Data for Reports (MorphX Reporting Tools)