Hourly matrix view
An Hourly matrix view is a days × hours table for the report window, in the style of a HACCP temperature log: one row per day and group, one column per hour (or half or quarter hour), with optional per-day columns and a day total. Authors add it with Add hourly matrix under Setup → Reports; viewers open it on the report page.
Settings
Section titled “Settings”| Setting | Field | Values | Default |
|---|---|---|---|
| Compact | compact | On or off. Tighter padding; every column and value stays. | Off |
| Show titles | showTitles | On or off. Hover text on cells. | On |
| Interactive | interactive | On or off. Clicking a day sets the report window. | On |
| Time interval | cadence | 15m, 30m, 1h | 1h |
In the API, the view also needs stackDays: "vertical", its only value; the editor sets it.
Groups
Section titled “Groups”Under Groups, Add group adds a row group; each group is one row per day. Groups are stored
in parameters in display order; Move up and Move down reorder them. A matrix without
groups is allowed.
| Setting | Field | Values | Default |
|---|---|---|---|
| Group label | label | Text | Group |
| Cell value | cellValueParameter | A numeric report parameter, or None (null) | None |
| Aggregation | aggregation | First (first), Latest (latest), Average (average), Delta (delta), Sum (sum), Min (min), Max (max). Shown when Cell value is set. | Latest |
| Decimal places | decimalPlaces | 0–12. Shown when Cell value is set. | 2 |
| Text color | cellTextColorParameter | A numeric or integer report parameter, or None (null) | None |
| Background color | cellBgColorParameter | A numeric or integer report parameter, or None (null) | None |
| Border color | cellBorderColorParameter | A numeric or integer report parameter, or None (null) | None |
| Day headers | dayHeaderParameters | A list of report parameters of any type, or null for none. Add day header adds one. | None |
| Day total | valueTotalsPerDay.aggregation | None (none), Last (last), Delta (delta), Sum (sum), Average (average), Min (min), Max (max) | None |
| Total column header | valueTotalsPerDay.header | Text | Total |
In the API, aggregation and decimalPlaces sit inside cellValueParameter, and each color slot
is { parameterId, type } with type numeric or integer.
Each day header shows one value per day:
| Day header setting | Field | Applies to | Values | Default |
|---|---|---|---|---|
| Per-day aggregation | perDayAggregation | Numeric | First (first), Latest (latest), Average (average), Delta (delta), Sum (sum), Min (min), Max (max) | Latest |
| Zone background opacity | zoneBgOpacity | Numeric | 0–1 | 0 |
| Per-day aggregation | perDayAggregation | Integer, string | First (first), Latest (latest) | Latest |
The same parameter can appear in more than one group or slot. Removing a report parameter used here asks for confirmation: slots that used it become empty, day headers that used it are removed, and the matrix stays.
On the report page
Section titled “On the report page”Table layout
Section titled “Table layout”The whole window is one table. The first column is the local date YYYY-MM-DD, one cell per day
spanning that day’s group rows; days run in order with a heavier rule between them. The table
always has the full set of columns for the interval: 24 for 1h, 48 for 30m, 96 for 15m. Hour
labels such as 00:00 appear once, in the table header. With several groups, a second column shows
the group label; with one group, its label titles the date column instead.
Day headers appear as extra per-day columns. When groups have different numbers of day headers, the
shorter ones are padded. A group with Day total None leaves its total cell blank; the total
column stays when any group shows a total, and different total headers are joined, for example
Avg / Total.
Only completed intervals are filled. Current, future, and out-of-window slots are empty cells. Labels use the report timezone. When the clock goes back for daylight saving time, intervals with the same label are combined with the slot’s aggregation; when it goes forward, the skipped times stay as empty columns.
Day headers and day totals are calculated from the completed intervals shown in the row. The day total applies its aggregation to the cell values: Delta and Sum both add up the cells. To show a meter’s consumption per day, set the cell Aggregation to Delta and the Day total to Sum. With the default cell Aggregation, Latest, a Sum or Delta total adds up meter readings and is not meaningful.
Colors and display
Section titled “Colors and display”Text, background, and border colors are independent. An integer parameter uses its value color, else its Default color; a numeric parameter uses the zone color that contains the value, else its Default color. A cell without readings for that slot gets no color from it. Backgrounds are a light tint so digits stay readable. Numbers are right-aligned with fixed digit widths.
The table scrolls sideways as a whole. The date and group-label columns stay on the left and the day-total column on the right, each with a border edge.
Hover and click
Section titled “Hover and click”With Show titles on, hovering shows YYYY-MM-DD HH:mm for a slot or YYYY-MM-DD for the date,
label, header, or total, plus the value with units. Shared snapshots include the same cells and
hover text.
With Interactive on, clicking any cell of a day’s rows sets the report window to that whole local day; clicking a slot does not zoom to that hour. When the report has Lock time range on, clicks do not navigate; hover text still shows.
Hidden parameters clear every value, color, and day header that uses them; the group row still shows. With a hidden cell value, the row has no digits and no day total. When every slot is empty or hidden, the matrix shows only its frame. The matrix has no live updates or comment markers.
Related
Section titled “Related”- Report settings
- Report page
- Chart, table, time bars, histogram, calendar, state duration, Sankey
- Readings API:
readings.cadenceat15m,30m, or1h(readings procedures)