GroveStreams

Downloading Data at Different Intervals526

MThomas private msg quote post Address this user
Hi, we are sending data to GS every 15 minutes for a customer and that works great. The customer wants to download their data in 1 minute averages. (Silly I know, because you will just get 15 values of the same value). Anywho, they have requested it, what is the best way to go about this?
Post 1 IP   flag post
MikeMills private msg quote post Address this user
1. I would first try this api call (are they using the api?). Pass in the 1 minute cycleID. Try the "first" stat:

GET api/comp/{compId}/cycle/{cycleId}/stat/{statId}/feed

Api Page: https://www.grovestreams.com/developers/api.html#3

2. If that doesn't work, create a new derived stream on the component.
Make it an interval stream
Make its base cycle 1 minute
Derive it "From Expression" and from the 15 minute stream (var1).
Set the expression to: var1
Make sure you set the derivation "Effective Date" to an early enough date.

Then they can download that stream.
Post 2 IP   flag post
MikeMills private msg quote post Address this user
If you're new to derived streams. It takes a minute or two to derived. Watch for errors in the notifications Job tab (the envelope in the toolbar).
Post 3 IP   flag post
MThomas private msg quote post Address this user
Hi Mike,

Thanks for the suggestion, I'm attempting to make it work. What do I pass for cycle ID to do 1 minute? When I try 'hour' it works, but when I try 'minute' it fails. Is cycle Id something I need to setup?


Edit: I was able to figure out it's ID is 'min' from the tools section in the GS admin tools. But now I'm getting the following error: {"success":false,"errCode":"REQUEST_VALIDATION_FAILURE","message":"Request Cycle '1 Minute' is not compatible with this stream and its RollupCalendar 'Years, Months, Days, Hours, 5 Minutes, 1 Minute'"}
Post 4 IP   flag post
MThomas private msg quote post Address this user
I tried a derivation interval stream. I kind of got it working but for every minute that isn't a 15 minute interval the data is zero or null. If the value is say 5.0 between 10:15 and 10:30 then how do I get the value at 10:16 to read 5.0 (instead of 0.0)?
Post 5 IP   flag post
MikeMills private msg quote post Address this user
There's probably a couple of ways. 1st, try gap filling on the one minute stream. Edit the stream and setup gap filling (gap filling tab).
Post 6 IP   flag post
MThomas private msg quote post Address this user
Thanks Mike, I tried gap filling, but I'm getting the results below:




The minute data in between 15 minutes is blank.








Post 7 IP   flag post
MikeMills private msg quote post Address this user
That should've worked.

Gap filling happens as stream data is saved. Did you rerun derivation after you setup gap filling?

To re-derive: Right click on Conc-1Min and select "Delete all time-series data", then wait a couple of minutes for it to re-derive.
Post 8 IP   flag post
MThomas private msg quote post Address this user