Skip to main content

Measures

The Measures feature allows you to capture, aggregate, and statistically analyze process measurements at scale. Rather than storing every raw sample, measurements are collected over a configurable window — by count or by duration — and summarized into a single database record that preserves key statistical properties.

How It Works

A measure is backed by a Tag UDT that collects incoming values in memory. Once the configured window is complete, the UDT computes a statistical summary and writes one aggregated record to the database.

Collection Window

You configure the window in one of two ways:

ModeDescription
Sample countCollect exactly N values, then aggregate
DurationCollect all values over a time period (e.g. 5 minutes), then aggregate

Aggregated Output

Each record written to the database includes:

FieldDescription
meanAverage of all samples in the window
stdDevStandard deviation
min / maxObserved range
sampleCountNumber of raw values collected
ucl / lclUpper/lower control limits (3-sigma)
usl / lslSpec limits (if configured)
outOfControlWhether any SPC rules were violated

Use Cases

High-Frequency Sensors

A vibration or temperature sensor sampling at 100 Hz would generate millions of rows per day if stored raw. With a count-based window of 500 samples, storage is reduced 500× while retaining the statistical shape of the signal.

Shift or Batch Summaries

Use a duration-based window aligned to your shift length (e.g. 8 hours). Each shift produces one measure record capturing the process behavior for that period — suitable for OEE dashboards and trend reporting.

SPC Without Raw Data Retention

The UDT computes control limits on the collected window before writing. This means you get UCL/LCL and violation flags in the database record without needing to store or re-query the raw samples later.

Centerlining

Measures can be linked to a quality attribute (attributeId) from the attribute specification table. This allows a measure record to be compared against a golden-run baseline, supporting centerlining workflows where you want to know how far the current window deviates from optimal settings.

Multi-Asset Rollups

Deploy the same UDT across many assets. Because each record includes sampleCount, downstream aggregation (e.g. plant-wide averages) can be properly weighted rather than treating each window as a single data point.


Creating a Measure Definition

Measures can be defined in the Configuration/Ops/Measures page as well as via the measures api's.

measuresConfig

Measures require a name and an asset to be linked with. Data sources for where the measurement comes from i.e. PLC, can be configured and linked. Aggregations can also be defined and linked to determine whether the measurement is an average value, sum etc.

If SPC analysis is required to be performed on the measurement (requires a quality license), an attribute containing spec limits can be linked to the measurement. This enables centerlining comparisons in downstream reporting.


Creating the Measures Tag

By enabling the 'Tag' checkbox, a measure UDT instance will be created in a measures tag folder under the asset. This provides the ability to connect the data source to the measurement value tag.

The Measure tag UDT instance has the following settings:

ParameterTypeDescription
measureIdintID returned by the addMeasure() function
maxSampleCountint# of measurement to collect before storing the measurement
maxSampleDurationSecsint# of seconds between samples before storing the measurement
outOfControlboolIndicator that spc has detected an out-of-control condition
ruleViolationsarrayList of rule violations
spcCheckEnabledboolSet to true to enable SPC check
enabledboolSet to true to enable this measure
updateboolSet to true to store this measurement value ibn the database. This is automatically enabled when either the 'maxSampleCount' or 'maxSampleDurationSecs' threshold is reached
valuefloatThis is the measurement value. Wire the UDT's value input to the tag you want to measure. The UDT will begin collecting values immediately when enabled is true.
datadatasetMeasurement values are stored in this dataset and analyzed prior to being written to the database
specfolderContains measure specification if applicable
spec/attributeIdintId of the attribute linked to this measure
spec/itemIdintId of the item currently linked with this measure
spec/refreshintUpdates the specification based on the attributeId, itemId, and assetId
spec/lslintAttribute spec lower spec limit
spec/lclintAttribute spec lower control limit
spec/tgtintAttribute spec target
spec/uclintAttribute spec upper control limit
spec/uslintAttribute spec upper spec limit

SPC Rules

SPC analysis is run on the collected window before each record is written. You can configure which rule set to apply.

Rule Sets

ValueDescription
'western_electric'Western Electric rules only
'nelson'Nelson rules only
'both'Both rule sets combined (default)

Western Electric Rules

RuleDescription
WE11 point beyond 3σ
WE22 of 3 consecutive points beyond 2σ on the same side
WE34 of 5 consecutive points beyond 1σ on the same side
WE48 consecutive points on the same side of the mean
WE56 consecutive points trending in one direction
WE615 consecutive points within 1σ of the mean

Nelson Rules

RuleDescription
N11 point beyond 3σ
N29 consecutive points on the same side of the mean
N36 consecutive points trending in one direction
N414 consecutive points alternating up/down
N52 of 3 consecutive points beyond 2σ on the same side
N64 of 5 consecutive points beyond 1σ on the same side
N715 consecutive points within 1σ of the mean
N88 consecutive points with none within 1σ of the mean

Chart Types

ValueDescription
individualsIndividuals/moving range chart. Used when each measurement is a single value. Default.
xbarX-bar/range chart. Used when measurements are grouped into subgroups of 2–10 samples. Requires subgroupSize.
info

Use individuals for most sensor and manual entry scenarios. Use xbar when your process naturally produces batches of samples (e.g. 5 parts per cycle) and you want to track subgroup means.


Measures Analysis

The Measures Analysis view provides a multi-chart breakdown of aggregated measure data over a selected time range. It is designed to surface trends, distribution patterns, hourly variation, and sample count anomalies in a single screen.

measuresAnalysis

Filters

FilterDescription
MeasureAsset-scoped measure to analyse (e.g. BDFT Kanoa Box Co\Box Plant\Packaging\Box Line 1)
Date rangePreset (Last Week, Last Month, etc.) or custom start/end timestamps
GranularityDay / Shift / Hour — controls how rolling averages and hourly charts are bucketed

Click Go to apply filters. Click Clear to reset to defaults.


KPI Summary Cards

Four summary cards appear at the top of the view.

CardDescription
Avg Measure ValueMean of all aggregated values in the selected range. Min and Max show the observed extremes across all events.
Total SamplesSum of sampleCount across all events. Also shows total event count and average samples per event.
Avg Std Dev (within sample)Average of the per-event standard deviation. Reflects within-window process variation. The between-event figure shows variation across events.
Avg Duration (secs)Average collection window duration in seconds, with the full date span of the query shown beneath.

Example

From the screenshot above (06/14/26 – 06/21/26, Box Line 1):

  • 100.02 avg value across 532,439 total samples (5,932 events, ~89.8 samples/event)
  • 8.9647 avg within-sample std dev, with a between-event std dev of 3.6711
  • 100.6 s avg window duration

Charts

Measure Value with Rolling Average

A time-series scatter plot of every aggregated event value over the selected range. A rolling average line is overlaid to show the process trend.

Use this chart to:

  • Identify drift or step changes in the process mean over time
  • Spot isolated outlier events against the rolling trend
  • Confirm process stability across shifts or days

Avg / Min / Max Value by Hour of Day

A bar + line combo chart grouping all events by hour of day (0:00–23:00). Bars show the average value per hour; lines show the min and max observed in that hour across the full date range.

Use this chart to:

  • Detect time-of-day patterns (e.g. startup variation, shift changeover effects)
  • Identify hours where the max consistently exceeds spec
  • Compare average vs. worst-case behaviour by hour

Measure Value Distribution

A histogram bucketing all events by their aggregated value. Each bar shows the event count falling within that value range (e.g. 95–100, 100–105).

Use this chart to:

  • Confirm the process is centred on the target value
  • Identify skew or bimodal distributions that suggest a mixed process
  • Quickly see how many events fall outside expected ranges

Sample Count Outliers by Event Time

A bar chart of sampleCount per event over time. Events where the sample count deviates significantly from the typical range are visually prominent as outliers.

Use this chart to:

  • Identify events where the collection window captured an abnormal number of samples (sensor bursts, window timing issues)
  • Spot gaps where sample counts drop unexpectedly (e.g. downtime, tag disconnection)
  • Validate that window configuration is behaving consistently
tip

A sudden spike in sample count (as visible in the example above around 06/16–06/17) can indicate a window that failed to flush on time and accumulated extra samples before writing. Cross-reference with the rolling average chart to see whether the value was also affected.


Outliers (z-score > 2)

A paginated table listing every event where the aggregated value deviated more than 2 standard deviations from the process mean.

ColumnDescription
TimestampDate/time of the event
ValueAggregated measure value for that event
MeanProcess mean across the selected range
Std DevProcess standard deviation across the selected range
Z-ScoreHow many standard deviations the value is from the mean
DirectionHigh — value above the mean, Low — value below the mean

Rows are sorted by Z-Score descending, so the most extreme outliers appear first. Rows highlighted in orange indicate events that also exceeded the USL or LSL.

Use this table to:

  • Identify the most extreme process excursions and when they occurred
  • Distinguish high-side from low-side outliers
  • Drill into specific dates for root cause investigation

Gap Analysis

A paginated table showing the time gap between consecutive events, flagging windows where the gap was larger than expected.

ColumnDescription
TimestampDate/time of the current event
Prev TimestampDate/time of the preceding event
Gap (secs)Elapsed time between the two events
StatusNormal — gap within expected range, Large Gap — gap significantly exceeds the typical window duration

Use this table to:

  • Detect periods where measurement collection stopped or stalled (downtime, tag disconnection, network issues)
  • Validate that the collection window is flushing consistently
  • Identify missing data before using the analysis for reporting or compliance
tip

A Large Gap alongside a spike in the Sample Count Outliers chart on the same date often indicates the window paused and then flushed a backlog of samples in a single event when collection resumed.


Real-time SPC Alerts

The notifications widgets will display any out-of-control conditions for measures that have spcCheckEnabled' set to True. this can be used to immediately alert operators on a line to any out-of-control conditions.

spcWidget