I have been working on an Ignition Report that pulls data from a UDT that I have set up. I have many OPC Tags that are pulling from a PLC, but in my table in the report, I only need it to output a row when one of those OPC tags changes. Right now, it's outputting if any of them change. I've looked into aggregation modes, but none of them seem to work. Is there a way to utilize scripting to output a dataset if only one OPC tag changes?
No, the tag historian system doesn't have any mechanism to correlate values of tags with values or changes in other tags. That is normally done when recording, with wide tables that capture all relevant data at the desired triggers, so that the report simply pulls that data from the DB.
If you must use the historian for this, you will need to post-process the datasets to identify the rows where changes show up in the appropriate columns. You can use a scripted data source in reporting to generate the new dataset.
(In a user interface, you could use the very new lag() function from my Integration Toolkit, combined with its where()
function, to locate the rows. Unfortunately, the reporting module doesn't have an expression function data source.)