Reporting Question

Hi,

I’m looking for some best practice methods for the reporting I have in mind.

I have a large site with around 50 buildings. Most buildings have a boiler.

I would like to pull a report with both the BoilerEnable & BoilerFlowTemp from each building appearing. The report would have columns like:

BoilerEnable | Boiler Flow Temp|StationName?|

Would a ComponentGrid be best?

Howdy and welcome! I can answer more when I get back to the hotel but that is an option. I’ll go over more when I get back from my meeting.

2 Likes

Thank you Charles, great help as usual! (Follow you on YouTube & LinkedIn :smiley: )

1 Like

Can you share your nav tree structure? This will help determine how/if BQL is the best solution. Having a common naming convention or folder structure to work with will help :+1:

Unfortunately there is no proper structure but this can be fixed. How would you suggest for this to work best?

Currently it’s:

Niagara Network
Building 1
Points
BoilerEnable
BoilerFlowTemp
Building 2
Points
BoilerEnable
BoilerFlowTemp

Thanks Giantsbane

How are back does the information need to go? Like are we talking about snapshots of specific times are just a snapshot when generated?

Just a snapshot, exported at 2am using export source.

OK. I’m in the airport on my last leg. I will address this tomorrow with some screenshots

@thatboyniagara

Sorry for the delay in response! Busy with trainings and such. Since today is Saturday and I leave tomorrow, today is the best day to answer this!

So you have many options here and what you want to do would be your choice.

First, you could create a reportPX which would allow you to set it up in this particular format:

Each Section header has a value Binding with the ORD of the NiagaraStation with an animation of %displayName%
Each Bound Table is a BQL query against the station itself with the following:

The Scope changes for each station, so after duplicating them, I just changed the station name.

Here is a sample query of that:

station:|slot:/Drivers/NiagaraNetwork/BuildingDemo|bql:select displayName as ‘Point Name’,out.value as ‘Point Value’ from control:ControlPoint where name like ‘Boiler%’

Instead of doing a component grid, you can do a BQL grid instead:

The result would be exactly like you explained it:

An example query for that would be this:

That would be this:

station:|slot:/|bql:select displayName as ‘Station Name’,points.BoilerEnable.out.value as ‘Boiler Enable’,points.BoilerTemp.out.value as ‘Boiler Flow Temp’ from niagaraDriver:NiagaraStation

NOTE: My query is based on my points being directly in the points container. You would have to use points.PointsFolder.PointName.out.value If that makes sense. What I mean is wherever they are located, which would be in a Points Folder under the Points Container of the Niagara Station.

I hope this all helps

3 Likes

Thank you Charles, really appreciate this!

No worries about the delayed response, was worth it :smile:

1 Like