One of the Report Renderers that ships with the reporting module provides the capability of rendering your report into a custom created Excel template. This is often useful for presenting reports in a prescribed format to a reporting agency, and also allows you to incorporate graphs, formulas, and other calculations to add richness to your report. The following screen shots are meant to guide you through the process of using this, using a Period Indicator Report as an example.
1. Define your Period Indicator Report. Make note of the numbers that you give to each indicator in the report. To the right, you will see that we have created a sample report with indicators numbered 1, 1.A, 1.B, and 1.C. Running this report with the default "Indicator Web Report" view, confirms that this report runs and produces correct numbers for each of our our numbered indicators. |
|
|
2. Once you have configured your report, and know the names of each of your parameters and numbers of each of your indicators, you can build the Excel-based template. This involves a couple of steps. In the first image to the right, we have used sample numbers to create the report in Excel in exactly the format in which we want it to appear. We incorporate fonts, colors, borders, calculations, and even graphs which are calculated off our or indicator numbers when generated. |
|
3. Next, we replace each of the numbers which need to be produced by the report with references to our indicator numbers. These are referenced by #1#, #1.A#, #1.B#, and #1.C#. You will see that we can also refer to our parameters - in this case #parameter.endDate|dd/MMM/yyyy# means to display the value of the endDate parameter in a dd/MMM/yyyy format. #parameter.location# means to display the value of the location parameter (*see below for full list of available replacement values*). Note that the graph doesn't look so nice in this view - since we took away the sample numbers that it is based on, and replaced these with the indicator references, the graph breaks. This is not a problem - it will generate correctly when run. Save the excel file as xls (not xlsx). |
|
4. In the Report Designs page, click on "Add Another" and you will get a dialog pop-up which will enable you to upload your design as seen in the first image to the right. The fields should be completed as follows:
|
- Save this. | |
5. Return to the "Run a Report" page, and choose the report that you just created. You should now see the Excel template that you just uploaded available in the list of "Output Formats". Running the report and choosing this format should produce an Excel Report output like the one shown to the right. |
|
|
Available replacement values
- Indicator Values
- Only one DataSetDefinition: If the report contains only a single DataSetDefinition (i.e. PeriodIndicatorReports), indicator values can be accessed via it's indicator number. For example, #1.A#.
- *Multiple DataSetDefinitions: *If the report contains multiple DataSetDefinitions, indicator values must be prefixed with the DataSetDefinition name. For example, #firstDataSet.1.A#
- Parameters
- Every Parameter to the Report is available by it's name prefixed with "parameter.". For example, #parameter.startDate#.
- Date parameters may be formatted by passing a pipe-separated Java Date Format String. For example #parameter.startDate|dd/MMM/yyyy#.
- Design Properties
- Every Design property is available by it's name prefixed with "property.". For example, #property.reportTitle#"
- Miscellaneous (including Contextual Information)
- #context.generatedBy# - Contains the name of the User who generated the Report. In some setups, this will be the default scheduled program user.
- #context.generationDate# - Contains the date on which the Report was generated (can be formatted in the same was as a Date Parameter described above)