endTime = system.date.now()
startTime = system.date.addSeconds(endTime, -500)
ds = system.tag.queryTagHistory(paths=['[XOM]Testing/MyTag']*5, startDate=startTime, endDate=endTime, aggregationModes=['Count', 'LastValue', 'Minimum', 'Maximum', 'Range'], returnFormat='Wide', intervalMinutes=1, ignoreBadQuality=False)
print system.dataset.toCSV(ds, showHeaders = True, forExport = False)
"t_stamp","Testing/MyTag","Testing/MyTag1","Testing/MyTag2","Testing/MyTag3","Testing/MyTag4"
"2022-10-14 12:17:49.455","1.0","7.699999809265137","7.699999809265137","7.699999809265137","0.0"
"2022-10-14 12:18:49.455","0.0","8.042443722618929","8.042443722618929","8.042443722618929","8.042443722618929"
"2022-10-14 12:19:49.455","0.0","8.271393443502202","8.271393443502202","8.271393443502202","8.271393443502202"
"2022-10-14 12:20:49.455","0.0","8.500343164385473","8.500343164385473","8.500343164385473","8.500343164385473"
"2022-10-14 12:21:49.455","0.0","8.729292885268746","8.729292885268746","8.729292885268746","8.729292885268746"
"2022-10-14 12:22:49.455","1.0","8.800000190734863","8.800000190734863","8.800000190734863","0.0"
"2022-10-14 12:23:49.455","0.0","9.41504072952117","9.41504072952117","9.41504072952117","9.41504072952117"
"2022-10-14 12:24:49.455","0.0","9.77871898247454","9.77871898247454","9.77871898247454","9.77871898247454"
"2022-10-14 12:25:49.455","1.0","9.899999618530273","9.899999618530273","9.899999618530273","0.0"
The documentation:
https://docs.inductiveautomation.com/display/DOC80/system.tag.queryTagHistory
says:
"Range" - the difference between the min and max
However, you can see above that this is not always true. For query results between values, the Range is returning the interpolated value, but it should be 0.0 according to the documentation.