You are here: Reference > Rule types > Report Definitions > More about Report Definitions

More about Report Definitions

  1. About 
  2. New 
  3. Query 
  4. Chart 
  5. Report Viewer 
  6. Data Access 
  7. Parameters 
  1. Pages & Classes 
  2. History 
  3. More... 

About the pxRetrieveReportData activity

Use the Rule-Obj-Report-Definition.pxRetrieveReportData activity to run the retrieval and sorting operations, but not the formatting and display processing, of a report definition.

Parameters

Specify both key parts of a report definition.

Parameter

Description

pyReportClass Select the Applies To key part of a report definition. This might identify an internal class or class group, or an external class.
pyReportName Select the Purpose key part of a report definition.
pyPageName Optional. Specify the name of the clipboard page that holds the report results. If you do not specify a name, the results are included in the default Code-Pega-List page called pyReportContentPage.
pyReportParamPageName
Optional. Use this parameter to override the columns returned by the report. This parameter enables you to add or remove the columns that the report returns. You can also change the sorting order of these columns.

This parameter is of class Embed-QueryInputs. The page structure is like the following example:

Embed-QueryInputs page structure

<? xml version="1.0" ?>
<pageData>
     <pxObjClass>Embed-QueryInputs </pxObjClass>
     <pyListFields REPEATINGTYPE="PageList">
               <rowdata REPEATINGINDEX="1">
                      <pxObjClass> Embed-ReportListFields </pxObjClass>
                      <pyFieldName>.pyLabel</pyFieldName>
                      <pyPrefix>PCO</pyPrefix>                                                           <pySortType>ASC</pySortType>
                      <pySortOrder> 1 </pySortOrder>
                </rowdata>
     </pyListFields>
     <pyMaxRecords>Maximum no. of records to fetch</pyMaxRecords>
     <pyPagingSettings>
     <pxObjClass>Embed-PagingSettings</pxObjClass>
     <pyPageIndex>Page Number</pyPageIndex>
     <pyPageSize>Records per page</pyPageSize>
     <pyPagingEnabled>True/False<pyPagingEnabled>
  </pyPagingSettings>
</pagedata>

Results

The system uses rule resolution to find the report definition and run it, but does not produce any HTML output display. The selection criteria of the report definition rule and the sorting requirements (recorded on the Design tab) are converted to an SQL query that is sent to the PegaRULES database.

The database results are organized into a results page of class Code-Pega-List. The name of this page is the value you provided for the pyPageName parameter.

Each embedded page contains the properties listed on the Design tab. If the Maximum Number of Rows to Retrieve field on the Data Access tab is not blank, the activity returns at most the number of embedded pages specified in the Maximum Number of Rows to Retrieve field.

However, if report paging is enabled on the User Interactions tab, only the rows for the first page are returned.

Performance

This method can return thousands of database rows and create large clipboard pages. To minimize any impact to performance, retrieve only the rows (instances) and columns (properties) that you need.

Use a dedicated RuleSet for Report Browser users

Typically, managers do not need to check in or check out rules; however, in the Case Manager portal, report definition, report shortcut, and report category rules are created by user actions in the Report Browser.

To enable managers to create and modify these types of rules as they use the Report Browser, you must create an open, unlocked production Ruleset to contain these rules. For more information, see Working with the Report Browser.

Other ways to run reports

The pzOpenAndRunReport activity runs a report definition.

You can use the <pega:chart> JSP tag to embed a chart created by a report definition in a section.

Displaying the results of a report definition report in a grid layout

You can display the results of a report definition in a grid layout within a section. The section can be referenced in a flow action or harness.

To add the layout, either drag and drop a report definition from the Application Explorer onto a section, or create the layout in the section and specify the report definition as the data source in the grid's repeating area. In the grid layout, use SmartPrompt to select Column Name values to define the grid's columns.

You can specify joins in the grid. The presentation is determined by the grid layout settings, not the report definition settings. Grid report rows are read-only and cannot be re-sorted. See Harness and Section forms — Adding a Grid layout.

Collecting and reviewing statistics about report usage

The Designer Studio> Reporting > Tools > Report Usage landing page provides access to reports that summarize report usage.

The standard class Log-ReportStatistics collects statistics on report definition usage. The landing page lists a few standard reports that are defined on this class that analyze these statistics, including:

You can modify these reports, and define new reports on this class. Any new reports that you define on the Log-ReportStatisticsclass are listed on the Report Usage landing page, too.

Data in this class is collected by a Pega-RulesEngine agent, which runs once per hour, if enabled. You can disable report logging through the Dynamic System Setting reporting/enablestatistics, which is enabled by default.

Limitations for reporting on unoptimized properties

Whenever possible, optimize the properties that you use in reports. Reporting on unoptimized properties causes a performance drain on the system. If you create reports using unoptimized properties, warning messages display in the Report Editor or the report definition.

Unoptimized decimal and double properties on Microsoft SQL Server

On Microsoft SQL Server has a size limitation for the value that a report definition can report on using the Calculation Builder to get values out of the BLOB (that is, from an unoptimized property). If a value is greater than precision 18, scale 6, Microsoft SQL server returns an error.

Related Topics Link IconRelated information

About Report Definitions