Skip to content

Report Module Reference ​

Last updated

License feature: Reporting Module

Every module has a Module Title in the properties panel. Data modules show their title above the content; the Header module uses it as the report title.

Report title, subtitle, date and logo. Default size 24 × 3.

SettingWhat it doesDefault
Module TitleThe large report title"Header"
SubtitleSmaller line under the titleempty
Show generated dateAdds "Generated" and the date and time, in the appliance's local timeon
Logo ImageAn image from the File Managernone
AlignmentLeft, Center, RightLeft

Data Table ​

Rows from one data source. Default size 24 × 8.

SettingWhat it doesDefault
Data SourceAlarm History, Downtime Events, Quality Events, OEE SnapshotsAlarm History
Date RangeSee designer; Custom shows From (ISO) and To (ISO)Report Default
Device (optional)Only rows for this deviceall devices
Max RowsRow limit20 (up to 10,000)
SortNewest first or Oldest first, by the source's date columnNewest first
Columns (JSON array, empty = all)Which columns to show, in order, e.g. ["fired_at", "rule_name", "value"][] (all)
  • Column headings are the raw database column names.
  • Values that look like timestamps are shown in the appliance's local date-time format.
  • The PDF prints every row returned, up to Max Rows; a long table grows and continues onto the next page (see designer). Lower Max Rows to shorten it.
  • Max Rows left blank or 0 means up to 5,000 rows.

Crosstab ​

Pivots a data source into a matrix — for example quality rejects by reason and device. Default size 24 × 8.

SettingWhat it doesDefault
Data Source, Date Range, Device (optional)As for Data TableAlarm History, Report Default, all
Row FieldColumn whose values become rowsempty (required)
Column FieldColumn whose values become columnsempty (required)
AggregateCount of rows, Sum, Average, Minimum, MaximumCount of rows
Value FieldColumn to sum, average etc. Not used for Count of rowsempty
Row Totals / Column TotalsAdd a total column / rowon / on
Max ColumnsDistinct column values kept; extras are dropped with "Showing X of Y columns — narrow the query or raise the column limit."50

The pivot works on at most 5,000 source rows for the range. Errors: Crosstab needs both a row field and a column field; A "sum" crosstab needs a value field.

Chart ​

Line, area or bar chart of historian tags. Default size 12 × 8.

SettingWhat it doesDefault
Chart TypeLine, Area, BarLine
Chart TagsTags to plot, with label, color and left or right axisnone
Date RangeAs above; Custom shows From (ISO) / To (ISO)Report Default
Aggregate WindowNone (raw), 1 minute, 5 minutes, 15 minutes, 1 hour, 1 dayNone (raw)
Aggregate FnMean, Max, Min, Sum, LastMean
Show Grid / Show Legendon / on

Tags need history turned on (Tag Historian). Without aggregation, a tag with more than 1,000 changes in the range is charted from about 1,000 averaged points spread across the whole range. Choose an Aggregate Window to pick the window and function yourself; one too small to fit the range in 2,000 points per tag is widened automatically (7 days at 1 minute becomes about 5 minutes). If the historian is down, the module shows InfluxDB is not available.

KPI Stat ​

One number from a data source. Default size 6 × 4.

SettingWhat it doesDefault
Data SourceAs for Data TableAlarm History
AggregateCount, Sum, Average, Min, MaxCount
Column (for sum/avg/min/max)Numeric column, e.g. duration_s, quantity, oeeempty
Date Range, Device (optional)As aboveReport Default, all
UnitText after the numberempty
Accent ColorNumber color#6366f1

The value is rounded to 2 decimals. It is computed over at most 10,000 rows, so a count stops at 10,000. A misspelled column gives 0, not an error.

Image, Text, Divider ​

ModuleSettingsDefault size
ImageImage File from the File Manager; Fit: Contain, Cover, Fill6 × 5
TextContent (line breaks kept); Font Size: Small, Medium, Large, Extra Large; Alignment; Bold12 × 2
Dividernone — a horizontal rule24 × 1

Dashboard widgets ​

The Dashboard Widgets section of the palette adds a real dashboard widget to the report, configured with the same fields as on a dashboard. Only widgets that make sense on paper are offered: values, gauges and indicators; Chart, History Chart, Power Chart, Bar and Pie; Table, Data Table and History Table; OEE, downtime, quality, work order, labor and andon summaries; SPC and Cpk; Image, Text, Barcode, Symbol, Floor Plan; and Alarm. Buttons, toggles, sliders, inputs, forms, navigation, containers, timers, marquees, embedded pages and templates are left out ("… widget types are not offered because they need interaction or live updates to mean anything.").

SettingWhat it doesDefault
Widget"Choose a widget…" — changing it resets the widget's settingsthe palette choice
Title"Title shown on the report"the widget name
Use the report's date rangeThe widget covers the report's default date range; its own Time Range and refresh fields are hiddenon
Widget fieldsExactly as on a dashboard (Dashboards)widget defaults

Embedded widgets fetch their own data while rendering, as the user who created the report. If that user is deleted or deactivated, widgets render empty. Live-value widgets show the value at generation time.

Data source columns ​

Column names are what you type in Columns, Row Field, Column Field, Value Field and Column. Devices appear as numeric device_id, not names.

Data SourceDate columnColumns
Alarm Historyfired_atid, alarm_rule_id, device_id, tag_path, value, message, severity, fired_at, acknowledged_at, acknowledged_by, cleared_at, shelved, and from the rule: rule_name, rule_condition, rule_threshold
Downtime Eventsstarted_atid, device_id, reason_id, started_at, ended_at, duration_s, notes, operator_id, created_at, and from the reason: reason_name, reason_category, reason_color
Quality Eventstimestampid, device_id, reason_id, quantity, work_order_id, timestamp, operator_id, notes, created_at, and from the reason: reason_name, reason_category, reason_color
OEE Snapshotsdateid, device_id, shift_id, date, availability, performance, quality, oee, good_count, reject_count, total_count, planned_downtime_s, unplanned_downtime_s, changeover_downtime_s, run_time_s, net_run_time_s, planned_production_time_s, quality_event_rejects, created_at
Electronic Signaturessigned_atid, signed_at, signed_by (the signer's printed name), meaning, action, subject, reason, record_type, record_id. No device_id, so the device filter doesn't apply. See Electronic Signatures

OEE Snapshots date is a plain day (2026-09-14); date ranges on that source compare whole days, so Today returns today's snapshots.

The event's own columns (id, message, severity) are the event's; the looked-up rule or reason columns carry the rule_ or reason_ prefix. Device-offline alarms have no rule, so their rule_ columns are blank.

Example crosstabs that work with these columns:

  • Downtime seconds by reason and device: Downtime Events, Row Field reason_name, Column Field device_id, Aggregate Sum, Value Field duration_s.
  • OEE by device per day: OEE Snapshots, Row Field device_id, Column Field date, Average of oee.
  • Alarm count by rule and severity: Alarm History, Row Field rule_name, Column Field severity.

Downtime and quality events have no shift or day column, so "by shift" or "per day" pivots are only possible on OEE Snapshots.

See also ​

Scada.Ink Help Center