AnsweredAssumed Answered

Archived data automatic update in PI datalink

Question asked by Catherine2018 on Aug 8, 2018
Latest reply on Aug 13, 2018 by Catherine2018

Hi everyone,


I'm new to PI server, PI datalink and PI Vision and my colleagues and I are working at the moment to understand more the system. I currently want to create a production report using PI datalink excel add-in to retrieve data from our PI server. I want to extract process data each day at a specific time and I know I can used the function 'timed data' to work on this. Doing a single extraction is pretty simple. But here's my problem:

I want to create a report that will update automatically the data when I open my excel sheet and keeping at the same time the old data that was extracted. For example, I want to start my 2018 production report on january 1st, 2018 and each time I open my worksheet I want the data from the current day or the day before to have been automatically updated. The thing is, I have a problem making this work. I configured my timed data function to extract process value from january 1st to a future end time (december 2018), so I thought the day afterward that I would be able to get the updated data if I left the 'update' button activated in the PI data link add-in, but it's not working. I tried the same thing with all multiple values function and I can't get updated value. Instead of using a future end time, I also tried to used (*) as a end time, but it's still not updating.

I know that multiple values functions (compressed/sampled/timed data) create a matrix with a define size. When I understood that I saw that I can quickly manually update my values by using the "resize" datalink function when I click right on the values (see screenshot below, sorry if eveything is in french).


I searched  on OSIsoft Tech Support and I found a forum proposing how to program the resize function in VBA to use this function automatically when a worksheet is opened or when a single button in the worsheet is pressed. Here's the link:

I am currently working on this, but I was still wondering if one of you guys would know a way to update a multiple value function without passing by the 'resize' function.


Thanks for your help !