Report Design and Controls

Finally I have sometime on hand that I can use to continue my posts on Reporting framework. I have not been able to update my blog due to various reasons but lets get started again.

In my previous posts I had covered about reporting framework terminologies and reporting project. In this post, let us go through the types of designs available for reports and different controls that are available for a report. Together all these elements form Report Model Elements

The first and foremost model element is the “Report” element itself

Report: The report element represents a report definition. A report definition contains a collection of elements such as datasets, parameters, images, and report designs.

The elements that define a report are located under the node for the report in a model. The report in turn contains Report Designs and Report Controls. A report element can be identified by following symbol:  image

Report Designs

Dynamics AX SSRS reports contains two types of report designs

  • Precision Design
  • Auto Design

Precision Design

A precision design is a report design that is created by using SQL Report Designer (Standard SSRS Report Designer). Precision designs are useful when a very precise layout is required.

These reports are like pre-printed formats where we know the format of the report while designing them.  You can identify a precision design by the following symbol: image

Auto Design

An auto design is a report design that is automatically generated based on the report data. An auto design is created by using drag-and-drop actions, and selecting elements by using Model Editor.

You cannot have specific formats in the Auto Design. This design is useful mostly for tabular and matrix type reports with simple groupings and sorting. You can identify a precision design by the following symbol: image

Report Controls

The report element can have following report controls or elements

  • Dataset
  • Data Region
  • Parameter
  • Filter
  • Grouping
  • Sorting
  • Data Method


A dataset identifies data that is displayed in a report. Every report must have one or more datasets. Default data sources that are available for Datasets are “Dynamics AX” and “DynamicsAXOLAP”. The data sets can have data fetched by using anyone of the following options:

  • A query (Dynamics AX AOT query or an OLAP MDX Expression)
  • Report Data Provider
  • Business Logic (C# Business Logic with the reporting project only)
  • AX Enum Provider (Enum values)

A dataset can be identified by image symbol.

Data Region

A data region is an area in a report that displays data. Data can be displayed in following formats

  • Table – Data displayed in columns and rows. Symbol: image
  • Matrix – Data displayed in matrix format. Symbol: image
  • List – Data displayed in list format. Symbol: image
  • Pie Or Doughnut Chart – A chart type report. Symbol: image
  • XY Chart – A chart type reports (Bars, Columns, Lines on XY axis). Symbol: image

Please note that all  these data regions are available in Auto Design report only. The Precision Design has its own standard SSRS report controls.


A parameter lets you parameterize data for a report. With the help of parameters, you can filter the data to the required values.

Parameters can be identified by following symbol: image


A filter is used to filter or restrict the data that is displayed in a report.The Dynamics Filter property on the dataset determines how filters are created for a report. If the Dynamics Filters property on the dataset is set to True, the end user of the report will identify the ranges when they view the report. To manually define the set ranges to filter data on a report, verify the Dynamics Filters property on the dataset is set to False and create your own filters.

Filters can be identified by following symbol: image. Again these filters are available only for Auto Design. The Precision Design has its own way of defining filters


A grouping lets you organize data that displays in a report by grouping fields. For Auto Design, you can see a node called grouping for Table or Matrix type data regions. Groupings in Precision Design follow the same procedure that is used in Standard SSRS Reports.

Groupings can be identified by symbol: image


A sort lets you control the order in which data displays in a report. For example, you can sort alphabetically by field in ascending or descending order.

Sorting can be identified by symbol: image

Data Method

A data method contains code to retrieve and process data for a report. The code for a data method is written in C# or Visual Basic, depending on which project template is used.

Data Method are designated by following symbol: image

Layout Templates

A layout template specifies the styles that are applied to the header, footer, and body of a report. One layout template can be applied to many reports. Layout Templates are created in a reporting project and are separate from Report Controls.

There are default layout templates available but we can define our own custom templates to suit the needs of the customers.

Layout Templates are identified by symbol: image

Style Templates

A style template specifies the styles that are applied to a data region. When you create a style template, you will notice that there are several types of templates that you can create based on the data region type. A style template can be applied to more than one data region in a report, and it can be applied to data regions in more than one report.

Following are the style templates that you can create (1 per data region type)

  • Table – Symbol: image
  • Matrix – Symbol: image
  • List – Symbol: image
  • Pie Or Doughnut Chart – Symbol: image
  • XY Chart – Symbol: image

Report Data Sources

A data source is a source of data for a report dataset. You can use the predefined data source, which connects to the Microsoft Dynamics AX application database. Or, you can define your own data sources. System by default provides data sources for “Dynamics AX” and “DynamicsAXOLAP”.

Data Sources have symbol image associated with them.

This concludes the report designs and controls.

7 thoughts on “Report Design and Controls

  1. Hi Sumit, I have created a SSRS report and deployed in AX2012 R2. This monthly report contains two parameters ‘Period’ and ‘Employee’. In database ‘Period’ field is ‘Integer’ type and ‘employee’ as String. On adding parameter from AOT–> Query–> Range, I am getting a ‘text box’ for ‘Period parameter’ and ‘lookup’ for employee parameter in report. I guess, since employee code is related with the Master table and, so I am getting the lookup and for ‘Period’ there is no master, in fact, both the values are coming from the transaction table. and while running report, user wants ‘Period parameter’ in ‘lookup form’ i.e. dropdown not the ‘text box’. If in text box I am entering Period value as per the value in database report is generating correct result. Could you advise me in creating the lookup for ‘Period’ field i.e. Integer Data type.

    1. Hi sandeep,
      Is period recid field? Or enum field?
      Based on that you shud either have proper primary key relation or enum specified in contract class and it shud take care

      1. Hi Sumit, Thanks for the reply..Period field is part of a custom table and hence it is ‘recid field’. And columns are indexed on 3 fields i.e. Accounting Period, Employee Code and Payroll Item. Using a ‘LookupCustomPeriod’ method we could make a lookup on the form level but its not appearing in report parameter…Based on the relations only in AOT query is built up and based on query and relations report is giving correct result. Issue is with ‘Not getting Lookup in Report Parameter’

        Is there any way, if I could use same method i.e. ‘LookupCustomPeriod’ during report generation for parameter as well..

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s