Skip to Main Content
AVEVA™ PI System™ Feedback Portal

Welcome to our new 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 Gregory Malek
Created on Apr 25, 2024

Make "In" operator compatible with arrays within AF Analysis

We have many calculations following this basic pattern - take recorded values of one attribute, apply a filter (using FilterData), then retrieve values of a second attribute at the filtered timestamps of the first attribute.


Currently, we cannot retrieve the second attribute's values via bulk call because the "In" operator does not work with arrays (see screenshot for demonstration).


The workaround method we use is as follows. This does not use a bulk call.


Att1Values := RecordedValues('Attribute1', start, end)

Att1Filtered := FilterData(Att1Values, $val > 60)

Att2Values := MapData(Att1Filtered, TagVal('Attribute2', Timestamp($val)))


Using the "In" operator with arrays would allow a bulk call of Attribute2 values, which would improve performance:


Att1Values := RecordedValues('Attribute1', start, end)

Att1Filtered := FilterData(Att1Values, $val > 60)

Att1FilteredTS := MapData(Att1Filtered, Timestamp($val))

Att2Values := RecordedValues('Attribute2', start, end)

Att2Filtered := FilterData(Att2Values, Timestamp($val) in Att1FilteredTS)


  • Attach files