# Montly Report with one-page Timeseries Chart per day

**URL:** <https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [January 7, 2022, 10:27pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791 "2022-01-07T22:27:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![AIO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aio/32/87549_2.png) [@AIO](https://forum.inductiveautomation.com/u/AIO)\
**Post date:** [January 7, 2022, 10:27pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791/1 "2022-01-07T22:27:15Z")

</div>

Hey folks,

I’m working with a client who needs to submit monthly compliance reports and they’d like to use a time series chart for a quick view. However, the quantity / resolution of the data would be best spread across several pages or Timeseries charts. Ideally, they will select a time range and for each day selected there will be an additional page with Timeseries chart.

Is there any quick and easy way to make this happen? It seems like a Timeseries chart by default is constrained to a single page (compared to a table that can be spread across several pages via grouping). I can create a static 31 page report to catch any month, but I have to believe there’s a better way to go about this.

Many thanks in advance.

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [January 7, 2022, 10:50pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791/2 "2022-01-07T22:50:12Z")

</div>

You might be able to use a table for this. You can put components in [unstructured rows](https://docs.inductiveautomation.com/display/DOC81/Table+Rows#TableRows-StructuredvsUnstructuredRows). You’d have to break the data into day-size sub-keys within one data key. I’m almost certain you could do this in a script, but child queries would be easier if they work (I’m not that familiar with child queries).

The top key gets applied to the table. Sub-keys, I think, get applied to each row, which you can consume in your time-series chart. I haven’t actually tested that this works, so it’s possible that I’m wrong about everything, but this is what jumps to mind as a possible solution.

---

<div class="post-metadata">

**Author:** ![AIO](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/aio/32/87549_2.png) [@AIO](https://forum.inductiveautomation.com/u/AIO)\
**Post date:** [January 7, 2022, 10:53pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791/3 "2022-01-07T22:53:09Z")

</div>

Something new to read up on; thank you for the idea!  
I’ll see if its feasible and give it a shot.

Cheers!

---

<div class="post-metadata">

**Author:** ![gjack1978](https://avatars.discourse-cdn.com/v4/letter/g/cc9497/32.png) [@gjack1978](https://forum.inductiveautomation.com/u/gjack1978)\
**Post date:** [March 8, 2023, 4:28pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791/4 "2023-03-08T16:28:00Z")

</div>

Any luck with this?

---

<div class="post-metadata">

**Author:** ![zacht](https://avatars.discourse-cdn.com/v4/letter/z/ea5d25/32.png) [@zacht](https://forum.inductiveautomation.com/u/zacht)\
**Post date:** [March 8, 2023, 5:17pm UTC](https://forum.inductiveautomation.com/t/montly-report-with-one-page-timeseries-chart-per-day/54791/5 "2023-03-08T17:17:50Z")

</div>

It would look something like this example. Your parent query could return your daily bounds. Your child query would get the actual data.

> [@Dynamic report creation or merging of reports](https://forum.inductiveautomation.com/t/dynamic-report-creation-or-merging-of-reports/62066/7):
>
> The top-level query should be where you compile your list of parameters. In the example below I’ve basically typed my list statically, but if you have a list in SQL you can perform a real query. QUERY (This returns one row called machines with values 1, 2, 3) You then create a sub-query. Change the type of the sub-query to Tag Historian Query. The tag path will contain a parameter in curly braces that matches the column name from the parent query. In my case, the path is: %PATH\_REDAC…
