Watch the recorded sessions, read the summary, and follow a workflow infographic for every topic from your first trend view to advanced fingerprinting.
12
Guided trainings
3
Skill levels
28
Hands-on workflows
Start here
The guided path
Two guided courses that build your foundation. Take them in order the Intermediate session assumes everything from the Basics.
Your foundation in TrendMiner, in six short lessons. Search and visualise tags, navigate time, then walk the five core value streams every user relies on, each with its own recordings and a workflow infographic.
Basic6 lessons12 recordings2024.R1+
About this course
TrendMiner is a web-based platform for industrial analytics, split into three hubs, TrendHub (trending & analysis), ContextHub (contextualising data) and DashHub (dashboards). Most of this course lives in TrendHub.
Work through the lessons in order. Each opens its own page with the recordings and a step-by-step infographic for that workflow.
Get oriented: what TrendMiner is and how its three hubs fit together, how to search and edit your tags, and how to move through time with the focus chart and context bar.
1What is TrendMiner?A two-minute overview of the platform.
2Search and edit tagsVisualise a tag, then tune scale, colour and alias.
3Navigating through timeFocus chart vs context chart, duration, lock & undo.
In this lesson
TrendMiner gives process experts, engineers, operators, managers, direct access to time-series data without a data-science background. It’s organised into three hubs, and this lesson keeps you in TrendHub, where you visualise and analyse tags.
You’ll learn to load tags with the wildcard, tidy them up, and move fluently through time so you can find the trends that define a problem.
Basic Guides, Lesson 1
Find your way around TrendMiner
The platform, your tags, and moving through time.
Part 1The platform
1
What is TrendMiner?
A web-based platform for industrial analytics. It puts data-science-grade tools, pattern search, monitoring, fingerprints, in the hands of process experts, straight out of the box. No Python, R or MATLAB required.
2
Three hubs, one platform
Switch hubs from the top-left hub switcher. This course lives mostly in TrendHub.
From a new Trend View, open Search tags & attributes and type at least three characters. Use the wildcard * to pull a whole family, e.g. TM4HEX*. Added tags appear in the Active tag list and plot on the focus chart.
The focus chart in the middle is where you visualise data. The context bar below is the bird’s-eye view across a longer span, and crucially, it defines the period a search runs over.
Set the context bar first, then click it once to mirror that exact period onto the focus chart.
6
Duration, lock & undo
Pick a duration with quick-sets or type a custom value such as 4H, and set exact start/end timestamps. Lock keeps a fixed-length window as you pan; Undo reverts your last time move; Live mode turns it into a rolling, auto-updating view.
Key considerations
Use TrendMiner 2024.R1 or newer, with data back to at least Jan 1, 2023
Firefox or Chrome are recommended for the exercises
Aliases make crowded charts far easier to read
Remember: the context bar period, not the focus chart, defines a search window
Turn raw trends into numbers. Read averages, totals and variability straight from the statistics table for any period, and exclude downtime or bad data with a manual filter so your KPIs reflect reality.
1Reading the statistics tableAverage, integral, max, range and standard deviation.
2Excluding bad data with a manual filterDrag over a period to remove it and watch the stats update.
In this lesson
The statistics table is the fastest way to quantify a period of operation. Load your tags, point the focus chart at the window you care about, and TrendMiner computes the key statistics on the fly.
When downtime, shutdowns or sensor glitches sit inside that window, a manual filter lets you carve them out so your averages and totals describe normal operation.
Basic Guides, Lesson 2
Quantify any period with the statistics table
From a loaded trend to clean, filtered KPIs.
WorkflowRead, then refine
1
Load tags & set the period
Add the tags you want to summarise, then set the focus chart to the period of interest, e.g. the month of April. The context bar helps you find and frame it.
2
Open the statistics table
The table lists a row per tag with the core statistics:
The integral is the area under the curve, use it whenever you need a total (volume, energy, emissions) rather than an average.
3
Add a manual filter
Spot a shutdown or bad-data period in the window? Click and drag across it on the focus chart to add a manual filter. That span is excluded from the calculation and greyed out.
Manual filters are time-based, tied to the dates you dragged. For a reusable, condition-based filter, see Lesson 03 and the Intermediate course.
4
Read the corrected KPIs
With the filter active, every statistic recalculates to describe only the periods you kept. Adjust the focus chart window at any time and the numbers follow.
Key considerations
The integral assumes the tag’s native time unit, confirm per-hour vs per-day
Statistics always describe the current focus-chart window
Manual filters apply to the dates you selected, not future data
Stack multiple filters to exclude several bad periods at once
TrendMiner TrainingBasic Guides · Lesson 2, Process statistics
Stop finding out about problems after the fact. Define the condition you care about with a value-based search, save it, and turn it into a live monitor that emails you, or logs a context item, the moment it happens.
1From search to live monitorBuild the search, save it, and enable an alert.
In this lesson
A value-based search finds every time your process crossed a threshold, past and future. The same search, saved and promoted to a monitor, watches live data and fires an action when the condition recurs.
Actions can notify a person, create a context item for the record, or trigger an external system via webhook, so the right response happens automatically.
Basic Guides, Lesson 3
From a condition to an automatic alert
Search once, then let a monitor watch for you.
Step 1Detect, define the event
1
Run a value-based search
Open Search → Value based on the tag you want to watch. Set the condition, the value and a minimum duration, for example, reactor temperature > 123° for at least 4 minutes. TrendMiner returns every matching period in the context window.
A minimum duration filters out brief spikes so you only catch events that actually matter.
2
Save the search
Give it a clear name and save it. This is the single most important step, the saved search becomes the trigger definition for your monitor.
Step 2Warn & contextualize, automate the response
3
Enable a monitor
From the saved search, choose enable monitor. TrendMiner now evaluates live data against your condition continuously.
4
Pick an action
Decide what should happen when the monitor triggers:
Send an emailCreate a context itemCall a webhook
A context item is a record linked to that period, the start of building a searchable process history (covered in depth in the Intermediate course).
Key considerations
The context bar period defines where the search looks, set it first
Always save the search before enabling a monitor
Tune the minimum duration to avoid alert fatigue from short spikes
Webhook actions let you wire alerts into Teams, a CMMS or other systems
Give your team a single live view. Save a TrendHub view, then assemble a DashHub dashboard with trend and current-value tiles, colour values by rule with conditional formatting, and switch it to live.
1Save a view & build the dashboardTrendHub view tile plus a current-value tile.
2Conditional formatting & live modeColour values by rule, then go live and save.
In this lesson
Dashboards live in DashHub and are built from tiles. A saved TrendHub view becomes a trend tile; a current-value tile shows the latest reading of any tag, formatted to draw the eye when something is off.
Switch the dashboard to live mode and it becomes an always-on operations view your whole team can rely on.
Basic Guides, Lesson 4
Build a live operations dashboard
From a saved view to an always-on team display.
WorkflowSave, assemble, format, go live
1
Save your TrendHub view
In TrendHub, arrange the tags you want on the dashboard and save the view with a clear name. A saved view can be dropped onto any dashboard as a tile.
2
Add tiles in DashHub
Create a new dashboard and add tiles:
TrendHub view tileCurrent value tile
3
Add conditional formatting
On the current-value tile, add rules so the number changes colour by range, e.g. green in spec, amber near the limit, red over it. The tile turns a raw reading into an instant status.
Colour rules are what make a dashboard actionable, operators see a problem before they read the number.
4
Enable live mode & save
Switch the dashboard to live so tiles refresh with the latest data, then save. Share it and the whole team sees the same real-time picture.
Key considerations
Save the TrendHub view before building the dashboard
Keep dashboards focused, a few well-chosen tiles beat a wall of them
Set conditional-format thresholds to your actual operating limits
Live mode refreshes automatically; no need to reload the page
Learn from your best and worst runs. Find your batches, rank them by a quality calculation, then layer the best against the worst to compare them, visually on the chart and statistically with Compare Layers.
1Frequency & impactUnderstand how often and how severely issues occur.
2Layer & compareOverlay best vs worst and compare layers statistically.
In this lesson
Comparison is the heart of troubleshooting. Find all your batches of a grade, add a calculation that captures quality, and sort to surface the best and worst performers.
Adding them as layers overlays them on a common time axis. Compare Layers then quantifies the difference, including an evolution similarity score that tells you how alike two runs really were.
Basic Guides, Lesson 5
Compare your best and worst runs
Rank, layer, and quantify the difference.
Step 1Rank, find best & worst
1
Find your batches
Run a value-based search to return every batch of the grade you’re investigating (e.g. all alpha batches) over a representative period.
2
Add a quality calculation
Add a calculation that runs across every result at once, for example max concentration as a proxy for batch quality. Each batch now carries a comparable number.
3
Sort to surface the extremes
Sort the results by your calculation. The top and bottom rows are your best and worst runs, the two you’ll learn the most from comparing.
Step 2Compare, visually & statistically
4
Add them as layers
Add the best and worst batch as layers. TrendMiner aligns them on a common time axis so you can see exactly where the two runs diverge.
5
Compare Layers
Open Compare Layers for a statistical breakdown, per-tag percentage differences and an evolution similarity score quantifying how alike the runs were over time.
Event Analytics (next to Results) shows your batches as a table, histogram, parallel-coordinates or scatter plot for deeper, population-wide analysis.
Key considerations
Choose a calculation that genuinely reflects quality or performance
Layering aligns runs on a shared axis, ideal for batch-to-batch comparison
Evolution similarity scores how alike two trends are, not just end values
Use Event Analytics when you want to compare the whole population, not just two
When the tag you need doesn’t exist, build it. Tag Builder turns the tags you already have into new calculated ones, like multiplying flow by density to get a mass flow rate, that are public, searchable and usable everywhere.
1Build a formula tagCombine existing tags into a new calculated one.
2Map variables, name & saveWire up the inputs and publish your new tag.
In this lesson
Tag Builder lets you derive new tags from existing ones using a formula. The classic example: multiply a volumetric flow by a density to get a mass flow rate the historian never recorded directly.
Once mapped, named and saved, your calculated tag behaves like any other, searchable, plottable, and usable in stats, monitors and dashboards.
Basic Guides, Lesson 6
Build the tag you wish you had
Derive new KPIs from existing tags with Tag Builder.
WorkflowFormula → variables → save
1
Open Tag Builder → Formula
From the tools menu open Tag Builder and choose the Formula type. This is where you define a new tag as an expression of others.
2
Write the formula
Enter the calculation using variables. For a mass flow rate:
Mass flow rate
flow × density
Variables (flow, density) are placeholders you’ll connect to real tags next.
3
Map the variables to tags
Connect each variable in your formula to an actual tag, e.g. flow → FI-101, density → DI-101. TrendMiner previews the resulting trend so you can sanity-check it before saving.
4
Name & save
Give the tag a clear name, adding your initials is a useful convention so colleagues know who built it. Save, and it joins the tag library.
Your new tag is public and searchable, plot it, run statistics, drive monitors or add it to dashboards, just like any historian tag.
Key considerations
Check units line up, flow × density must resolve to the mass-rate units you expect
Preview before saving to catch a mis-mapped variable early
Name tags consistently (with initials) so the library stays navigable
For time-shifts and aggregations, see the Intermediate course
TrendMiner TrainingBasic Guides · Lesson 6, Create your own KPIs
The next step after the Basics. The same five value streams, made production-ready, each its own lesson with recordings and a step-by-step workflow infographic. Search-based filters and reporting, context items in Context Hub, shareable dashboards, similarity & cross-correlation for root cause, and advanced Tag Builder KPIs.
Intermediate5 lessons11 recordings2024.R1+
About this course
Each workflow you met in the Basic Guides returns here, made production-ready and more useful. The Intermediate Guides build on the basic workflows into more elaborate, day-to-day use cases: reusable filters, structured context, sharing across your team, and advanced root-cause and KPI techniques.
Work through the lessons in order. Each opens its own page with the recordings and a step-by-step infographic for that workflow. The course assumes everything from the Basic Guides.
Stop logging deviations by hand. Turn search results into structured context items, keep a live monitor populating them going forward, then build a ContextHub view your whole team can search.
1Deviations → context itemsAdd search results as anomaly context items and keep a monitor populating them.
2Build a ContextHub viewFilter by component, creator and type into a shared, searchable view.
In this lesson
A deviation you only see on a chart is gone the moment you scroll away. The fix is context items, structured records linked to a data point or period, that live in ContextHub and outlast any one trend view.
You’ll capture deviations from a search as anomaly context items, enable a monitor that keeps creating them automatically, then assemble a ContextHub view filtered by component, creator and type, searchable by your whole team.
Intermediate Guides, Lesson 2
Make deviations stick around
From a one-off search to a living, team-wide record of events.
Part 1Capture deviations as context
1
Search for the deviation
Run a value-based search (or another search type) for the deviation you care about, for example a temperature excursion above a limit, over a representative window set on the context bar.
2
Add results as context items
Select the results and add them as context items, typed as anomaly. Each becomes a structured record pinned to its exact period.
A context item is a block of information linked to a data point or period, the backbone of a structured process story.
3
Enable a monitor
Turn the saved search into a monitor so every new occurrence creates a context item automatically, the record keeps building itself going forward, with no manual logging.
Part 2Organise it in ContextHub
4
Build a filtered view
In ContextHub, create a view and filter it by the dimensions that matter:
ComponentCreatorType (anomaly)
5
Save & share the view
Save and share the view so it’s searchable by the whole team. Once shared, anyone with access can open it, filter further, and trace the history of a component at a glance.
Key considerations
The context bar period defines the search window, set it before you search
Type your context items consistently, or your ContextHub filters won’t line up
A monitor keeps the record current; a one-off search is only a snapshot
Components map context items to assets, populate them for the richest views
Turn the ContextHub view you just built into a shareable overview dashboard, the same data shown as a table, a count and a Gantt, alongside a live monitor tile, then share it with read or write access.
1ContextHub view tilesAdd a saved view as a tile, then duplicate it as table, count and Gantt.
2Monitor tile & sharingAdd a triggered/OK alert tile, then share with read or write access.
In this lesson
A dashboard is where your context items and monitors become something the whole shift can act on. You’ll start from the ContextHub view built in the previous lesson and place it on a dashboard.
The same view, shown three more ways, as a table, a count and a Gantt, answers different questions at a glance. Add a monitor/alert tile with triggered and OK states, then save and share with the right permissions.
Intermediate Guides, Lesson 3
One view, four ways to read it
Build a shareable overview dashboard from a ContextHub view and a live monitor.
Part 1Build the dashboard
1
Add the ContextHub view as a tile
In DashHub, create a new dashboard and add a tile that points at the ContextHub view you saved in the previous lesson.
2
Duplicate it into three more visualizations
Duplicate the tile and switch each copy’s visualization. The same underlying data now answers three more questions:
Table, the detailCount, how manyGantt, when & how long
3
Add a monitor / alert tile
Add a tile bound to your monitor. It shows a live state, triggered (e.g. “Temp spike”, red) or OK, so the board flags trouble the moment it happens.
Triggered, “Temp spike”OK, within limits
Part 2Save & share
4
Save and share the dashboard
Save the board and share it with your team. Choose the access each person needs.
From 2025.R2 you can grant read or write permissions when sharing. Shared items appear under “Shared with me” in the Work Organizer for every recipient.
Key considerations
Tiles read from the live view, update the view and every tile follows
Duplicate-then-switch keeps the four tiles in sync with a single source
Give write access only where colleagues genuinely need to edit
A Gantt is the clearest way to read event duration and overlap on a board
Two advanced Tag Builder patterns that derive new tags from the ones you already have: a rate-of-change tag built with a time shift, and a total-downtime tag built with an integral aggregation.
1Rate of change with a time shiftlevel − level.shift(1 min) for a derivative tag.
2Total downtime via integralFlag downtime as 1, integrate over 24 h for hours offline per day.
In this lesson
Tag Builder lets you compute new tags from existing ones. This lesson covers two patterns that go beyond a simple formula, both rely on how the calculation treats time.
The first uses a time shift to compare a tag with its own recent past, giving a rate of change. The second combines a conditional formula with an integral aggregation to total how long a condition held, here, hours of downtime per day.
Intermediate Guides, Lesson 5
Tag Builder, two ways with time
A rate-of-change tag with a time shift, and a downtime total with an integral.
Pattern 1Rate of change, time shift
1
Enable the time shift
In Tag Builder, create a Formula tag and turn on time-shift. This lets a variable reference the source tag at an earlier moment.
2
Map both variables, shift one
Map both formula variables to the same level tag, then shift one of them back by one minute.
Rate of change
level − level.shift(1 min)
Now-value minus the value a minute ago, a per-minute derivative of the level.
Pattern 2Total downtime, formula + integral
3
Flag the condition as 0 / 1
Build a formula that outputs 1 while the asset is down and 0 while it runs.
Downtime flag
if(speed < 1, 1, 0)
A binary signal that is 1 for every moment the equipment is offline.
4
Integrate over 24 hours
Add an integral aggregation over the flag, per-hour, backwards 24 hours, to total the hours offline each day.
Total downtime
integral( downtime_flag ) over 24 h
The area under a 0/1 signal is exactly the time it spent at 1, hours of downtime per day.
Key considerations
Map both shift variables to the same source tag, or the difference is meaningless
Match the shift interval to your sampling, 1 min on minute data, not second data
Integral aggregation needs the correct time unit, or you’ll be off by a conversion factor
A 0/1 flag is reusable, the same pattern powers downtime %, counts and totals
TrendMiner TrainingIntermediate Guides · Lesson 5, Create your own KPIs
Two diagnostic tools, used together. A weighted similarity search finds historic look-alikes of a recurring deviation; cross-correlation then surfaces the upstream bad actor, and the time lag that proves it came first.
1Weighted similarity searchAdd weight to a spike, search absolute values at ≥ 72%, add matches as layers.
2Cross-correlation diagnoseRun the diagnose tool with a 1-hour upstream shift and a tag filter.
In this lesson
When a deviation keeps recurring, two questions matter: has this happened before, and what caused it. This lesson answers both.
A weighted similarity search emphasises the part of the signal you care about and pulls back historic look-alikes. Cross-correlation then ranks candidate tags by how strongly, and with what time lag, they move with your event, exposing the upstream root cause.
Intermediate Guides, Lesson 4
Find the look-alike, then the cause
Weighted similarity search for history, cross-correlation for the upstream bad actor.
Part 1Find historic look-alikes
1
Add weight to the event
Select the temperature spike on the focus chart and add weight (e.g. ×5) to it. Weighting tells the search which portion of the pattern actually matters.
Skip the weighting and a similarity search returns hundreds of weak matches. Weight first, always.
2
Run a similarity search
Run a similarity search on absolute values with a minimum similarity of 72%. The results are the closest historic relatives of your event.
3
Add the matches as layers
Add the matching periods as layers so they stack on a shared time axis, you can see immediately how consistently the event repeats.
Part 2Find the cause
4
Run cross-correlation
Open the diagnose → cross-correlation tool. Allow a 1-hour upstream shift so the tool can detect causes that act ahead of the symptom, and narrow the candidates with a tag filter.
Settings
shift: 1 h upstream · tag filter: TM-TSP*
The shift lets a tag that moves before the reactor still register as correlated.
5
Read the ranked result
The tool ranks candidates by correlation strength and reports the lag for each, a prioritised list of root-cause suspects.
The cooling-water tag returns ~81% correlation and spikes ~10 min before the reactor, a textbook upstream root cause with lag.
Key considerations
Always add weight before a similarity search to keep matches relevant
Absolute-value search compares magnitudes; pick it deliberately over shape-only
The time shift is what separates cause from coincidence, a leading tag moved first
Correlation is not proof, confirm the mechanism with process knowledge
Go beyond a single KPI. Express equipment downtime as a percentage of a period using a binary formula tag and the statistics table, then roll a KPI up into a repeatable report per recipe batch or per calendar day.
1Asset downtime & stoppage %A binary formula tag plus the integral, to total downtime over three months.
2Recipe & daily KPI reportTotal cooling-water consumption per batch or per day, exported as a report.
In this lesson
Statistics in the Intermediate guides is about turning raw values into reportable numbers. First you’ll express equipment downtime not just in hours but as a percentage of the period, using a binary formula tag and the statistics table’s integral and average.
Then you’ll build a statistical report that rolls a KPI, cooling-water consumption, up per recipe batch or per calendar day, ready to export for the exact period of interest.
Intermediate Guides, Lesson 1
From raw values to reportable numbers
Quantify downtime as a percentage, then roll KPIs up per batch or per day.
Part 1Downtime as a percentage
1
Load the asset tag & set a 3-month window
Add the flow tag for the asset and set the focus chart to a representative period.
Exercise setup
Tags: TM-HEX-FI0620
Focus chart: Mar 18 2019 16:00 → Jun 18 2019 10:00, about 3 months.
2
Build a binary formula tag
In Tag Builder, create a Formula tag with a binary conditional format, output 1 when the asset is stopped and 0 when it is running.
Downtime flag
if(TM-HEX-FI0620 < threshold, 1, 0)
The tag now reads 1 for every moment the equipment was down, 0 otherwise.
3
Read the statistics table
Open the statistics table for the binary tag over your three months. Two numbers do the work:
Integral → total downtime (days / hours)Average × 100 → stoppage %
Because the tag is 0/1, its average is exactly the fraction of time the equipment was down, multiply by 100 for the stoppage percentage, no manual conversion needed.
Part 2Recipe & daily KPI report
4
Load product, flow & day tags
For a continuous process you report per day; for a batch process, per recipe batch. Load the product, the cooling-water flow, and a day tag.
Focus: Jan 2 2019 16:00 → Jan 4 2019 00:00 (2 days) · Context: Jan 1 → Jan 7 2019 (7 days).
5
Total the KPI per period
Calculate total cooling-water consumption, the integral of the flow tag, for each batch of each recipe, or for each day. Each period now carries one comparable KPI number.
6
Export the report
Export the results in report format for the period of interest, a tidy per-batch or per-day statistical report you can circulate or schedule.
Key considerations
The integral’s time unit must match what you want, set days or hours deliberately
A 0/1 binary tag is the trick that turns “how long” into “what percent”
Pick the day tag for your own time zone, or batches will straddle day boundaries
From 2024.R1 a search-based filter can also exclude downtime from KPI averages entirely
TrendMiner TrainingIntermediate Guides · Lesson 1, Process statistics
Build an ideal batch fingerprint from your best runs, monitor live batches for deviations, and diagnose root causes both visually and quantitatively, a complete workflow for stabilising a problematic product grade.
This session works through a batch process that produces several product grades. The Beta grade is a bottleneck, so the goal is a golden fingerprint that captures what a great Beta batch looks like, and an alert when reality drifts away from it.
You’ll define the best batches with a three-pronged set of calculations, refine them with Event Analytics histograms, capture their operating envelope as a fingerprint, enable a deviation monitor, and finally diagnose deviations visually and with the Fingerprint Deviations tool.
TrendMiner, Advanced training
Define, Compare, Improve: Golden Batch Monitoring
A step-by-step workflow for fingerprinting, monitoring, and diagnosing batch deviations.
Batch process analytics
Stage 1Define, Identify your best batches
1
Load tags & set time context
Search for your process tags using the wildcard * operator. Load: product/grade identifier, concentration, pressure, temperature, utilities flow. Set the context bar and focus chart to the same historical period.
Quick tip: click anywhere on the context bar after setting it, the focus chart mirrors the period automatically in one click.
2
Value-based search, isolate your target grade
Run a value-based search to find all batches of the target grade (e.g. Product = Beta). Apply a minimum duration filter (≥ 1 hour) to exclude trivial or incomplete runs.
Save this search. You’ll reuse it later as the monitor trigger. Skipping this means rebuilding it from scratch.
3
Add batch quality calculations
Add aggregation calculations that run across every result simultaneously. A three-pronged approach covers quality, cost, and safety:
Open Event Analytics → Histograms. Remove date/duration columns to focus on your KPIs. Filter by clicking and dragging on histogram bars, each filter progressively narrows the population.
Example progression: 120 batches → 111 (concentration) → 92 (utility ≤ 44.5) → 72 (pressure < 23). These 72 are your golden batch candidates.
Stage 2Compare, Build the fingerprint & enable the monitor
5
Add boundary batches as layers
Sort refined results by each calculation. Add two layers per metric: the batch with the highest value and the one with the lowest value. This defines the upper and lower operating envelope. Repeat for all three calculations, expect 5–6 layers total.
The fingerprint hull is defined by the range across your golden batch population, not a single “best” batch. More boundary examples = more realistic envelope.
6
Create the fingerprint
Click the fingerprint icon and create a new fingerprint. Select all process variable tags (concentration, pressure, temperature, utilities flow) and all boundary layers. Preview first, TrendMiner shades the upper/lower bounds into an operating envelope. Save with a clear name (e.g. “Ideal Beta Profile”).
7
Enable the deviation monitor
Go to Monitoring → create a new monitor. Configure:
Source: your fingerprintMode: detect deviationsTrigger: saved batch search
Threshold: 95% is a good starting point for tightly controlled processes. Higher = stricter. Review after the first few weeks of live monitoring.
Stage 3Improve, Diagnose deviations
8
Visual comparison, bad batch vs. golden profile
Reset refinements. Sort all batches by quality metric and add the worst batch as a base layer. Overlay the fingerprint using “Move to Start of Focus Chart”, this aligns the fingerprint to the batch start in one click. Hide noisy tags to keep the visual clean.
The monitoring menu shows the last 50 deviations with deviation scores and a direct link to open the visual comparison, one click from alert to diagnosis.
Go to Diagnose → Fingerprint Deviations. Set the same threshold as your monitor. The tool ranks which process tags deviated most, giving you a prioritised list of root cause suspects instantly.
How the deviation score is calculated
Score = (|current value − nearest bound| × 2) ÷ fingerprint range
Example: fingerprint 15–23, current value 14 → (|14−15| × 2) ÷ 8 = 25% deviation. Tags below your threshold don’t appear in results.
Key considerations
Requires TrendMiner 2025.R3 or newer for the full feature set
Historical data must cover the golden batch period you want to build from
Document the time zone used when saving searches, results vary by zone
Too narrow a fingerprint = false positives. The refinement step controls breadth
Build one fingerprint per grade, the trigger search isolates the right batches
Event Analytics also offers parallel coordinates and scatter plots for deeper analysis
TrendMiner TrainingAdvanced live session, Golden Batch Profiling
Data Preprocessing: preparing your data for comparable analysis
Clean data before you analyse it. Build static and dynamic filters by product grade, then repair noisy signals three ways a clamp, shifted data, and linear interpolation so your statistics reflect reality.
Real process data is never perfect, there are shutdowns, off-grade campaigns and outliers you don’t want skewing an analysis. This session splits preprocessing into two jobs: filtering out the periods you don’t want, and modifying the signal to repair gaps.
You’ll see static vs dynamic filters by product grade, then three formula-based repair methods you can apply to any noisy tag.
TrendMiner, Advanced training
Clean first, analyse second: Data Preprocessing
Filter out what you don’t want, then repair the gaps that remain.
Data quality
Part 1Filter your data
1
Static (manual) filter, by product grade
Load a product tag and a flow meter. Run a value-based search for Product = Alpha, then use the results menu → Keep results. Everything that isn’t an alpha campaign is greyed out, and the stats recalculate.
Average flow rate jumps 70.3 → 80.2 once non-alpha periods are removed. A static filter is results-based, valid for current results only.
2
Dynamic (search-based) filter, future-proof
Save the same search, then in the filters menu choose New search-based filter. Base it on the saved search and set the mode to filter out everything else. Same visual result, but it’s condition-based, so it works on data you haven’t seen yet.
Any search type can drive a filter, and you can stack several filters and toggle them on/off together.
Part 2Repair the gaps, three methods, one formula
3
Method A, clamp / process value limit
A signal dips to 71–72 occasionally; you want a floor of 77. Build a Tag Builder formula that clamps the value.
Clamp at a minimum
if(P < 77, 77, P)
Condition · value-if-true · value-if-false, same as Excel. The dips flatten to 77 and the average rises.
4
Method B, fill with shifted data
If a gap is really a connectivity loss, fill it with real data from before. Enable time-shift and swap in a shifted copy of the same tag during the dip.
Fill with a time-shifted copy
if(P < 77, P_shifted, P)
Map P_shifted to the same tag with a 3-day time shift (enable time shift when mapping the variable). Match the shift to the outage length, a 3-day outage needs a 3-day shift to fill it cleanly.
5
Method C, linear interpolation
Ignore the dip entirely and draw a straight line between the last good points before and after it.
Interpolate between good points
if(P < 77, sqrt(-1), P)
sqrt(-1) tells TrendMiner to linearly interpolate across the flagged region.
Linear interpolation is the most commonly used method, but pick the one that fits your physics and stay consistent.
Key considerations
Requires TrendMiner 2025.R1 or newer (TM5 demo tags); TM4 tags work on 2023 data
Static filters apply to current results only; dynamic filters apply to future data
Choose “filter out results” vs “filter out everything else” deliberately
The if formula always takes condition · value-if-true · value-if-false
Match a time shift to the real outage duration
Document which repair method you used so analyses stay comparable
TrendMiner TrainingAdvanced live session, Data Preprocessing
Statistical Reporting Tricks: track the danger of climate change
An environmental case study from end to end. Use the integral for totals, formulas to isolate exceedance over a limit, search-based filters to focus on high periods, and Event Analytics scatter plots to trend emissions over time.
Plants increasingly track CO₂ emissions to stay under regulatory limits and cut cost. This session uses an emissions tag to teach three reporting techniques you can reuse for any KPI.
You’ll total emissions with the integral, isolate exceedance over an 80-unit limit with a formula, and build a daily report that trends emissions on a scatter plot.
Total it, isolate the exceedance, then trend it over time.
Sustainability reporting
Exercise 1Total emissions over a period
1
Use the integral as the total
Load the emissions tag and set a three-month window (e.g. Mar 20 → Jun 20). Open the statistics table and read the integral, the area under the curve.
Result: 4,614 lbs CO₂ over three months. Change the focus chart and every statistic, including the integral, recalculates.
Pro tip: the context bar defines your search window, set it, then click it once to mirror the period to the focus chart.
Exercise 2Detect & assess high-emission periods
2
Draw the limit, then isolate the exceedance
The facility limit is 80 units. Create a constant formula to plot it as a red line, then a second formula for how far you exceed it:
Constant limit line
80
Exceedance over the limit
if(emissions > 80, emissions − 80, 0)
Shows 20 when emissions hit 100; zero when you’re compliant.
3
Filter to over-limit periods & average them
Run a value-based search for emissions > 80 lasting ≥ 30 min (97 results), save it, and build a search-based filter set to filter out everything else. The stats table now shows the average emissions while exceeding the limit.
Period average is ~50.5; with the filter on, the average climbs above 80 as expected. Save the view + filter to build a dashboard later.
Exercise 3Daily report & trend over time
4
Search per day with a time tag
Add a TM day time tag for your time zone and set a 30-day window. Run a value-based search for day = constant to split the month into ~30 daily events, then add an integral calculation for daily emissions.
5
Trend it in Event Analytics
Open Event Analytics → Scatter plot with start date on X and daily emissions on Y. TrendMiner draws the line of best fit and correlation coefficient automatically.
A negative trend means emissions are dropping, the same technique works for averages, min or max over time.
Pro tip
Turn this into a live dashboard
Save the view together with the high-emissions filter, then build a DashHub dashboard so the whole team sees current emissions, the limit line and exceedance at a glance. A dashboard-focused session covers this in depth.
Key considerations
The integral assumes the tag’s native time unit, confirm per-day vs per-hour
The context bar period drives the search window, not the focus chart
Set a minimum duration so brief blips don’t flood your results
“Filter out everything else” isolates over-limit periods for averaging
Pick the right time-zone time tag (TM day / TM hour) for reporting
Any calculation, average, min, max, can be trended the same way
TrendMiner TrainingAdvanced live session, Statistical Reporting Tricks
From data points to decisions: Advanced Scatter Plot Analysis
Get more from the scatter plot. Define operating areas to catch heat-exchanger fouling and alert on it, then fit non-linear regressions and draw your own reference curves as live limit bands.
Recent releases gave the scatter plot real analytical muscle: more regression types, drawable reference lines and conditional colouring. This session puts them to work on a heat-exchanger fouling example, where fouling shows up as higher differential pressure at the same flow rate.
You’ll define a clean operating area and monitor for drift, then fit a polynomial regression and draw limit curves to compare data against.
TrendMiner, Advanced training
From data points to decisions: Advanced Scatter Plots
Define operating areas, fit the right curve, and draw your own limit bands.
Bivariate analysis
Exercise 1Operating area analysis, heat-exchanger fouling
1
Load the tags & switch to scatter view
Add three heat-exchanger tags, flow meter (FI), differential pressure (PDI) and valve state (XI). Switch the view type to Scatter and focus on PDI vs flow rate.
Two zones appear immediately: a clean low band and a higher band, the higher one is fouling (more pressure drop for the same flow).
2
Draw the clean operating area
Narrow to a known clean reference period so only the good regime shows. Click Draw Area, outline the cluster, and double-click to close it. That polygon is your “good” envelope.
3
Search outside the area & layer the results
Run an operating-area search set to outside the drawn area for ≥ 12 hours (fouling is slow, this avoids false alarms). TrendMiner finds ~11 instances; add them as layers and switch to multi-layer to see the fouled points sit outside your envelope.
Base layer = cleanSearch layers = fouled
4
Save the search & enable a monitor
Save the operating-area search (e.g. “Heat exchanger fouling”), then enable a monitor with an email action. Now you’re alerted whenever operation drifts outside the clean envelope for 12+ hours.
Exercise 2Regression types & reference curves
5
Fit the right regression
Plot PDI vs valve state over a longer 91-day window. The default linear fit is poor, change the regression type in settings. Pressure drop scales with flow squared, so choose polynomial, degree 2. The curve now tracks the data, with R and R² shown below.
LinearLogarithmicPolynomialPowerExponential
6
Draw reference / limit curves
Like a pump curve, draw upper and lower reference curves directly on the scatter plot so you can see at a glance how operation compares to an expected band, then watch points cross the limits as fouling builds.
Customise layers (base vs all-the-rest), markers (circle, star, triangle…) and conditional colouring by tag value (2025.R3) to keep regimes readable.
Key considerations
Requires TrendMiner 2025.R3 or newer, with data back to at least 2024
For fouling, plot differential pressure vs flow rate, the classic signature
Set a long minimum duration (12 h) so brief excursions don’t trigger alerts
Match the regression to the physics, pressure drop ∝ flow² → polynomial degree 2
Use multi-layer mode to see search results against the base layer
Conditional colouring and custom markers make crowded plots readable
TrendMiner TrainingAdvanced live session, Scatter Plot Analysis
Go beyond the basic value-based search. Understand how TrendMiner indexes your data, catch spikes shorter than the search resolution, bound an event between a minimum and maximum duration, and combine AND/OR conditions three different ways.
This session starts with the foundation every power user needs: how TrendMiner indexes data. Because searches run on indexed data, not raw, the search engine can only reliably return events that fill at least one one-minute indexing window. That single fact explains the workarounds in all three exercises.
From there you’ll work three hands-on exercises: finding spikes too short for a normal search, bounding event duration between two limits with Event Analytics, and combining AND/OR logic three different ways, as one search, with a filter, and with a formula.
TrendMiner, Advanced training
Value-Based Searches: Tips & Tricks
Index-aware searching, short peaks, duration windows, and AND/OR logic.
Search & event analytics
BackgroundHow TrendMiner indexes your data
1
Raw data becomes indexed data
Your historian (PI, Honeywell, …) stores dense raw data, sometimes a point every 0.1 s. TrendMiner doesn’t store every point; it indexes in one-minute windows, keeping up to four points per window: the start, the end, the maximum and the minimum.
If the max and min happen to be the start/end points, a window stores only two points. This compression is what lets searches and calculations run so fast.
2
The 2-minute rule for search results
Searches are performed on indexed data, so an event is only found when it fully covers at least one indexing window. Results are guaranteed complete only for events longer than 2 minutes. A 1-minute event might be caught, but many are overlooked.
1 min, mid-window → missedCovers a full window → found> 2 min → always complete
Exercise 1Find peaks shorter than the search duration
3
The problem: a spike too short to search
An important variable spikes intermittently, say a peak above 6 that lasts only a few seconds. A normal value-based search (> 6) returns no results, because the event never fills a one-minute window.
4
The fix: stretch the spike with an aggregation
In Tag Builder, create an aggregation on the tag. Use a maximum aggregation to catch upward spikes (a minimum aggregation for downward dips). The aggregation holds the peak value across its whole window, lengthening a 5-second spike into a searchable block. Then run the value-based search on the new aggregated tag.
Pro tip: the aggregation window must be at least the search’s minimum duration (e.g. 2 min). In the demo, a 2-minute max aggregation turned 6 invisible spikes into 6 clean search hits.
If spikes occur very close together, two can fall inside one aggregation window and merge, so the hit count can be lower than the true number of spikes.
Exercise 2Search for a duration from X to Y hours
5
Run the base search with a minimum duration
Load TM-HEX-FI0620, set the context bar (e.g. 1 Apr → 1 Jun) and a 7-day focus chart. Start a value-based search for the flow rate > 20 with a minimum duration of 2 hours. This returns 25 results, but with no upper bound on length.
6
Add a maximum duration with Event Analytics
Sort the results by duration. Then Actions → Event Analytics and set a duration limit of 2 to 5 hours. Click Apply Refinements, the list narrows to 7 of the original 25, all falling inside the band.
Event Analytics can also refine by start and end date, stack duration and date filters together to zero in on a specific period.
Exercise 3Combine AND & OR conditions, three ways
7
Option 1, one combined search (recommended)
The goal: pressure > 20 while producing Beta or Gamma. Load TM-BP2-PRODUCT.1 and TM-BP2-PRESSURE.1. In a single value-based search, set Product = Beta, Gamma and Pressure > 20 with a 45-minute minimum duration → 95 results.
Least effort, fewest clicks. Selecting two products in one condition is the OR; adding the pressure condition is the AND.
8
Option 2, filter, then search
Search Pressure > 20 first (187 results), then keep those results as a filter. With the data filtered to high-pressure periods, run a second search for Product = Beta OR Gamma (45-min minimum) → the same 95 results.
9
Option 3, a Tag Builder formula
Clear any unsaved filter. In Tag Builder, create a formula that returns 1 when both conditions hold, then run a value-based search for Formula = 1 (45-min minimum) → again 95 results.
Mastering Tag Types: Tips, Tricks & Hands-On Exercises
Know the four tag types and how TrendMiner interpolates each, then put them to work. Convert string tags to stepped numeric tags with a formula trick, use string values inside formulas, and turn built-in time/date tags into an automated weekly KPI reminder.
This session starts with the four tag types TrendMiner supports, analog, discrete, digital and string, and how each is interpolated. That foundation matters because formulas always output analog (linearly interpolated) tags, which is rarely what you want when the source is a product name or a recipe state.
Three exercises follow: a formula trick that forces a stepped output, using a string value inside an if formula, and building an automated weekly KPI email with TrendMiner’s built-in time/date tags.
TrendMiner, Advanced training
Mastering Tag Types: Tips, Tricks & Exercises
Tag types, the stepped-formula trick, strings in formulas, and time/date tags.
Tag Builder & formulas
BackgroundThe four tag types in TrendMiner
1
Know your type, and how it interpolates
Every tag is one of four types. The type decides how TrendMiner draws between points, and that’s the whole reason the formula trick in Exercise 1 exists.
ANALOGNumerical measurements, temperature, pressure, flow rate. Many close data points.Linear
DISCRETENumerical, but holds value until it changes, controller set points, lab values.Stepped
DIGITALString values from a fixed, enumerated set, phases, product names, synced to numbers.Stepped
STRINGAny free string, no fixed set and no numeric value, batch IDs, free text.Stepped
Exercise 1Create a stepped formula tag from a string tag
2
Map the tag, and see the problem
Load TM4-BP2-PRODUCT.1 (a string product tag), set the context bar (1 Jan → 11 Feb 2023) and a 1-day focus chart. In Tag Builder, create a formula product mapped one-to-one. The string values do become numeric, but the result is drawn interpolated (diagonal lines), not stepped.
Formulas always output an analog tag, and analog means linear interpolation, that’s why a clean step tag comes out looking like sawtooth diagonals.
3
The trick: add a zero-weighted shifted term
Edit the formula to add a second term that contributes nothing to the value but inserts the extra data points TrendMiner needs to render steps:
Stepped-output formula
product + 0 * product_shifted
Map product and product_shifted to TM4-BP2-PRODUCT.1, with product_shifted time-shifted by −1 second. Save and overwrite, the tag is now a clean stepped numeric version.
Pro tip:0 * …_shifted works to step any string, discrete or digital tag. Because it’s multiplied by zero it never changes the underlying values.
Exercise 2Use string tags inside formulas
4
Show quality only during one product
Goal: display the discrete quality tag only while Product = ALPHA, and 0 for every other product. Load TM4-BP2-PRODUCT.1 and TM4-BP2-QUAL.1, set the context bar and a 12-hour focus chart, then build one formula that combines the if test with the same stepping trick:
Map product & quality to their tags, and product_shifted / quality_shifted to the same tags shifted −1 s. String comparison needs quotes: "ALPHA".
Pro tip: quoted comparisons like state, product or recipe work for string, discrete and digital tags. Drop the shifted term and the output reverts to jagged interpolation.
Exercise 3Weekly KPIs with time/date tags
5
Build a live 7-day KPI view
TrendMiner ships built-in time/date tags (from 2021.R1): TM_hour, TM_day, TM_month, TM_year. Each time zone has its own tag set, e.g. a Brussels and a US Central variant, so pick the set matching your site. Load three process tags of your choice, e.g. a concentration, a level and a temperature, plus TM_day and TM_hour for your time zone. Enable Live mode, lock the focus chart to a 7-day span, and save the view as “Weekly KPIs”.
6
Search for “Monday at 9 a.m.”
Create a value-based search with two conditions, TM_day = MondayandTM_hour = 9, and save it as “Reminder Monday”. This is the trigger your monitor will fire on.
TM_day = MondayTM_hour = 9
7
Monitor → email reminder with a live link
Copy a shareable link to the Weekly KPIs view. Then create a monitor on the “Reminder Monday” search, choose Send email message, and paste the link into the message. Enable it, every Monday 9 a.m. you get an email that opens straight into your live KPI view.
Open the view, hide the day/hour tags, and read averages, range, min and max straight from the Statistics table. Time/date tags can also be used inside formulas for hourly/daily reports.
Key considerations
Time/date tags require TrendMiner 2021.R1 or newer and ship with the software
Each time zone has its own tag set, pick the one matching your site
Formulas always output analog tags; the shifted-term trick restores stepping
The shift is −1 second and zero-weighted, so values are never altered
String comparisons in formulas must be quoted, e.g. "ALPHA"
Live mode + a locked 7-day window gives a continuously moving KPI view
TrendMiner TrainingAdvanced live session, Mastering Tag Types
Event Analytics in Action: Gain Deeper Process Insights
Turn search results into insight. Run calculations across every event, then explore them with histograms, parallel coordinates and scatter plots, to find the root cause of a bad batch, and the hidden correlations in a continuous process.
An event in TrendMiner is just a search result, a batch, a shutdown, a phase, any period above a threshold. Event Analytics runs aggregations across all of those results at once and lets you explore them visually, so patterns that are invisible in a single trend jump out across hundreds of events.
After a tour of the four visualizations, the session works two real cases: a root-cause analysis of low-quality batches, and a continuous heat-exchanger process split into hourly intervals to surface correlations.
TrendMiner, Advanced training
Event Analytics in Action: Gain Deeper Process Insights
Calculations across events, four visualizations, two real use cases.
Search calculations & visualization
BackgroundWhat Event Analytics is, and its four views
1
From search results to insight
An event is a search result or context item, a batch, a shutdown, a cleaning phase, a threshold crossing. Event Analytics runs aggregations across all results and offers four ways to explore them:
Table
Every event as a row of KPIs. Start, end and duration shown by default; toggle columns via the settings cog.
Histograms
The distribution of each KPI. Drag to select a range, the selection highlights across all other histograms.
Parallel coordinates
Each line is one event crossing every KPI axis. Refine on any axis; color the lines by a string value.
Scatter
Bivariate relationships between KPIs, with an automatic R value and least-squares best-fit line.
Built up over recent releases: search refinements (2023.R1), parallel coordinates (2024.R1), scatter (2024.R3), and the table view (2024.R3.1).
Exercise 1 · BatchRoot-cause analysis of low batch quality
2
Isolate the batches
A batch process makes several products; some Alpha batches come out low quality and no one knows why. Load the five TM4-BP2-*.1 tags (product, level, concentration, pressure, quality), set the context bar (1 Jan → 11 Feb 2023). Run a value-based search: Product = Alpha AND Level > 20, minimum duration 30 min → 160 batches.
3
Add three KPIs to every batch
In the search panel, Add calculation three times, each runs across all 160 results:
Max quality → outcomePressure range → stabilityAvg concentration → context
4
Find the root cause in Event Analytics
Open Actions → Event Analytics. In the histograms, a quality below 9 g/L marks a bad batch, drag-select that low range. The selection highlights everywhere: the bad batches cluster at the high end of pressure range and the low end of concentration. In the parallel coordinates plot the same low-quality lines tie clearly to a wide pressure range.
Root cause: wide pressure swings. Concentration tracks quality too, but it’s hard to control directly, pressure range is the actionable lever to hand back to operations.
Pro tip: add a 4th calculation, the start value of the product tag, then Color by that string in the parallel coordinates plot to separate Alpha, Beta, Delta… at a glance. Save the view & search when done.
Exercise 2 · ContinuousSplit a heat exchanger into hourly intervals
5
Cut the month into hours
Load the TM_hour time tag for your zone plus three heat-exchanger tags, FI0620 (flow), PDI0620 (pressure differential), XI0620 (valve state). Set context and focus to all of April 2023. Run a value-based search on TM_hour = constant with a 59-minute minimum duration, that returns every full hour as its own event.
6
One KPI per hour, four ways
Add four calculations across the hourly events:
Max flow rateFlow throughput (integral)Max pressure dropValve range
7
Read the correlations off the scatter plot
In Event Analytics → Scatter, each dot is one hour. Max flow and throughput correlate strongly (both come from the flow tag). Max flow vs. max pressure drop shows a clear non-linear, squared relationship, exactly what process physics predicts for flow vs. ΔP. Save the view & search.
The scatter view prints the R value and a best-fit line per pair, a fast way to confirm which KPIs move together before digging deeper.
Key considerations
Requires TrendMiner 2024.R1 or newer; demo data reaches back to 2023
Calculations run across the whole result set, pick aggregations that map to a KPI
Histogram refinements highlight across every view, not just the one you drag
Parallel coordinates can be colored by a string tag (product, state, recipe)
The TM_hour tag (and day/month/year) splits continuous data into even intervals
Scatter auto-reports R and a best-fit line, watch for non-linear shapes too
TrendMiner TrainingAdvanced live session, Event Analytics in Action
Two live sessions on building dashboards your team checks every day. Start with a control center for a reactor, then take it further with the newest tiles, sharing with user groups and mobile dashboards.
Advanced2 sessions2 hr2024.R2+
About this series
Both sessions build the same live reactor dashboard, “Reactor 403”, but each uses different tiles. Session 1 lays the foundation: a Gantt chart of anomalies, a monitor alert, current values and trends. Session 2 goes further with statistics tables, gauges, external content, sharing with user groups and mobile dashboards.
Take them in order, or start with Session 2 if you already build dashboards. Each opens its own page with the recording and a step-by-step infographic.
Build a live operations dashboard from scratch. Combine a Gantt chart of anomalies, a monitor alert, current values, trends and a scatter plot into one control center your team checks every morning.
A dashboard in TrendMiner is assembled from tiles, and this session builds a reactor control center one tile at a time.
You add a Gantt chart of high-flow anomalies, a monitor/alert status, a current-value panel with conditional formatting, and trend + scatter tiles, finishing with a full, live-updating dashboard.
TrendMiner, Advanced training
DashHub: Create a Control Center
Build a live dashboard one tile at a time.
Dashboards & tiles
BackgroundDashboards are built from tiles
1
Eight tile types, one control center
Every dashboard is a grid of tiles. This session builds four of them; four more round out the toolkit:
TrendHub view
A saved trend or scatter view, live on the dashboard. Since 2025.R3 it can also show as a statistics table, see Session 2.
Current value
Live tag values with conditional formatting and a mini trend.
Monitor / Alert
Triggered / not-triggered status from a saved monitor.
Context view
Events as a Gantt, table, counter or scatter.
Text
Headings and notes, with embeddable links, to structure the board.
External content
Embed a P&ID, diagram or other allowed web content, built in Session 2.
Gauge
One value against a target and colored ranges (2025.R3), built in Session 2.
Notebook output
A custom chart or visual published from a notebook.
Exercise 0Simulate live data
2
Shift history into the present
The training tags only hold historical data, so there’s nothing “live” to dashboard. Load three reactor tags, TM4-TSP-FI1056 (feed flow), *TI121518* (cooling water temp), *TI22114* (reactor temp), searching with the asterisk wildcards. For each, build a formula that maps the tag and shifts it forward 2Y 6M (910 days) into the present, saved as …_shifted_username.
Then set the focus chart to the last 10 weeks, close the timespan lock, enable Live mode, remove the original tags, and save the view as “Reactor 403”. You now have a moving, live-updating window.
Exercise 1Context view Gantt chart → first tile
3
Find anomalies, save them as context items
The flow rate can spike from valve or sensor issues. Run a value-based search for the shifted flow tag > 0.4 with a 1-hour minimum → 6 events. Save it as “High flow events in reactor 403”, then use Add as context item on all six, component = the flow tag, type = Anomaly, description = “High flow events”.
4
Gantt it, then drop it on a new dashboard
In ContextHub, start a view, filter to the last 10 weeks and the shifted component, and switch the visualization to Gantt chart; save with live mode on. Then open DashHub, start a new dashboard, add a Context view tile pointed at that view, display it as Gantt, and save the dashboard as “Reactor 403”.
The same context view can be shown as a counter, table, Gantt or scatter, change it in “Display as”, or add four tiles to see all at once. Conditional formatting is available since 2023.R3.
Exercise 2Monitor / Alert tile
5
Turn the saved search into a live status
From the Monitoring menu, enable a new monitor based on the saved “High flow events in reactor 403” search. Back on the dashboard, add a Monitor / Alert tile, select that monitor, and define the states: triggered = High flow, not triggered = Normal flow. Save.
A monitor is always linked to a saved search or fingerprint, save the search first. Selecting a monitor shows its last 50 triggered events.
Exercise 3Current value tile
6
Live values with conditional formatting
Add a Current value tile titled “Main variables” with the three shifted tags, then set color rules so out-of-range readings stand out at a glance:
Set the mini-trend span to 8 hours (the maximum). Live mode shows when each value last updated; the graph can be toggled off to show just the number.
Exercise 4TrendHub view tile, trend & scatter
7
Add the trends and a correlation scatter
Open the “Reactor 403” view, hide the flow tag, switch the chart type to scatter plot, and save it as “Reactor 403 scatter plot”. In DashHub, add two TrendHub view tiles, the stacked trend (“Process conditions”) and the scatter (“Reactor temp vs. Cooling temp”), resize, and save with live mode on.
Pro tip: a global time frame (1H, 8H, 7D, 30D, shifts…) re-times every TrendHub and context tile at once. Presentation mode hides the toolbars; since 2025.R2 you can share a dashboard with write permission.
Key considerations
Requires TrendMiner 2024.R2 or newer; demo data reaches back to 2023
Live mode + a locked timespan gives every tile a continuously moving window
Monitors and tiles depend on saved searches/views, save before you reference
Current-value mini-trends cap at an 8-hour span
External content tiles need the domain allow-listed in ConfigHub by an admin
A global time frame re-times all TrendHub and context view tiles together
TrendMiner TrainingDashHub, Session 1: Create a Control Center
Take Your Dashboards Further: What’s New in DashHub
Build a live reactor dashboard with the newest tiles, a statistics table, a gauge and external content, then share it with user groups and open it on your phone.
DashHub has gained a lot over the last few releases: read/write sharing (2025.R2), the gauge tile, a statistics-table display mode and sharing with user groups (2025.R3), and mobile dashboards (2026.R2). This session puts the new tiles to work on a reactor dashboard.
You build the dashboard one tile at a time: trend, scatter and statistics table, current value and gauge, and a process flow diagram as external content.
TrendMiner, Advanced training
Take your dashboards further
The newest DashHub tiles, sharing options and mobile dashboards, on one live reactor dashboard.
What’s new in DashHub
BackgroundRecent DashHub releases
1
What’s new, release by release
The exercises put the new tiles to work; sharing and mobile dashboards are covered at the end.
2025.R2
Sharing with read/write permission
2025.R3
Gauge tile, statistics-table display mode, and sharing with user groups
2026.R2
Mobile dashboards, with QR codes that open a dashboard on your phone
Print a dashboard’s QR code for the control room or tape it to a piece of equipment, so anyone can scan it and check the unit from their phone.
Exercise 0Simulate live data
2
Load the demo tags & find their data
The public training tags only hold historical data, so shift them into the present first. Load TM5-TSP-FI1056 (feed flow), TM5-TSP-TI121518 (cooling water temperature) and TM5-TSP-TI22114 (reactor temperature); searching TM5-TSP* finds all three. Set a custom context chart from 01/01/2024 to 10/01/2026, then click the context chart once to mirror that period in the focus chart.
3
Shift history into the present
In Tag Builder → Formula, create a formula x, map it to TM5-TSP-FI1056 and enable time shift: 910 days (about 2Y 6M). Save it as TM5-TSP-FI1056_shifted_username, repeat for the other two tags, then remove the original tags.
Set the context chart from 06/29/2026 to now and the focus chart to the last 10 weeks (70 days). Enable Live mode, close the timespan lock, and save the view as “Reactor 403”.
Open “Reactor 403”, hide TM5-TSP-FI1056_shifted* and change the chart type from stacked trend to Scatter. Open the statistics table and, under the gear icon → Statistics table settings, keep only the operators you need, e.g. average, standard deviation, min, max and integral. With live mode on, save as “Reactor 403 scatter plot”.
A TrendHub view tile shows a view the way it was saved: save it as a scatter plot and it appears on the dashboard as one. Since 2025.R3 you can also colour single-layer scatter plots by a third tag, see Advanced Scatter Plot Analysis.
5
Build three tiles from two views
Open DashHub from the hub switcher and start a new dashboard. Add a TrendHub view tile for “Reactor 403” and one for “Reactor 403 scatter plot” displayed as Plot. Then Duplicate the scatter tile from its options menu and set Display as → Statistics table. Turn on live mode and save the dashboard as “Reactor 403”.
TrendScatter plotStatistics table, new in 2025.R3
Pro tip: the time frame button in DashHub’s top bar (1H, 8H, 7D, 30D, Today, Shift…) re-times every TrendHub and Context view tile at once, statistics tables included. Presentation mode hides the toolbars.
Exercise 2Current value & gauge tiles
6
Current value tile with conditional formatting
Add a Current value tile titled “Main variables” with the three shifted tags (search TM5-TSP* plus your initials). Set an 8-hour graph span and colour rules so out-of-range readings stand out:
Flow > 0.3 → redCooling water temp < 105 → orangeReactor temp > 123 → red
Give each rule a label, such as “Bad” or “OK”, and use the chosen colours as the tile background for a stronger signal. 8 hours is the maximum graph span; switch the graph off to show only the value.
7
Gauge tile with a target and ranges
Add a Gauge tile titled “Reactor flow” for TM5-TSP-FI1056_shifted*, displayed as Angular. Set minimum 0, maximum 1 and target 0.25, then add two ranges: 0.2–0.3 green and 0.3–1 red. Save the dashboard.
Current value or gauge? Use current value for a precise number with a short trend. Use a gauge for an instant read against a target or range, ideal for control-room screens.
Exercise 3External content tile
8
Show the process flow diagram
Add an External content tile and click its info button to see which domains are allowed, for example SharePoint, Teams or YouTube. Upload your PFD to SharePoint, copy its embed link, paste it into the tile and title it “PFD”. Save the dashboard.
Domain not on the list? Ask your admin to allow-list it in ConfigHub.
Text tiles add structure: use them as section headings or for short instructions to viewers.
ShareSharing & permissions
9
Share with users or whole groups
Share a dashboard with individual users or, since 2025.R3, with entire user groups (an admin creates them in ConfigHub under Security → Groups). Then choose the permission level:
Read
Open and use the dashboard; changes are saved as the recipient’s own copy.
Write, 2025.R2
Save changes to the original, but not share it further or delete it.
Manage, 2025.R4
Also share with more users or groups, and delete it. Use with care.
Key considerations
Requires TrendMiner 2025.R3 or newer, with data back to at least 01.01.2024 (click “ALL”)
Save a view before you reference it, tiles only point to saved views
A TrendHub view tile keeps the chart type the view was saved with
Current-value graphs cap at an 8-hour span
External content needs the domain allow-listed in ConfigHub
Mobile dashboards (2026.R2) open straight from a printed QR code
Build a daily-production KPI that the historian never gave you, four ways, from a rolling total to a clean stepped tag, then wire up shift reports that export themselves to HTML at every changeover.
Daily production is a make-or-break KPI for a continuous process, yet historians rarely store it directly. This session shows four ways to compute it from a flow meter, a rolling 24-hour total, daily peaks, a linear-interpolated line, and the one most people actually want: a clean stepped tag that holds each day’s value.
The second half turns reporting into plumbing: a monitor fires at each shift change, creates an “Info” context item, and that triggers a dashboard to export itself as an HTML report, attached automatically for the next shift to read.
TrendMiner, Advanced training
Daily Production & Automatic Reporting
Four daily-production tags, then self-exporting shift reports.
Tag Builder & reporting
Exercise 1Daily production, four ways
1
1.A, The rolling 24-hour base (aggregation)
Load TM4-HEX-FI0620 (heat-exchanger flow) and the TM_day tag for your zone; set context & focus to a 7-day window (16→23 May 2023), save the view as “Production view”. In Tag Builder, create an aggregation:
Operator: IntegralPer hour · Backward · 24 h
The integral (area under a per-hour flow curve) gives totalized throughput. Save as Rolling_prod_24h, a smooth curve that every other variant builds on.
2
1.B, Daily peaks & 1.C, interpolated
One formula gives both. It shows the value only when the day changes, and 0 (peaks) or an interpolated line in between, detected by comparing the day tag to a copy of itself shifted 1 second:
Peaks (1.B) → swap the 0 for sqrt(-1) to interpolate (1.C)
if(day1 <> day2, rolling_prod, 0)
day1 = TM_day, day2 = TM_day shifted 1 s, rolling_prod = Rolling_prod_24h. Save as Peaks_prod_24h; the sqrt(-1) version as Interp_prod_24h.
<> means “not equal”. The two day tags match everywhere except the one second at midnight, that mismatch is how TrendMiner knows a new day began.
3
1.D, The stepped tag (the one you want)
A discrete-looking tag that holds each day’s production as a flat step. It nests two day-change tests around three time-shifted day tags (a, b, c) and two shifted copies of the rolling aggregation:
AGG_1Rolling_prod_24h, value at the new day’s start−23h 59m 59s
AGG_2Rolling_prod_24h, same value at the day’s end−1s
First test fires when the day just changed (a≠b, b=c); the second when it’s about to change (a=b, b≠c). Both points carry the same value, so sqrt(-1) draws a flat line between them, a clean daily step.
4
Know the limits
Two constraints shape how you build these: you can’t nest one aggregation inside another, and you can’t mix an aggregation and a formula in the same tag. That’s exactly why the rolling aggregation (1.A) is built first and then referenced by the formulas, never recomputed inside them.
Exercise 2Autogenerated shift reports
5
The pipeline: create → export → attach
The goal is one self-made HTML file per shift. The chain is fully automatic:
1 · Shift change creates an “Info” item2 · That triggers a dashboard export3 · HTML attaches to the item
6
Wire up the trigger and the shift clock
Start from a dashboard whose ContextHub tiles show the last 8 hours. In ContextHub → Admin platform configuration → Context item types → Information, set up a dashboard trigger pointing at that dashboard. Then detect shift changes with the hour tag:
Value-based search, “Shift detection”
TM_hour = 6 OR TM_hour = 14 OR TM_hour = 22
Enable a monitor on this search with action Create context item, component TM_hour, type Information. Now every 8 hours an Info item is born and fires the export.
7
Surface the reports & read them
Create a ContextHub view filtered to the last day, your username, component TM_hour, type Information; save it as “Shift report” and add it to the dashboard as a Gantt chart. Open any Info context item → Attachments to find its auto-generated HTML, the shift’s batches and high-temperature events, laid out as a report.
Pro tip: attach multiple dashboards to one item, and add a “meeting log” ContextHub view whose context fields capture shift notes, they’ll appear in the report too. Report times are in UTC.
Key considerations
Requires TrendMiner 2024.R1 or newer; demo data reaches back to 2023
Build the rolling aggregation once, then reference it from every formula
Aggregations can’t be nested, and can’t be mixed with formulas in one tag
A 1-second day-tag shift is what marks midnight; sqrt(-1) interpolates the gaps
The auto-report only includes context items and their context-field information
Exported report timestamps are in UTC, regardless of your view’s time zone
TrendMiner TrainingAdvanced live session, Daily Production & Reporting
Bring outside data into TrendMiner. Format and import time-series data from an Excel file, then import contextual events, batches with start/end dates and lab results, so you can analyze data the historian never captured.
Not all your data lives in the historian. This session shows how to get the rest of it into TrendMiner, straight from Excel. It covers the two kinds of import: time-series data, where one timestamp becomes one data point, and contextual data, where one row becomes a whole event with a start, an end and properties.
The recurring theme is formatting: get the timestamp pattern and the CSV structure right, declare the tag (or context) types, and the upload just works. Get them wrong and the import fails, so most of the work happens in the spreadsheet.
TrendMiner, Advanced training
Data Importing: Everything You Need to Know
Time-series and contextual data, from Excel into TrendMiner.
Tag Builder & ContextHub import
Exercise 1Import time-series data, 1 timestamp, 1 point
1
Format the Excel file
Start from the example CSV in Tag Builder → Data Import (the ? button also holds the full documentation). The structure: row 1 tag names, then optional description and units rows, and a tag type, only the tag name and tag type are mandatory. The make-or-break detail is the timestamp:
Required timestamp format
yyyy-MM-ddThh:mm:ss+01:00
Build it in Excel by concatenating the date, a literal T, the time, and your UTC offset (e.g. -05:00 for US Central). When moving values between sheets, use Copy → Paste Values so formulas don’t travel with them.
ANALOG
Numerical, linear interpolation, temperature, pressure, flow.
DISCRETE
Numerical, stepwise, holds until the next point (lab values).
Few states, often as discrete/string, pump ON/OFF.
2
Save as CSV, import in Tag Builder, verify
Save the sheet as a comma-delimited CSV (e.g. Imported_data.csv). In TrendHub → Tag Builder → Data Import, select the file and import, a success notice appears bottom-right. Add the tags to the focus chart and navigate to the data’s time period to confirm the times and values match the original.
Common mistakes: wrong file format (must be comma-delimited CSV), a tag name that already exists (don’t delete the old tag, rename yours, e.g. add your initials), and a malformed timestamp or time zone.
Exercise 2Import contextual data, 1 event, 1 element
3
Define the context type & fields (admin)
Contextual rows become events, batches with a start, an end and lab results from your MES/LIMS. First, in ContextHub settings (admin rights required), create the context item type — “Powder Pro Batch” — and its fields: Assay, Batch ID, Color, Grade. Then link the fields to the type.
Format the Excel with the event columns, Description, Type, Keywords, States & Timestamps, Property type, Property value, and save as Imported_events.csv. In ContextHub → Context Item Import, choose a component to attach the events to (e.g. Conductivity_EN), select the CSV and import.
ContextHub has its own downloadable example file too, same idea as Tag Builder’s. Events that have only a date still need a time; midnight (00:00) is fine.
5
Verify, then go beyond
Open a ContextHub view, set the time frame to the data’s period, and filter by type, component and the fields you want as columns, view as a table or Gantt to confirm every batch and its lab values came in. The same imported events then unlock three power moves:
Scatter on field pairsFilter by field (color > 110)Visualize in its time frame
Key considerations
Requires TrendMiner 2023.R1 or newer; demo data reaches back to 2019
Both imports are comma-delimited CSV, start from the built-in example file
Timestamps must follow yyyy-MM-ddThh:mm:ss+offset with the right time zone
Imported tags are shared server-wide, add initials to avoid clashes with colleagues
Contextual import requires admin rights to define types and fields first
Context events attach to a component (tag) and need start/end timestamps
TrendMiner TrainingAdvanced live session, Data Importing