Hour meter Data to pie chart workflow?

Hello again all , I am trying to get data from my transaction group to work in a pie chart
The meters count everytime a machine is in a certain status, letting me know the uptime , downtime, total time, etc.

I have it working in a named query that at the moment makes tables in the report module, but it makes a column for every meter (around 10+ columns), from what I have seen , the format of my table is rejected by both the perspective pie chart and the report module pie chart , I think its because both are looking for 2 columns only , one for a string and one for a value

is there any way to make the tables I have the correct format to work on a pie chart? either by doing something to the named query or perhaps a setting on the transaction manager or the pie charts I can use? preferably in the report module so we can see the visuals for the uptime next to the table I have made

If there is only one row and 10+ columns then it would be easy to manipulate in a script transform on the binding’s result.

Here’s a script to play with in the Script Console. Modify to suit.

# In the binding specify Return Format as JSON.
value = {"col1": 17, "col2": 24, "col3": 10, "col4": 7, "col5": 15}  # Sample data returned by query.

output = []
for key, val in value.iteritems():   
	output.append({"flavor": key, "count": val})
	
print output

Note that value is the data returned by the query. Output will be passed back to the pie chart.

I should probably mention that hourmeters add 1 to their value by creating a new row with a timestamp each time , so im not sure if/how that would work

really the only row that matters to me is the latest row for a pie chart function , but it does create a new row every time it updates , so once a minute

OK. Set the binding’s output format to JSON then right-click on the chart data, copy and paste it in here.
JSON data copy

Use the </> button to format it as code. Then, if it’s a bit long, select the code, hit the :gear: gear icon and select Hide details.

[
  {
    "t_stamp": 1659941958000,
    "AC1IdleMeterMin": 1,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 120
  },
  {
    "t_stamp": 1659942018000,
    "AC1IdleMeterMin": 2,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 121
  },
  {
    "t_stamp": 1659942078000,
    "AC1IdleMeterMin": 3,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 122
  },
  {
    "t_stamp": 1659942138000,
    "AC1IdleMeterMin": 4,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 123
  },
  {
    "t_stamp": 1659942198000,
    "AC1IdleMeterMin": 5,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 124
  },
  {
    "t_stamp": 1659942258000,
    "AC1IdleMeterMin": 6,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 125
  },
  {
    "t_stamp": 1659942318000,
    "AC1IdleMeterMin": 7,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 126
  },
  {
    "t_stamp": 1659942378000,
    "AC1IdleMeterMin": 8,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 127
  },
  {
    "t_stamp": 1659942438000,
    "AC1IdleMeterMin": 9,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 128
  },
  {
    "t_stamp": 1659942498000,
    "AC1IdleMeterMin": 10,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 129
  },
  {
    "t_stamp": 1659942558000,
    "AC1IdleMeterMin": 11,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 130
  },
  {
    "t_stamp": 1659942618000,
    "AC1IdleMeterMin": 12,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 131
  },
  {
    "t_stamp": 1659942678000,
    "AC1IdleMeterMin": 13,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 132
  },
  {
    "t_stamp": 1659942738000,
    "AC1IdleMeterMin": 14,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 133
  },
  {
    "t_stamp": 1659942798000,
    "AC1IdleMeterMin": 15,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 134
  },
  {
    "t_stamp": 1659942858000,
    "AC1IdleMeterMin": 16,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 135
  },
  {
    "t_stamp": 1659942918000,
    "AC1IdleMeterMin": 17,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 136
  },
  {
    "t_stamp": 1659942978000,
    "AC1IdleMeterMin": 18,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 137
  },
  {
    "t_stamp": 1659943038000,
    "AC1IdleMeterMin": 19,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 138
  },
  {
    "t_stamp": 1659943098000,
    "AC1IdleMeterMin": 20,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 139
  },
  {
    "t_stamp": 1659943158000,
    "AC1IdleMeterMin": 21,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 140
  },
  {
    "t_stamp": 1659943218000,
    "AC1IdleMeterMin": 22,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 141
  },
  {
    "t_stamp": 1659943278000,
    "AC1IdleMeterMin": 23,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 142
  },
  {
    "t_stamp": 1659943338000,
    "AC1IdleMeterMin": 24,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 143
  },
  {
    "t_stamp": 1659943398000,
    "AC1IdleMeterMin": 25,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 144
  },
  {
    "t_stamp": 1659943458000,
    "AC1IdleMeterMin": 26,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 145
  },
  {
    "t_stamp": 1659943518000,
    "AC1IdleMeterMin": 27,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 146
  },
  {
    "t_stamp": 1659943578000,
    "AC1IdleMeterMin": 28,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 147
  },
  {
    "t_stamp": 1659943638000,
    "AC1IdleMeterMin": 29,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 148
  },
  {
    "t_stamp": 1659943698000,
    "AC1IdleMeterMin": 30,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 149
  },
  {
    "t_stamp": 1659943759000,
    "AC1IdleMeterMin": 31,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 150
  },
  {
    "t_stamp": 1659943819000,
    "AC1IdleMeterMin": 32,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 151
  },
  {
    "t_stamp": 1659943879000,
    "AC1IdleMeterMin": 33,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 152
  },
  {
    "t_stamp": 1659943939000,
    "AC1IdleMeterMin": 34,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 153
  },
  {
    "t_stamp": 1659943999000,
    "AC1IdleMeterMin": 35,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 154
  },
  {
    "t_stamp": 1659944059000,
    "AC1IdleMeterMin": 36,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 155
  },
  {
    "t_stamp": 1659944119000,
    "AC1IdleMeterMin": 37,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 156
  },
]

I had to cut a bunch of it out because it was too many characters, but its just this over and over again anyway , if the status changed the others would go up by 1 instead depending on which status it had at the time , and the total goes up by 1 each time , every minute a new row is added until the hourmeters purge it all at the end of a day

Try this:

Script console demo
value = [
  {
    "t_stamp": 1659941958000,
    "AC1IdleMeterMin": 1,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 120
  },
  {
    "t_stamp": 1659942018000,
    "AC1IdleMeterMin": 2,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 121
  },
  {
    "t_stamp": 1659942078000,
    "AC1IdleMeterMin": 3,
    "AC1RunningMeterMin": 0,
    "AC1OffMeterMin": 0,
    "AC1MaintenanceMeterMin": 0,
    "AC1EStopMeterMin": 0,
    "AC1VacAlarmMeterMin": 0,
    "AC1PressureAlarmMeterMin": 0,
    "AC1Limit1MeterMin": 0,
    "AC1Limit2MeterMin": 0,
    "AC1Limit3MeterMin": 0,
    "AC1Limit4MeterMin": 0,
    "AC1MultipleAlarmOnMeterMin": 0,
    "AC1TotalMinutes": 122
  }
]

output = []
lastItem = value[-1]   # Returns the last row of data.
for key, val in lastItem.iteritems():
	if key is not 't_stamp':
		output.append({"meterName": key, "count": val})
	
print output

in the script it shows its working(or at least its not saying any errors) but on the pie chart itself it still thinks its invalid data

the logs give this error

 level: LEVEL_ERROR message: "components.PieChart: Data invalid. Each pie section object must have a label (string) and a value (number)" line_number: 6 source: "http://localhost:8088/res/perspective/js/PerspectiveClient.316b952f2b48e83fb82c.js"

does return value go above or below your script? , this is all new to me

the data is even showing up properly in the properties, its just on the screen itself it says its invalid

I used print for demonstration in Script Console.
For your binding you need to change the last line to
return output
If you see t_stamp in your pie chart data then the transform isn’t working.

https://docs.inductiveautomation.com/display/DOC81/Script+Transform

There’s also an Inductive University training video linked on that page.

this is what i see at the moment , I have a visual , the part that checks for last row isnt working however

I see the count and the metername in the data now however , so that append is working

here is the script , it looks like it still appended timestamp even though the if key is not part is in there

Your script is letting the t_stamp value through and since that’s a huge number it’s hogging the whole pie.

Test: set props.valueFormat.showValueAsPercent: false and you should see some actual numbers in there.

It looks like my code is faulty. Try

	output = []
	lastItem = value[-1]
	for key, val in lastItem.iteritems():
		if key not in ['t_stamp']:
			key, val
			output.append({"flavor": key, "count": val})
	return output

kk i turned the % prop off , also the script removed timestamp but its still not grabbing any data its just using the default values still

Delete the value = [ ....] from the script transform.
value is returned by the query. (It was only in my sample script so that Script Console would have some data to work with. By adding it into your script transform you are overwriting the values returned by the query.)

and its workinggg, you are a BOSS!!
boy do I feel dumb for leaving that in :disguised_face:
also had to remove total time because it takes up the whole chart
facepalm but its working!

Good work.
The script transforms are worth getting to understand. Spend a bit of time studying Python lists and dictionaries and how to work them. Remember that Ignition is using Jython and the Python 2.7 documentation is relevant (and Python 3 features won’t work).
I find it’s sometimes easier to create a simple, understandable SQL query and do the manipulation in Python.

Keep in mind that a well-designed Named Query with no transform will run much, much faster. Jython has significant startup overhead. If your server bogs down with load, this should be one of the areas you focus on.

Thanks, Phil. I had included the word ‘sometimes’ just for you!

1 Like