Create and modify reports that use SSRS

Completed

Many pre-generated SSRS reports come out of the box with finance and operations apps. SSRS reports allow you to print reports to different locations, such as your screen, a printer, a file, or an email. You can use SSRS reports to create parameterized views with drill-down navigation. You can also embed hyperlinks from a report to finance and operations apps pages.

You can also schedule your reports to run periodically by using a batch job. SSRS reports can also help you create precise compliance documents for your local regulatory business. In addition to the out-of-the-box reports, you can create and modify more reports by using X++ development to suit your organization's needs.

Design SSRS reports

When designing a report, consider the data that you need. SSRS reports can be appropriate if you need a high-volume, transaction-focused report. SSRS is great for documents that are meant for email, print, archive, and bulk distribution.

SSRS report design can use an autodesign to determine the report layout, which is useful for simple reports. For more complex reports, you can use the precision designer, which uses a free-form design surface to customize the layout and content of the report. Fields and tables can be inserted and moved around freely, and you can adjust margins and spacing between fields. You can also add expressions to calculate totals, set fonts, add logos, and use labels to automatically translate any text.

After you determine the report design, you can move on to creating a report.

Create SSRS reports

To create a report, you need to use Microsoft Visual Studio and a finance and operations apps development environment. In Visual Studio, you first create a new report object. Then, you need to assign a data set to the report.

A data set defines what data is used in the report. In the data set parameters, you can select the data source for the data set and the data source type. The data source type explains how the data from the data source is retrieved.

The four data source types are:

  • Query - Uses an existing Application Object Tree (AOT) query. Using an existing query allows for faster filtering of data in SQL to quickly generate reports and requires limited X++ code to develop. The only X++ code used is for the display methods in the tables.

  • Business logic - Is used to get a data source other than finance and operations. The Business Logic data source type can only be used with a single report because the name of the class must match the name of the report.

  • Report data provider (RDP) - Is used when a query cannot be used alone; additional logic is needed to run the report. This is usually the case when you use dynamic filters, when business classes must be called to use data, or if a parameter is used on the UI that is entered in X++ code.

  • AX enum provider - Can be used to filter the report view when the report parameter is an enum type.

After the data set is created, you can set the report design by selecting an auto design (for simple reports) or a precision design (for more customized reports). After your report is finished, you need to deploy the report. When you have deployed, your report is ready to run in finance and operations apps.

Modify SSRS reports

Occasionally, you might not need to create a new report. Instead, you can choose to modify an existing report by using the extensibility of X++ objects in Visual Studio. You can use extensions on tables or report data provider classes to add new columns. You can also extend menu items and other classes to redirect navigation to your custom designed reports.

Extending your reports lets you make changes to existing reports without affecting the standard report solutions. This means that you can still use your modified and standard report.

Deploy and publish SSRS reports in finance and operations apps

After you create or modify an SSRS report, you must deploy it to make it available in Finance and Operations apps. In D365FO, deployment also publishes the report to the report server—there is no separate publish step. All SSRS report artifacts must be included in source control and packaged as part of a model.

Deploy SSRS reports from Visual Studio

In development environments, reports are typically deployed directly from Visual Studio.

To deploy a report:

  1. Open the report project in Visual Studio.

  2. Right-click the Report or Report Model you want to deploy.

  3. Select Deploy.

  4. Visual Studio compiles the report, validates the design, and deploys it to the reporting server associated with your finance and operations environment.

This approach is intended for development and testing only and is not supported for UAT or production environments. Reports deployed this way do not persist across environment refreshes.

Deploy SSRS reports through a deployable package

For test, UAT, and production environments, SSRS reports are deployed using the standard application deployment process:

  1. Include the SSRS report artifacts in a deployable package.

  2. Build the package using your ALM or Azure DevOps pipeline.

  3. Upload and apply the deployable package through Lifecycle Services (LCS).

  4. The deployment process installs the report definitions on the report server and registers the report metadata in the application.

    Tip

    Remember that deployments beyond the developer environment must use deployable packages.

Publish SSRS reports to the report server

Deployment publishes the RDL and metadata to the report server, making the report available to menu items and forms in the application.

Common deployment scenarios

Scenario Deployment Method
Developer machine or cloud-hosted dev environment Deploy from Visual Studio
Build pipeline or automated validation (CI pipeline) Use MSBuild or hosted build pipeline
UAT or production Deployable packages via ALM pipeline or LCS

Validate SSRS report deployment

After deployment:

  • Verify the report appears in the report catalog.

  • Confirm security roles have access to the report.

Run the report to ensure it executes without errors. Redeploy reports when changes occur.

Redeploy the report whenever you:

  • Modify the RDL layout

  • Change data providers or queries

  • Update report metadata or parameters

Resources

To learn more, see Create reporting solutions.

For more information on publishing SSRS reports: Publishing Reports to a Report Server