Hello everyone,
I’m currently working on a Development Practice Test and need guidance on implementing a specific Ignition Report requirement. I’ve gone through the Reporting module documentation, but I’m struggling with the dynamic behavior expected in this task.
Requirement Details
I need to create a report that analyzes motor “amps” historical tag data with the following conditions:
The end date/time of the report should always be the current time.
The start date/time should be user-selectable.
The report should display a dynamic number of time series charts.
Only motors that are currently running should be included.
A motor is considered running if its HOA tag value = 1.
This HOA condition should be evaluated at the time the report is executed.
Each included motor should display its amps historical tag trend.
Current Setup
Motors are configured as UDTs
Each motor has:
amps tag (historical enabled)
HOA tag (0/1)
Motors are located under a common tag folder
Using the Ignition Reporting module
Tag history provider is already configured and working
Challenges / Questions
I’m looking for best practices or examples for the following:
Filtering motors dynamically
How can I filter motors based on the current value of the HOA tag when the report runs?
Should this be done using:
A Named Query?
A scripting data source?
A parameterized Tag History query?
Dynamic number of charts
What is the recommended way to generate a variable number of time series plots based on how many motors meet the HOA = 1 condition?
Is this typically handled using:
Data keys + Table Groups?
One chart per motor using dynamic sub-reports?
Or a single chart with multiple dynamic pens?
Evaluating “current” HOA value
Since the amps data is historical but the HOA condition is real-time, what is the correct approach to:
Read the current HOA value
Then use that result to decide which tag history paths to include in the report?
Start date selection
Is it best practice to expose the start date as a report parameter, while keeping the end date bound to now()?
Goal
My goal is to build this report in a clean, scalable way that aligns with Ignition best practices and would be acceptable in a real-world project or certification-style assessment.
Any examples, screenshots, documentation references, or explanations would be greatly appreciated.
Thanks in advance for your help!