Report set in 30-minute increments

Hello I am looking to be able to have a report that takes a tags data every 30 minutes and makes a report such as this one shown below.

I am very new to all of this and have struggled to get as far as getting what is shown below. I have a SQLExpress server set up that is connected to ignition, tags that are set up to collect history data, and a tag history query set up in the report. I know that I am probably missing something quite obvious, thank you for your help!

On the Data tab for your historian query you should be able to adjust the sample Size to 'Interval' and then however many minutes you want. Otherwise I think it queries 1/second by default. The only thing you might want to make sure is that the parameters you pass in start at one of those intervals(x:00,x:30) though otherwise it will start the 30 min steps from the current time.

1 Like

Thank you very much. Do you know how I would be able to get the time stamp on the left to be recorded in time with the interval?

Use transaction groups to record whole database rows, using a schedule. The tag historian does not do what you want, I suspect.


I see that the transaction groups have the typical time stamp, it does the date just fine, but can you also record the time?

The typical timestamp is current date and time to millisecond resolution.

Ignition and your database will, by default, use a timestamp with full date and time, as Phil says, down to the millisecond. Furthermore, it will store the timestamp in UTC without local timezone or daylight savings offsets. On retrieval Ignition will get the timestamp as a DateTime (or whatever it's called) type and convert it to the timezone of the client using the format of your choice.

Make sure that you save timestamps as the correct datatype and keep them as timestamps until the last moment before rendering them. i.e. Don't convert them to strings along the way!


You can manipulate the StartDate a bit with expressions to get a parameter with the starting hour time using an expression similar to below. Its not the nicest expression, but gets the job done. You will have to pick an aggregate mode that is meets your needs whether its an average value or the closest sample though

dateArithmetic(midnight({StartDate}), getHour12({StartDate}), 'hr')

I do agree that Transaction groups could be beneficial if you need the precision, but if you aren't looking to switch and you can find an aggregate mode that gets you close, this should get you closer in the current configuration.

In the transaction group it shows that the timestamp is stored into "t_stamp" and I see that it does include the time, but when I go to use it in my report, it only shows the date.


Thank you for all your help so far

I tried grabbing the data from the transaction group in 2 different ways, but the end result is the same


In the Property Inspector click the Properies tab, then scroll down to Date Format.


Thank you so much! This was what I was missing