Can anyone help me understand the following behavior when attempting to use the range aggregation mode in the reporting module with a tag historian query? The attached image is a comparison of the same data & time range, one with the aggregation mode set as Closest Value, and the other set as Range. The markups in red is what I would have expected the data to be.
In case this helps anyone else, the solution i totally didn't use chatGPT to help with is as follows:
import java import jarray # Get the original dataset oldSet = data['tag_history'].getCoreResults() ds = system.dataset.toPyDataSet(oldSet) column_names = jarray.array(ds.getColumnNames(), java.lang.String) # Create a list to hold the new data rows new_rows =  # Iterate over the rows of the original dataset for i, row in enumerate(ds): # Check if the current row is the first row if i == 0: new_rows.append(row) else: # Create a new list to hold the modified row values new_row = [row] # Iterate over the columns of the current row for j in range(1, len(row)): # Calculate the difference between the current and previous row value diff = row[j] - ds[i-1][j] # Append the modified value to the new row list new_row.append(diff) # Append the modified row to the new data list new_rows.append(new_row) # Create the new dataset with the modified data new_ds = system.dataset.toDataSet(column_names, new_rows) data['Differential'] = new_ds
This then gives the result I was expecting the Range Aggregation Mode to result in