Skip to Main Content
AVEVA™ PI System™ Feedback Portal

Welcome to our feedback site!


We created this site to hear your enhancement ideas, suggestions and feedback about AVEVA products and services. All of the feedback you share here is monitored and reviewed by the AVEVA product managers.

To start, take a look at the ideas in the list below and VOTE for your favorite ideas submitted by other users. POST your own idea if it hasn’t been suggested yet. Include COMMENTS and share relevant business case details that will help our product team get more information on the suggestion. Please note that your ideas and comments are visible to all other users.


This page is for feedback specifically for AVEVA PI System. For links to our other feedback portals, please see the tab RESOURCES below.

Status No status
Created by taterhead247
Created on Aug 20, 2022

Allow BadVal to check multiple inputs or IFERROR

Right now BadVal can only check one variable or Expression.  So if I am evaluating an expression with say 10 inputs, and I want the expression to output NoOutput() if any one of the 10 inputs are BadVal, then I have 2 options right now.  1) copy the whole expression into the BadVal funtion and do "if badval(expression) then NoOutput() Else expression". 2) Do "if (BadVal(input1) or BadVal(input2) or ...) then NoOutput() else expression". Ideally you would have a IFERROR function like in Excel.  So you would just type "IFERROR(expression,NoOutput()) Alternatively you could have BadVal allow multuple inputes.  So "If BadVal(input1,input2,input2,...) then NoOutput() else expression" I'm sure one of these options is more resource efficient then the currently available options.
  • Attach files
  • Guest
    Reply
    |
    Aug 20, 2022
    Rather than the listed Option 1 (copy the whole expression...) it would be possible to execute that expression and instead of outputting the result use it as a variable where you could then do: If BadVal(VariableName) Then NoOutput() Else VariableName This would prevent the expression being executed twice. +1 for IFERROR function as it would greatly simplify handling bad data and expressions.
  • Guest
    Reply
    |
    Aug 20, 2022
    +1 for IFERROR function
  • Simon J. Dyson
    Reply
    |
    Aug 20, 2022
    IFERROR equivalent functionality would make validation and formula simpler. Or better still BadVal should work as you would expect. E.g. why doesnt a divide by zero error get picked up by BadVal?
  • Guest
    Reply
    |
    Aug 20, 2022
    I just tried this with the latest release: BadVal(1/0) and that returns True What is your desired behavior with BadVal(1/0)?
  • zwhite
    Reply
    |
    Aug 20, 2022
    Is there any movement on this? Because as of right now I'm not seeing a clear way to defend against all of the error types for analysis that have multiple inputs. Having an analysis just blanket evaluate to 'Calculation Failure' from a bad value from one of many tags means writing the same defensive statement for every tag and every instance. Couple that with the analysis "IDE" window in AF System explorer that is like 2 inches wide and not expandable just makes for a less than desirable experience.