Delete extreme values on a case by case basis
-
Hi All,
Is there a way to delete extreme values on a case by case basis?
For example (see screenshot) -- we are monitoring pH, while the pH CAN be > 9 in our situation, in this case, we are 100% sure it isn't -- and it makes some of our graphs skewed due to the scale jump.
So, is there a way we can go in and force a delete of all points greater than X?
-
Hi rshah,
You can clean the data up by exporting it using the download arrow in the image you shared, then using the add/modify/delete column to specify you wish to delete those values, then you can use the /dataImport.shtm page to have those changes processed.
Then, on the data point itself, you can use the "Discard extreme values" settings to avoid having extreme values in the data to begin with.
Edit: Yes it would be possible to review existing values and clean them from a script. I think it would look a lot like this....
//Untested var toDelete = []; var pntId = 1; var pvd = com.serotonin.m2m2.Common.databaseProxy.newPointValueDao(); //Do the query pvd.getPointValuesBetween(pntId, 0, new Date().getTime(), function(item, index) { //Find the values to delete in the callback if(item.value > 123) toDelete.push(item); }); for(var k =0; k < toDelete.length; k+=1) { pvd.deletePointValuesBetween(pntId, toDelete[k].time, toDelete[k].time+1) }