Вы находитесь на странице: 1из 54

Reports Basic Training

19th August, 2009

2008, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice.

Topics to be discussed
Basic Introduction Various kinds of reports List/Summary/Charts/Report Definition Pega OOTB reports Steps to develop reports Various tabs in Reports Customization Options Advanced Best Practices for Pega Reports development Dos and Donts Performance considerations and Optimization Data Archiving and Purging

2008, Cognizant Technology Solutions.

Confidential

Introduction
PRPC provides the capability for business managers to view real-time as well as historical reports to measure and manage business process performance, leading to better return on investment with the BPM system. Two rule types list view rules and summary view rules support most reports and charts produced in Process Commander applications. These powerful and flexible rules can support user interactions as well as management reporting needs. Report definition rules provide power, flexibility, and ease-of-use for report designers and report users, these rules are intuitive, provide an all-in-one-page design interface, intelligent defaulting and pre-defined reusable report elements

2008, Cognizant Technology Solutions.

Confidential

Various kinds of reports


There are three kinds of reports: Lists, Summaries, and Charts.

List View Report:


Lists individual instances. A List View displays the property-value details of a class A list view rule, an instance of the Rule-Obj-ListView class Use the Report wizard to define list view reports and link them to your portal. Users can personalize list view reports easily and interact with them

Summary View Report:


A Summary View counts and aggregates data in a class, i.e. includes totals and breaks. Use the Summary View rule form to define a simple custom or personal query. This rule generates HTML that provides an attractive, custom interactive display. Summary view rules are instances of the Rule-Obj-SummaryView class. Developers can define reports directly by completing the Summary View form. However, developers and business managers can also create many summary view rules indirectly, through guided processing provided by the Report wizard.

Charts:
Charts display the data from a summary report as a pie, bar, column, area, or line chart.

2008, Cognizant Technology Solutions.

Confidential

Pega OOTB Reports


The Monitor Activity page in the Developer or Work Manager portals provides access to the standard reports and the Report Wizard. OOTB Pega includes the following report categories: Monitor Assignments - These reports list or summarize open assignments in the currently selected application. They support detailed review of the backlog of assignments. Monitor Processes - These reports list or summarize open (unresolved) work objects in the current application. They support day-to-day monitoring of the business processes supported by the application. Analyze Quality - Analyzes and summarizes resolved (completed) work objects along quality dimensions. These support a retrospective review of past work, to aid in understanding how business processes might be improved. Analyze Performance - Identifies which flow actions were selected and how often by assignment, and the timeliness of the selection.

2008, Cognizant Technology Solutions.

Confidential

Steps to develop reports


We can create report by using the report wizard. Select File Menu -> New -> Report

2008, Cognizant Technology Solutions.

Confidential

Step 1: Start
Select Summary view or List View, Wizard mode and Report source -

2008, Cognizant Technology Solutions.

Confidential

Step 2: Select the data source


Select the data source. This panel displays the classes that can be the source of detail rows for the report -

2008, Cognizant Technology Solutions.

Confidential

Step 3: Define criteria


Define selection criteria as rows of this array. Each row can define a comparison test for a property in the data source you selected in step 2 -

2008, Cognizant Technology Solutions.

Confidential

Step 4: Select fields to display


Define the fields (properties) to appear in the detail rows of the report

2008, Cognizant Technology Solutions.

Confidential

10

Step 5: Finish
It shows the details. Click finish button to view the report.

2008, Cognizant Technology Solutions.

Confidential

11

Preview
Preview of the generated report

2008, Cognizant Technology Solutions.

Confidential

12

Give Purpose of report with Ruleset details


Enter Report name, Title, Ruleset name and version

2008, Cognizant Technology Solutions.

Confidential

13

Confirmation screen
To check generated view definition, run the view and delegate view if required

2008, Cognizant Technology Solutions.

Confidential

14

Run Report
On clicking on the Run the view link

2008, Cognizant Technology Solutions.

Confidential

15

Result screen
Report result

2008, Cognizant Technology Solutions.

Confidential

16

Report in excel format


PRPC enables us to export reports to Microsoft Excel

2008, Cognizant Technology Solutions.

Confidential

17

Various tabs in reports


List View Display Fields Content Selectable Organize Summary View Content Drill Down Organize Format

Format
Parameters Pages & Classes Join HTML History

Charts
Parameters Pages & Classes Join HTML History

2008, Cognizant Technology Solutions.

Confidential

18

Tabs in Summary View


1. Content
This tab defines which objects are selected for the display and how they are sorted and aggregated. Most processing defined on this tab is performed by database software such as Oracle/Microsoft SQL Server, not by Process Commander software. Sub categories: Category Criteria (* we can only specify properties that correspond to exposed columns in the PegaRULES database) Prompt Setting Group By Fields Thresholds Report Source Sub Classes Security

2008, Cognizant Technology Solutions.

Confidential

19

Tabs in Summary View Content tab

2008, Cognizant Technology Solutions.

Confidential

20

Tabs in Summary View Drill Down


2. Drill Down
This tab is optional. This allows the summary view report user to drill down from summary statistics to the supporting detail by clicking a plus sign icon. When a user clicks a plus sign to perform the drill-down operation, Process Commander uses information in this tab to query the database, sort the results, and present the details. Sub categories: Drill down options Defining a Detailed View Detailed View Data Source and Report Source

2008, Cognizant Technology Solutions.

Confidential

21

Tabs in Summary View - Organize


3. Organize
This is also an optional tab which defines the contents of the title area. Eg: Customize View button, Export To Excel button, Export To PDF button etc.

2008, Cognizant Technology Solutions.

Confidential

22

Tabs in Summary View


4. Format
All fields on this tab are optional. This tab controls the runtime appearance and behavior of rows of the display, and up to two pop-up Smart Info sections. Sub categories: View Style Event handling Preview Setting Smart Info Setting Right-click Smart Info settings Header and Footer

2008, Cognizant Technology Solutions.

Confidential

23

Tabs in Summary View - Chart


5. Chart
This optional tab helps to present summary view data as a chart. Process Commander supports both static charts (an image) and interactive charts (defined through Adobe Flash). * User workstations retain chart images in the browser cache. When testing charts with Internet Explorer, select Tools> Internet Options > General and click Delete Files to clear the Temporary Internet Files cache to ensure that you see up-to-date chart output. Static Charts Static image charts cause summary view report results to be presented as an image, or as an image above tabular numeric data. Process Commander saves static chart images in the StaticContent/global/webwb/graphs directory on the server. Interactive Charts Interactive charts provide additional visual effects that are unavailable with static charts. For example, slices of an interactive pie chart separate from the rest of the pie when you click them and the data for the slice appears in a callout.

2008, Cognizant Technology Solutions.

Confidential

24

Tabs in Summary View - Chart


Examples of charts

2008, Cognizant Technology Solutions.

Confidential

25

Tabs in Summary View Parameters, Pages & Classes


6. Parameters
This tab is used for informational purposes to record the name, description, and data type of parameters used in the view.

7. Pages and Classes


This optional tab is used if other tabs contain references to properties on a page other than the primary page of the rule the page corresponding to the Applies To key part of the summary view rule. * We cannot use the Top keyword here or to reference properties on other tabs of the form.

2008, Cognizant Technology Solutions.

Confidential

26

Tabs in Summary View - Join


8. Join
The Join tab is used to merge data from multiple tables into a single report. We can report on data from two tables or more tables using a join clause to concatenate the data from both tables based on a relationship between certain columns in these tables.

2008, Cognizant Technology Solutions.

Confidential

27

Tabs in Summary View


9. HTML
After we save the List View form, this tab contains the HTML code that the system generated for this rule.

10. History
The Full Description text becomes a report title.

2008, Cognizant Technology Solutions.

Confidential

28

Tabs in List View


Tabs in List view that are different from Summary View: Display Fields
Information on this tab identifies the content of data rows and aspects of the report layout. Fields on the report display Single Value properties, identified by a property reference.

Selectable
This enable users at runtime to select one or more rows of an embedded list view display and operate on the selected row or rows. This capability requires that the list view display be embedded in a section

Organize
In the Organize tab of List view there is an option for paging. We can select the Paging option to present the list view results in segments known as pages each containing a fixed number of rows. Paging causes the system to retrieve rows to only a segment at a time on request, improving response time and reducing the size of the clipboard. When we mention a value like 200 in the page size, then the max value given in the Content tab gets ignored.

2008, Cognizant Technology Solutions.

Confidential

29

Tabs in List View

2008, Cognizant Technology Solutions.

Confidential

30

Customization options
We can customize Pega reports by modifying the getContent activity as per our requirement; for example - Pega generates predefined SQL statements i.e. if we use Contains/Starts With/Ends With in the filter criteria then in all these cases it uses LIKE keyword, but if we want to use IN keyword in our SQL then we have to modify the SQL in getContent activity.

Using HTML properties for calculation other than aggregate functions such as Min, Max, Sum, Count, Average; like percentage calculation or displaying user name other than user id.

2008, Cognizant Technology Solutions.

Confidential

31

Customization options
Final report display -

2008, Cognizant Technology Solutions.

Confidential

32

Report Definition
Rule to define a report or a personal version of a report.

Provide an all-in-one-page design interface organize their own reports.


Instance of Rule-Obj-Report-Definition.

Report definition rules define reports of two types: Summarized reports Contains data that is summarized using one of the following built-in functions: COUNT(), SUM(), AVG(), MIN(), and MAX() List-type reports Detailed data for individual work objects or other class instances.

33

Report Definition
Identify the class that this rule applies to

Used to specify the Report Name

34

Report Definition
Helps to execute the report

Specifies the Column definition Specifies the Row filter condition

Used to add another column

Allows to select an existing SQL function template to use as the basis for the SQL function you wish to use.

35

Report Definition

36

Report Definition
Used to manipulate the report in various ways. You can hide the entire command ribbon, or enable/disable any specific commands. You can also hide the right-hand command menu for column headings in the Report Viewer.

37

Report Viewer
Tool used to manipulate report New columns can be added as required Filter condition could be modified To create chart at least one of the columns in the report must be a summarized column

38

Report Viewer

39

Generating PDF
In order to display report in PDF format call the following methods in Activity Rule-Obj-ListView.ViewAsPDF Rule-Obj-ListView.AttachAsPDF Rule-Obj-SummaryView.ViewAsPDF Rule-Obj-SummaryView.AttachAsPDF

40

Report Browser

Browse and search for existing reports available Create new reports and modify copies of existing reports Use a library of SQL functions to build powerful expressions to return exactly the data your report needs Share report shortcuts Re-organize reports within categories Export reports to spreadsheets or as PDF files

41

Report Browser
Three report category types: Personal type These categories contain shortcuts to reports that you created for your own personal use. They are accessible within the Report Browser only by you. They only appear in report search results for you. When you create a new report in the Report Browser, it becomes part of one of your personal categories. You can later add shortcuts to it in your shared categories. Shared type Users create shortcuts to reports they wish to share with colleagues, and place those shortcuts in their Shared categories. The immediately become available to colleagues in the user's access group. Standard type Application developers create or identify Standard reports. These are available to all work managers of an application.

42

Report Browser

Click the Run icon and select Open Portal > Manager. Select the Monitor Activity area of the portal

Used to search any existing report

Used to create new report

Used to create new category

43

Report Browser
In order to create a new report first you need to create a personal category

Data Type: The data type the report will cover. Report Name: Used to specify the report name. Report Title: Provide a display title for the report. Report Description: Add a description to distinguish this report from others with similar names. Report Category: Select a category for the report.

44

Advanced Topics

2008, Cognizant Technology Solutions.

Confidential

45

Best Practices for Pega Reports development


When using ObjList use the rule-Obj-List method and provide the list of columns you want to fetch from the BLOB opposed to returning all columns in the BLOB. Returning all columns in the BLOB could be a potential performance bottleneck. Any field being searched in pega should be exposed as a column for performance boosts. Reporting. Only filter columns on reports need to be exposed in pega as external columns with recommended indexes. No of Row return : Stick with the default value of 500 to get the optimal performance Batch report : Don't accept any batch report where dynamic data in the report (specially work data ) meant for comparison with the next day live report Don't modify getContentActivity as it is considered customization , for a complex query with inner/outer join rather use join approach .

2008, Cognizant Technology Solutions.

Confidential

46

Pega Reports- Dos and Donts


For summary view and list view reports, the Maximum Value values (on the Content tab, default is 500) should be set as low as possible. Filter columns as well as selected columns present on reports must to be exposed in PRPC as external columns with recommended indexes. Need to keep the page name consistent across all the reports. i.e to fetch the report data across different report use common page name. Monitor data growth. Ensure DB statistics are up to date. On regular basis track the top 20 queries in PRPC database and transactional database to ensure reporting queries are not resulting in performance bottlenecks. Select only required columns for the report Try to avoid multiple joins with DB tables. If required, create view in the DB. Views are compiled at the point of creation which results in substantial saving in query execution. Create appropriate indexes on DB columns which are used in the filter condition of the reports. Also understand the distribution of the data. Use Pagination where possible. Select an optimum page size; in general the page size should be between 20-25 rows. Review the SQL plan for the query generated by the final reports. It is advisable to configure filters to pick data from a local list or field value as opposed to the actual table that is being reported on

2008, Cognizant Technology Solutions.

Confidential

47

Advanced reporting requirements


Many a times customer requirements may require formats, layouts, computations, or interactivity that can be difficult or impossible to achieve with the default Pega reporting capabilities. Following options can be explored to achieve such reporting reuirements :
1. Process Commander uses a Standard Query Language database. A PegaRULES database is hosted by Microsoft SQL Server, Oracle, IBM DB2 or other popular database software. As initially installed, the database contains about 50 tables, each with a straightforward layout. Except for the Storage Stream column (pzPVStream), column names match Process Commander property names. You can meet reporting needs with stored procedures, Microsoft database tools, Oracle tools, or third party vendor products such as Crystal Reports from Business Objects.

2. Use list-based reports support operational needs. Reports that support first-line and second-line managers in their work typically emphasize currency and speed rather than complex layouts, complex calculations, or complex formats. Use the Report wizard or list view rules to meet operational needs for near-real time data.

2008, Cognizant Technology Solutions.

Confidential

48

Advanced reporting requirements


3. Exploit the retrieval and sorting power of database products.

Execution of a list view or summary view rule requires processing by both database software and Java programs. It is important to maximize use of database software, and reduce the JVM workload. Although SQL processing is limited to exposed properties, utilize SQL selection and sorting over JVM sorting in your reports when possible. 4. Declare Index rules can help. Exposed columns correspond to properties at the top-level of a saved object. Properties within a repeating group or embedded page are not exposed. In many such situations, a Declare Index rule can support a new index structure that directly supports a reporting need. 5. Database views can help .A database view can simplify reporting, especially with properties from two or more classes that are in separate class groups. 6. Use a reports database , Using a reports database reduces the processing demand of reporting on the production PegaRULES database, and allows your database administrator freedom to implement optimizations for reporting access that do not affect application processing

2008, Cognizant Technology Solutions.

Confidential

49

Advanced reporting requirements


7.

Use BIX (Business Intelligence Exchange) for additional reporting needs ,BIX allows rapid data extraction from the PegaRULES database, for later import into a data warehouse or other reporting facilities.

8. Excel formulas or macros can help ,Reports from Process Commander are based on a single pass over the row details. Averages, trends, maximum values, and minimum values can be computed in a single pass. Many other computations require multiple passes or multiple sorts. As Process Commander reports can be exported to Excel for printing and advanced formatting, consider using Excel for such final computations. 9. List view and summary view reports work best with 10,000 or fewer retrieved rows.If your business requires reporting on larger numbers of rows, consider using the Business Intelligence Exchange facility to export data from the PegaRULES database into a data warehouse.

2008, Cognizant Technology Solutions.

Confidential

50

Performance considerations and Optimization


Explain plan for all report generated queries Whether a report running directly on a table or using views , it is advisable to get the explain plan from the database against the reporting query . Explain plan describes the effective way to process sql statement. Alternate design approach for report filter Out-of-the-box reporting feature in PEGA provides capability to have "List of Values" that can be selected by users to enable filtering capabilities for reports. out-of-the-box use Available values for these filter parameters. Internally PEGA tool enforces this by running the report without any filter criteria, sort the results on the appropriate attribute, eliminate duplicates and build a list so that the users can select one or many from the list. What kind of reporting is not well suited for PRPC a) Any Historical report that can cause serious performance impact and High database CPU b) Any complex report . For example summary report showing forecast work on hand next couple of days involve complex data calculation on the fly .

2008, Cognizant Technology Solutions.

Confidential

51

Performance considerations and Optimization


Constant I3 (Database profiler) monitoring reporting performance : Analyzing all the value in a form a report all the details about query performance can be determined . Based on that fact query can be tuned . Avoid join with history table: Join can be very expensive when history table comes into the picture . Even with right index and optimum view performance , application health can be serious concerning . The main reason for this is the volume of the history table .For an application which growth is very aggressive , join with history is not recommendable unless data is purge in a regular interval Applying rule base hint into a view to improve the report performance: Some time view query with right index fails to perform well due to oracle optimizer incorrect execution plan . The most common issue have been noticed during this situation it fails to use the index column . By providing rule hint it forced the optimizer to use the index . Hint will not work directly application generated SQL , because Pega by nature stripe out the special character.

2008, Cognizant Technology Solutions.

Confidential

52

Data Archiving and Purging


To improve the PRPC application performance, the historical data like resolved, closed, rejected work orders should be archived and purge form PRPC database. Archived data should be stored in DW. Daily transactional data should also be moved to DW. As per user requirements, generate the reports from the DW. In a production Process Commander application, the volume of data for work objects typically grows to require hundreds of megabytes or terabytes of database storage. If information from older work objects is no longer needed, or is needed only infrequently, it makes sense to remove selected older data from the live production database, possibly storing it in a separate archive system. Removing selected work objects can provide these benefits:
I. Improved performance, because database operations operate on tables with fewer rows. II. Reduced space requirements for the database. III.Reports and analyses run against an archive or shadow system do not affect production operations.

To archive the old work objects, system administrator can schedule an agent or script which will copy the old work objects and related reference objects from Production DB to archive DB. The schema of these two DBs must be same. The archiving process interval is decided by the business and application owner.
2008, Cognizant Technology Solutions. Confidential

53

Thank you

2008, Cognizant Technology Solutions.

Confidential

54