More about Report Definitions
|
|
About the pxRetrieveReportData activity
Use the Rule-Obj-Report-Definition.pxRetrieveReportData activity to execute the retrieval and sorting operations, but not the formatting and display processing, of a report definition.
ParametersSpecify both key parts of a report definition.
Parameter |
Description |
pyReportClass | Select the Applies To key part of a report definition. This may identify an internal class or class group, or an external class. |
pyReportName | Select the Purpose key part of a report definition. |
pyPageName | Optional. Enter the name of the clipboard page that will hold the report results. If you do not add a value, the results are shown 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 page name of class Embed-QueryInputs. The page structure is shown below. |
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>
The system uses rule resolution to find the report definition and executes 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. GATZH 3/31/2010
However, if report paging is enabled on the User Interactions tab, only the rows for the first page are returned.GATZH 3/26/2010
PerformanceThis method can return thousands of database rows and create large clipboard pages. Use care to retrieve only the rows (instances) and columns (properties) you truly need.
Use a dedicated RuleSet for Report Browser users
Typically, managers do not need the ability to check in or check out rules; however, in the Report Browser, report definition, report shortcut, and report category rules are created through user actions.
To allow 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. See Using the Report Browser.
Two other ways to execute reports
The pzOpenAndRunReport activity runs a report definition and displays the results in a separate window.
The <pega:chart>
JSP tag can be used to embed a chart created by a report definition in a section.
How to display 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 (column widths, show/hide, sorting, and so on), 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 on report execution
The > Reporting > Tools > Report Usage landing page provides access to reports summarizing report use.
The standard class Log-ReportStatistics collects statistics on report definition usage. The landing page lists a few standard reports defined on this class that analyze these statistics, including:
You can modify these reports to suit your site’s needs, and define additional reports on this class, which will then appear on the landing page as well.
Data in this class is collected by a Pega-RulesEngine agent, which if enabled runs once per hour. You can disable report logging through a dynamic system setting reporting/enablestatistics, which is enabled by default.
Limitations for reporting on unoptimized properties
Whenever possible, optimize the properties you want to use in your reports. Reporting on unoptimized properties causes a performance drain on the system. If you create reports using unoptimized properties, you will see warning messages in the Report Editor or the Report Definition itself.
On SQL Server, there is a limitation to the size of 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,SQL server returns an error.
PDN and Web resources
For report basics presented as short video demonstrations, the Reporting section of the PDN.
Atlas — Standard Report Definitions
Atlas — Standard SQL function alias rules |