1. Overview
Every report available in the system can be modified. Report editing is performed directly from the report list, using the Edit option.
A modified report may be:
- Saved as a new report — the original report remains unchanged.
- Saved by overwriting the existing report — the previous version is replaced.
Important: Built‑in reports should preferably be saved as new copies. Once a built‑in report is modified, it can no longer be updated automatically in future software versions.
You can, however, restore the original version at any time.
2. Report Structure
A report consists of several structural sections.
| Element | Description |
| Top margin | Empty space repeated at the top of each page |
| Report header | Section displayed once on the first page; includes logo, report name, metadata, and parameters |
| Page header | Information displayed at the top of each page |
| Group header | Repeated for each group and subgroup; used for dynamic data |
| Report details | Core data section; can contain nested subgroups (header, details, footer) |
| Group footer | Repeated for each group and subgroup |
| Report footer | Used for summaries and conclusions; displayed once on the last page |
| Page footer | Information displayed at the bottom of each page |
| Bottom margin | Empty space repeated at the bottom of each page |
Each of them can be edited in terms of size, styling, content and layout.
3. Changing the Report Appearance
- Select the element you want to modify.
- Open the Settings tab in the right‑hand panel.
- Go to the Appearance section and adjust visual attributes.
Examples:
-
To change the report title color:
Appearance → Font → Foreground color -
To change the table header background color:
Appearance → Background
4. Adding a Column
- Select an existing column adjacent to the location of the new column.
-
Right‑click and choose:
Insert → Column to the right -
Select a cell in the new column and insert data, using the structure: [table_name.column_name]
-
Select the column header cell and set the column name under:
Settings → Table cell → Text
5. Adding a Parameter
Goal:
Add a parameter to the report Device Ranking by Number of Events that defines the minimum number of events required for a device to appear in the results.
Steps
- In the Data tab, open the Parameters section.
-
Create a new report parameter (see the Report Designer documentation for more on parameters).
-
Fill out the parameter form.
-
In the Data sources section, select the events_logs table and open the Data Source Wizard.
-
Prepare new SQL query that includes the new query parameter.
SELECT l.device_id, max(coalesce(d.device_type_id, l.device_type_id)) AS device_type_id, max(t.device_name) AS device_name, COUNT(1) AS events_count FROM report.alert_event_logs l LEFT JOIN report.devices d ON l.device_id = d.id JOIN LATERAL ( SELECT CASE WHEN d.id is NOT NULL THEN d.full_name ELSE l.device_full_name END AS device_name ) t ON true WHERE l.start_date >= @event_date_from::timestamp AND l.start_date <= @event_date_to::timestamp AND ( @map_id::int IS NULL OR @device_ids != '' OR EXISTS( SELECT 1 FROM report.maps_devices md WHERE md.device_id = l.device_id AND md.map_id = @map_id::int ) ) AND ( @device_type_ids = '' OR @device_ids != '' OR l.device_type_id = ANY(string_to_array(@device_type_ids, ',')::int[]) ) AND ( @device_ids = '' OR l.device_id = ANY(string_to_array(@device_ids, ',')::int[]) ) AND ( @event_ids = '' OR COALESCE(l.alert_event_id, 0) = ANY(string_to_array(@event_ids, ',')::int[]) ) GROUP BY l.device_id HAVING count(1) > @events_count ORDER BY CASE WHEN @sort_direction = 'ASC' THEN count(1) END ASC, CASE WHEN @sort_direction = 'DESC' THEN count(1) END DESC LIMIT (@records_count::int) -
Replace the existing SQL query with the new one.
-
Add the parameter referenced in the SQL query.
-
Add the parameter to the header and adjust its appearance.
-
Set a test value for the parameter.
-
Open the Preview — the parameter label may need to be translated for languages other than default. More about language and localization you can find here.
-
Go to Localization and select language you want.
-
Fill in the label and description for the parameter.
6. Adding a Chart
Goal:
Add a bar chart to the report Device Ranking by Number of Events showing the distribution of event counts per device.
Steps
-
Add a Group Header where the chart will be displayed (right-click on header section).
-
Drag the Bar Chart component into the group header.
- Stretch the chart to the width of the page.
-
Launch the Designer.
-
Complete all steps of the wizard.
-
Confirm changes and check the Preview.
7. Adding a Table of Contents
Goal:
Add a table of contents to the report Asset Details.
Steps
-
Create a bookmark in the asset name field using the Expression Editor.
-
Drag the Table of Contents component into the report header.
-
Select the TOC component and adjust its style.
-
Set the TOC title.
-
Adjust language versions:
-
Click the main canvas area to open the report‑level Settings.
-
Select the target display language.
-
Adjust report properties for that language.
-
Click the TOC area and enter the title for the selected language.
- Return the report language to the default.
-
- Check the Preview.
8. Adding a Page Header
Goal:
Add a repeated section at the top of every page.
This section should include:
- an image
- main text
- secondary text
- editable fields (fillable in the final PDF)
Steps
-
Right‑click any element and select:
Select group → Page header -
Drag the Image field into the header.
-
In the image settings, upload a file or provide a URL.
- Adjust image size if necessary.
-
Add text:
-
Use Label for main text
-
Use Rich Text for secondary text
- Add language versions if needed
-
-
Add editable fields:
-
Drag Character Join to insert a multi‑cell field
-
Enable editing so the field can be filled in the PDF
- Adjust the size by resizing the field.
-
-
Open Preview and select Highlight editable fields to verify.
-
Fill in the field according to your needs
- Note: Editable field values entered on the first page appear only on the first page in the exported PDF. Subsequent pages display empty fields.