I am hella new to BIRT and my googlefu is failing me...so I am hoping the fine people here might be able to point me in the right direction. I have a data-set of time series data that I need to iterate over and find all the groups that values over a certain constant. I need to know two things 1) when the data crosses the constant and 2) for how long the data is greater than the constant - and then load those two things (time and duration) into a 2nd data set that is what is displayed in my report. BIRT is the tool I need to use and I am unclear how to best solve this. If I was doing this entirely programmatically it would be something like this (forgive the **** pseudo-python code below -- there may be logic errors in that, but it should be hopefully clear enough what I am trying to do)
outData = []
for x in dataSet:
if x.value >= constant:
startPoint = x.timestamp
nextPoint = startPoint + 5min
while x >= constant and x.timestamp <= nextPoint
nextPoint = x.timestamp + 5min
x = x.next
endPoint = x.timestamp
duration = endPoint - startPoint
outData.add(x.tagName, startPoint, duration)
I know an option would be to do this data crunching on the database side and then just feed the cleaned data to a BIRT report - ideally though I would like to feed BIRT the raw data and have the report do the cleaning - currently that seems the most straightforward with my known constraints
Anyways - any direction or help or suggestions is greatly appreciated. I just started really looking at BIRT a few days ago so my understanding of what it can do is neophyte at best and comical at worst.