PI Developers Club Webinar Series: Asset Analytics Tips and Tricks

Video created by rdavin Employee on Dec 15, 2016

    This is the video recording of the PI Developers Club webinar Asset Analytics Tips and Tricks presented on December 14th, 2016.



    Asset Analytics has such a comprehensive feature set that users frequently ask for best practices or various tips and tricks to squeezing the most power out of their analyses while avoiding pitfalls.  Our guest speakers, Ales Soudek and Max McKay, share their experiences to get you on the right track.  Product Manager Steve Kwan joined in on the very hearty Q&A.








    Questions answered after video recording:


    Q: Can we build dynamic URL for Web API using Analytics?

    SK: That’s a broad question.  Suggest you look into the URI Builder Data Reference shipped with AF 2016 R2 and see if it does what you need.


    Q: Is there any better way to deal with grabbing relative past values without using nested previous value statements?  In other words, some way to do simple indexing.

    SK: Unfortunately no.


    Q: Is PI analytics doing “sub-second” calculations?

    SK: Not sure if this is referring to; inputs, outputs, or ?  If I were to guess at the question, we can trigger analyses more often than once per second.  For example, you can run an analysis 5 times per second (5 Hz).


    Q: For the Backfilling/Recalculate, the delete option only works with attributes mapped to PI Points?  I have variables mapped to an attribute with Analysis Data Reference, it does not work.

    SK: Need more info on this.  I don’t quite understand the question.  If the output of an analysis is mapped to an Analysis Data Reference, then it doesn’t make sense to Backfill/Recalculate as it’s an OnDemand calculation.  There’s no concept of backfilling a time frame or recalculating a time frame.  If the intention is to see the On Demand calculation result at a different time than current time, he should change the time context of PSE (menu item) and simply refresh the data.  The Analysis DR attribute would calculate based on the time context.

    MM: I believe the answer to this question lies in the ability of the Management Plug-in to backfill multiple selected Analyses while ensuring the calculation sequence will be respected. So If multiple analyses are backfilled at once, they will be backfill in the appropriate order so that subsequent analyses are


    Q: When using “convert” unit functions, is it mandatory to have the units defined on the attributes?  If not, can it be set on the fly instead?

    SK: That’s the only option at the moment.  Question for you: please describe why the UOM would change dynamically?


    Q: Is the number of variables will affect the performance of AF or Analysis?

    SK – Minimal impact from a performance perspective.


    Q: Is there a way to stop execution of expressions if (say) a value is bad rather than having a flag in each expression?

    SK: Unfortunately not at the moment.


    Q: Can expressions access array elements?

    SK: No.


    Q: Is there a way to stop a time based calculation that writes to a tag?  NoOutput() ?

    SK: NoOutput() works.


    Q: Regarding analytics backfilling order, if an analytic has Attribute1 on Element1 as an input, but Attribute1 is an attribute reference to Attribute2 on Element which is the output of a different analytic, will the analytic backfill the first analytic before the dependent analytic?

    SK: Yes if you multi-select from the management plugin.  Yes if these are multiple expressions within the same analysis.

    MM: Worth mentioning, Multiple analyses within 1 Element will detect recursive calculations. Multiple analyses across Elements will not detect recursion so you need to be careful not to create circular references.