# Report set in 30-minute increments

**URL:** <https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351>\
**Category:** Ignition\
**Created:** [August 24, 2023, 6:55pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351 "2023-08-24T18:55:56Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 24, 2023, 6:55pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/1 "2023-08-24T18:55:56Z")

</div>

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.

 ![0](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/9/29e2f785c29e10d5454017e8cc915c27be219e08.jpeg)

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!

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/6/e6ab930784b709029fe32f3fa1018c17ef0bab3b.png)

---

<div class="post-metadata">

**Author:** ![grietveld](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/grietveld/32/6984_2.png) [@grietveld](https://forum.inductiveautomation.com/u/grietveld)\
**Post date:** [August 24, 2023, 7:24pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/2 "2023-08-24T19:24:34Z")

</div>

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.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/a/2a0f0437e8229b64845ae87678044857ace7fc50.png)

---

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 24, 2023, 7:53pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/3 "2023-08-24T19:53:39Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 24, 2023, 8:01pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/4 "2023-08-24T20:01:46Z")

</div>

> [@Carson\_Hunter](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 24, 2023, 8:10pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/5 "2023-08-24T20:10:10Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 24, 2023, 8:12pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/6 "2023-08-24T20:12:53Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [August 24, 2023, 11:12pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/7 "2023-08-24T23:12:41Z")

</div>

> [@Carson\_Hunter](#):
>
> I see that the transaction groups have the typical time stamp

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!

---

<div class="post-metadata">

**Author:** ![grietveld](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/grietveld/32/6984_2.png) [@grietveld](https://forum.inductiveautomation.com/u/grietveld)\
**Post date:** [August 25, 2023, 12:47pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/8 "2023-08-25T12:47:31Z")

</div>

> [@Carson\_Hunter](#):
>
> Thank you very much. Do you know how I w

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

```auto
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.

---

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 30, 2023, 12:07pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/9 "2023-08-30T12:07:14Z")

</div>

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/6/d686a11e74e8a77d236f62da3ee1370ddcaad2c1.png)

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.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/a/2a59ee8bc1f490271a9c7f9a1131f3877d77ca0f.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/a/7a5b477a02a95183d4d6a40287ff3d89c4ce8962.png)

Thank you for all your help so far

---

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 30, 2023, 12:09pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/10 "2023-08-30T12:09:03Z")

</div>

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

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/1/216084403807f251ee763891cde3db2157a2535b.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/9/b9d624a2f13e6771e96e01fb07108e2b71d4822f.png)

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [August 30, 2023, 1:20pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/11 "2023-08-30T13:20:48Z")

</div>

In the Property Inspector click the Properies tab, then scroll down to Date Format.  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/e/beffc74d8d71715e5b5312eaa6ca3341548207ed.png)

---

<div class="post-metadata">

**Author:** ![Carson\_Hunter](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@Carson\_Hunter](https://forum.inductiveautomation.com/u/Carson_Hunter)\
**Post date:** [August 30, 2023, 1:47pm UTC](https://forum.inductiveautomation.com/t/report-set-in-30-minute-increments/78351/12 "2023-08-30T13:47:01Z")

</div>

Thank you so much! This was what I was missing
