SSRS Reports in MS AX 2012 - Basic understanding
Hi Friends J Hope All is well…J
These days I’ve been focusing on the
BI and reporting aspects that come as part of Microsoft Dynamics AX
2012. So
just thought of throwing some light on SSRS
reporting in AX 2012.
Let me first start with the introduction on AX
SSRS Reports, and later with different kind of designing and developing of the
reports.
What is SSRS..???
SQL
Server Reporting Services (SSRS): is a
server-based report generation software system. It can be used to prepare and
deliver a variety of interactive and printed reports. It is administered via a web
interface.
Report Server: This is
the primary database that stores all the information about reports that was
originally provided from the RDL files used to create and publish the reports
to the ReportServer database. In addition to report properties (such as data sources)
and report parameters, ReportServer also stores folder hierarchy and report
execution log information.
ReportServerTempDB: This
database houses cached copies of reports that you can use to increase
performance for many simultaneous users. By caching reports using a nonvolatile
storage mechanism, you make sure they remain available to users even if the
report server is restarted.
The SSRS Report Server
•
The SSRS report server plays the most important
role in the SSRS model. Working in the middle, it’s responsible for every
client request to render a report or to perform a management request, such as
creating a subscription. You can break down the report server into several
subcomponents by their function:
•
Programming
interface
•
Authentication Layer (new to SSRS 2008)
•
Report
processing
•
Data
processing
•
Report
rendering
•
Report
scheduling and delivery
Reporting
Framework Jargons
One of the most noteworthy changes which we have
seen in this release of Microsoft Dynamics AX 2012 is that we’ve migrated the
reporting framework from the X++ reporting framework to Microsoft SQL Server
Reporting Services.
MS has introduced a robust reporting framework
wrapping over the basic SSRS reporting functionality. There are many terms used
in reporting framework in AX as discussed here:
Report
Definition Language: RDL is an XML application primarily used
with Microsoft SQL Server Reporting Services. RDL is usually written using
Visual Studio. AX has Report Definition Language Contract classes that can
generate and build the RDL for an AX SSRS report. This contract provides a
weakly typed representation of parameters. It contains methods that can be used
to get or set values. It also contains a map of parameter names and the
SrsReportParameter class. The base class is SrsReportRdlDataContract.
Report
Data Provider (RDP): A framework that helps in building,
processing and rendering data to reports. Most of the reports require RDP
classes that help in implementing business logic required to process data and
provide data in readable, presentable and required formats design. The base
class is SrsReportDataProvider. This class has two main sub classes,
SrsReportDataProvderBase and SrsReportDataProviderPreProcess.
Report
Data Contracts: The Report Data Contracts framework is used
to provide and manage the parameters to an SSRS report. The report data
contract contains all the other relevant instances like Report Data Provider
contracts, print contracts, RDL contracts and query contracts that will be used
by a report.
Printing
Contracts: The framework that manages report printing (to
different mediums). The base class is SrsPrintDestinationSettings. There
are other supporting contracts that are used for printing, we will discuss
about them in future posts.
Query
Contracts: This framework manages the queries used to
process report data. This framework is also responsible for providing dynamic
filters (similar to our ‘Select” buttons on report dialogs that open the Query
specification form to filter data on report queries).
Report
Controllers: Report controllers control the report
execution and dialog forms. Report controllers can be used to modify report
dialogs, validate report parameters and other validations necessary before
report execution. The base class is SrsReportRunController. Reports
utilizing report controllers can only be used for printing data on client side.
Reports controlled by controllers cannot be used in Enterprise Portals.
Report
UI Builders: UI Builders are used to modify the report
dialogs at run-time or to add additional parameters and write custom business
logic to report dialogs. Ex: You want to perform some task based on data
modified for one parameter, that affects other parameters or build a custom
lookup etc (something that was provided by RunBaseReport framework class in
previous versions. The base class is SrsReportDataContractUIBuilder.
Just conversed some of the basic reporting
terminologies that you will be using extensively for reporting in AX.
Will discuss more on SSRS report creation through
Visual studio and integration and deploying various artifacts.
Leave a Comment