5 Replies Latest reply on Oct 11, 2018 12:33 PM by JimGavigan

    Parent EventFrames and the Integrator for BA: which event is the parent?

    Roger Palmen

      This is a bit of a mixed bag of issues. I use Analytics to generate EventFrames, and i use multiple Start triggers. In that case, when the trigger switches from one Severity to the next, a Parent EventFrame is started spanning and parenting all Child EventFrames for the individual triggers.

      When these EventFrames are exported to a SQLserver table using the Integrator both the Parent and the Child EventFrames end up in my results, and there is no way to keep them apart, leading to duplicate counts in the application using them.


      • The EventFrames do not have any means to indicate if the EventFrame has children or not
      • I can't think of a way to create an attribute to find if an EventFrame has children (or a parent for that matter). If i could, i could use that attribute to filter the view
      • There are no options to discriminate between parent and child eventframes in the Integrator, so cannot solve the issue in the integrator



      I resorted to splitting the Analysis to avoid the parent EventFrame, So not really looking for a solution, but:

      1. Anyone an idea on how to resolve this with the current capabilities of AF (2017R2) & Integrator (2018)? Did i overlook a way to accomplish this in either AF or the Integrator?
      2. Where would the best place be to improve? Should be have more capabilties on multi-level EventFrames in the Integrator or in AF or both? I have a slight preference to look for more configurability of the Parent/Child functionality in Analytics, as that would tackle the problem where it is created.


      I did find some feedback items on the topic though, which could be a solution:

      PI AF - Child Event Frames using different template to parent – User Feedback for OSIsoft Products

      Allow different naming for Parent and Child Event Frames – User Feedback for OSIsoft Products

        • Re: Parent EventFrames and the Integrator for BA: which event is the parent?

          If you use the "save start trigger name" as an attribute to the event frames:

          event frame 2.JPG


          Then, this attribute will give you a "0" for parent event frames and the start trigger name (variable name) for the others. I am usually trying to look at overall events or just the children and struggled with this until I stumbled upon this. I would rather this be some other value than just "0," but it does work. It won't let you do splitting at the integrator level per se, but should let you filter it on the client side.  


          Here is a screenshot from both excel through OLEDB Enterprise and Power BI using the integrator to pull the data:


          event frame 1.JPG


          event frame 3.JPG

          2 of 2 people found this helpful
            • Re: Parent EventFrames and the Integrator for BA: which event is the parent?
              Roger Palmen


              Now that's an excellent workaround. Not really a beaty, but you're just using it!


              You did use this functionality obviously, where would you see the best solution? E.g. control over the Parent EventFrame template to use? Additional generic attributes on parents/childs, substitution variables to use to pull in the Parent/Child details into attributes?

                • Re: Parent EventFrames and the Integrator for BA: which event is the parent?

                  Yeah, it isn't elegant, but it works. I struggled with this for a bit as well, but stumbled on this and have been using it for a while now.


                  You know, as I dug further, there is a way to get the parent event frame name and use it, as I did it for the hierarchical slicer in Power BI. I had forgotten this (slept since then). Maybe this will also help you. I was using Power BI for my report here, but I don't see why you couldn't build something custom out of this if needed.


                  I created a parent event frame attribute in my EF template that is a string builder data reference, and it has the following configuration:



                  Then, in power BI, I created a hierarchy of the parent EF, along with the event frame name:



                  Then, I could use the hierarchical slicer in Power BI (this was grade runs (parent) and reels (children) on a paper machine as the events) - it would have been better if they were running AF 2017 and I could have used the @attrubute in the naming of the events, because then I would have had reel 1, reel 2, etc. in the name of the events:


                  event frame 4.JPG


                  It has been 6 months since I did this, so I had forgotten this other little tidbit. Maybe this helps you further.

                  3 of 3 people found this helpful