# Report Builder Preview and Actual not matching up

**URL:** <https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214>\
**Category:** Ignition\
**Tags:** perspective, ignition81, reporting\
**Created:** [March 26, 2025, 5:56am UTC](https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214 "2025-03-26T05:56:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Benjamin\_Furlani](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/benjamin_furlani/32/66084_2.png) [@Benjamin\_Furlani](https://forum.inductiveautomation.com/u/Benjamin_Furlani)\
**Post date:** [March 26, 2025, 5:56am UTC](https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214/1 "2025-03-26T05:56:09Z")

</div>

So I am trying to use the Bar Chart. I have used it many times before but for some reason I am struggling. It works perfectly in the preview, I go to the actual perspective report viewer and it isn't even close to being correctly rendered.

I thought it could be the data coming from the query I am running, but it isn't the preview will run the query and return the data and show it in the chart just fine. I even made a sample array by hand and it works in the preview, but that same sample just doesn't work in the client...

Preview:

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

Client:

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

Each member of the array I am feeding it looks like this :

```json
{
"name":fAsset["name"],
"Chlorine":0,
"Nitrogen":0
}

```

I have the bar chart configured to use row extract order render as bars. No scripting enabled.

I am really scratching my head on this one. I even tried removing the graph and remaking it. I am sure I am missing something.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 26, 2025, 2:39pm UTC](https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214/2 "2025-03-26T14:39:48Z")

</div>

Reporting wants to work off "real" datasets, not JSON arrays-of-objects that Perspective likes to use. Are you bringing the data in to the report viewer component in Perspective via a query binding, and have you tried changing the return format to dataset?

---

<div class="post-metadata">

**Author:** ![Benjamin\_Furlani](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/benjamin_furlani/32/66084_2.png) [@Benjamin\_Furlani](https://forum.inductiveautomation.com/u/Benjamin_Furlani)\
**Post date:** [March 26, 2025, 2:48pm UTC](https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214/3 "2025-03-26T14:48:51Z")

</div>

Duh...Late night trial and error leads you down bad paths lol.

Thanks for the reminder. Dataset was the answer. I should probably not be sucked into report builder after midnight.

---

<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:** [March 26, 2025, 2:52pm UTC](https://forum.inductiveautomation.com/t/report-builder-preview-and-actual-not-matching-up/104214/4 "2025-03-26T14:52:18Z")

</div>

Tip: if you have to move a query binding to capture the dataset for this sort of thing, you can replace the original binding with this one-liner if you have my Toolkit installed:

```python
forEach({path.to.dataset}, asMap(it()))

```

Though I like to show the structure with whitespace, like so:

```python
forEach(
	{path.to.dataset},
	asMap(it()))
)

```
