• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Delete extreme values on a case by case basis

    User help
    2
    2
    933
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rshah
      last edited by

      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?

      0_1511201326754_f6db83cd-2b41-4c93-8293-20ff3088a2d6-image.png

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by phildunlap

        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)
        }
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post