Analytics (Beta)
Analytics is the self-service module for historical, multi-device analysis: your users build visualizations that aggregate readings across devices over days, weeks, or months, save them to a library, and place them on dashboards as tiles. This page covers what is specific to you as a partner: enabling it at both tier levels, roles, scope, embedding rules, and the history horizon. The hands-on builder reference is shared with your customers and lives in the end-user guide; this page links into it rather than repeating it.
This is a beta feature. It is off by default and appears only when the tier enables it. Chart types and options will keep growing, and details may change as it matures. Tell us what your customers ask for.
Where to find it: Sidebar -> Analytics (Beta) -> Visualizations.
Enabling Analytics
Analytics resolves at two levels, and both must be on:
- Your partner tier. The Pulse Analytics feature is part of your platform tier, set by ioX-Connect. When it is on, the Analytics section appears for your partner-level users.
- Each sub-account's customer tier. In Settings -> Sub-account Tiers, switch Pulse Analytics on under the tier's Features. Sub-accounts on that tier get the Analytics section; sub-accounts on other tiers do not. As with every feature, a sub-account can never exceed what your partner tier allows.
The same tier editor carries Max visualizations per scope: how many saved visualizations each sub-account (or your partner scope) can hold. Leave it at 0 for no limit. When a scope reaches its cap, New visualization reads Limit reached until a visualization is deleted.
Permission required: Partner Administrator.
Roles
| Role | Can |
|---|---|
| Partner Administrator | View, build, edit, and delete visualizations at partner level and in every sub-account. |
| Partner Support | View and run visualizations across the partner. Read-only. |
| Administrator (sub-account) | View, build, edit, and delete the sub-account's own visualizations. |
| Operator, Viewer | View and run the sub-account's visualizations. |
Two settings in Account Settings -> Security -> Role permissions control this: the Analytics entry under Visibility (whether the section shows in the sidebar at all) and Manage analytics under Permissions. You can grant Manage analytics to an Operator or Viewer. On an account whose tier does not include Analytics, both show locked and marked Not in this tier. See Role permissions.
Scope: partner-level and sub-account visualizations
A visualization belongs to the account that created it, and that decides which devices it can see.
| Scope | Devices it aggregates | Group by | Who sees it |
|---|---|---|---|
| Partner-level | Every device in the partner, including devices assigned to sub-accounts. | Site, device, hour of day, day of week, and Sub-account, so one chart can compare customers. | Partner Administrators and Partner Support. The library's Scope column reads Partner-wide. |
| Sub-account | Only that sub-account's devices. | Site, device, hour of day, day of week. The sub-account dimension is not offered, and the word "sub-account" never appears on the customer's screens. | That sub-account, plus Partner Administrators and Partner Support. The Scope column shows the account's name. |
A Partner Administrator opening a sub-account's visualization sees it exactly as the customer does. Site-restricted members see only readings from the sites they can access, in Analytics as everywhere else.
Building visualizations
The editor, the seven chart types, the Data, Filters, and Settings tabs, how results read, and the viewer-chosen period are documented once, in the end-user guide: Building a visualization and Choosing the period yourself. Everything there applies to partner-level visualizations too, with the addition of the Sub-account group-by.
A note on device selection: when every selected device shares one device profile, that profile's decoded fields, formula fields and numeric mapping fields become available as values (see Formula and mapping fields in Analytics). A mixed selection charts the universal signals plus any semantic fields your profiles have tagged; a semantic field reads each device's own tagged field, so it needs no profile check. The profile check for a profile's own fields runs over the first 500 devices in the selection, so on a very large fleet pick a profile explicitly rather than All devices to unlock those.
Visualizations on dashboards
Any saved visualization can be placed on a dashboard with the + Add visualization button in edit mode. The tile and its settings are covered on the Visualization widget page. The rule that matters to you is scope: embedding never crosses accounts.
| Dashboard | Can embed |
|---|---|
| Fleet and partner dashboards | Partner-level visualizations only. |
| Sub-account dashboards | That sub-account's own visualizations only, even when a Partner Administrator is editing. |
| Device and profile dashboards | Not available. |
| Public links | Visualization tiles are left out of the shared view. |
History horizon
Analytics keeps history on three levels and reads whichever one fits the question:
| Level | Kept for | Serves |
|---|---|---|
| Readings | Your tier's raw retention | Filters; hourly detail over windows of up to two days; short windows |
| Hourly summaries | Your tier's hourly aggregate retention (365 days by default) | Hourly detail over anything longer than two days (the same numbers, refreshed every five minutes); daily, weekly, and monthly charts over windows of up to 60 days, in the viewer's time zone |
| Daily summaries | 10 years | Daily, weekly, and monthly charts over longer windows, and headline figures over long periods |
Summaries are built every hour for every account, whether or not Analytics is switched on, so an account that buys Analytics later finds its history waiting. They are deleted with a device's readings when it moves back to inventory or is removed.
Two consequences to set expectations by: filters read individual readings, so a filtered chart cannot reach beyond raw retention (the editor says so); and daily summaries are UTC days, so a daily chart over a window longer than 60 days is drawn on UTC days and the caption says so. When a period reaches further back than a level keeps, the chart uses what is retained and notes the earliest date it could use.
Time zones
Buckets, hours of the day, and days of the week follow each viewer's time zone: the one set in their profile, otherwise the browser's. The caption under every chart names it. Two viewers in different zones see the same readings grouped by their own local hours, which is usually what each of them expects.
Limits
| Limit | Value |
|---|---|
| Values per visualization | Up to 6 (Scatter exactly 2; Pie and Heatmap 1) |
| Filters per visualization | Up to 10 |
| Time buckets per series | Up to 8,784, a year of hours, so every grain fits every period |
| Rows per chart | Up to 100,000 (buckets times groups); a Table holds 10,000. A query that would exceed it is refused before it runs, naming the size and what fits; the visualization cannot be saved until it fits. |
| History read per chart | A chart may read up to 200,000 hourly summaries, 500,000 daily summaries, or 80,000 readings in one query, counted per device, per bucket, and per value charted plus one. A query over that is refused with the grain that fits. This is what keeps a fleet-wide hourly year from slowing everyone else down. |
| Heatmap of hours by day | Windows of up to 92 days |
| Rows per CSV export | The chart's own rows, every one, up to 100,000. |
| Charts running at once | Four per server; further charts wait up to six seconds, then retry on their own. |
| Query time | 8 seconds, after which the run stops with a message |
| Run rate | A short burst of quick runs per account, then about one per second; the editor debounces previews and dashboard tiles share a one-minute cache |
| Dashboard tile refresh | Every minute to every hour, default every 5 minutes |
Frequently asked
A customer says the Analytics menu is missing.
Check both levels: your partner tier must include Pulse Analytics, and the customer's tier must have it switched on. Then check the role: the Analytics visibility entry may be off for that role in Role permissions.
A customer can see visualizations but cannot create one.
Their role lacks Manage analytics. Administrators have it by default; grant it to another role in Role permissions if that is what you want.
Why can't I place my partner-level chart on a customer's dashboard?
Embedding is strictly account-scoped. Build the visualization inside the customer's account, so it only ever sees that customer's devices, and place it from there.