#PARSER PQL #RUNQUERY projected = MAP({ expressions=['ts','mf01','mf02', 'mf03', 'TimeInterval.Start'] }, gchSource ) mf01prj = TIMEWINDOW({ name='1SecWindow', size = [1, 'SECONDS'], slide =[1, 'SECONDS'] }, projected ) /// Operator 1-3 MF01AVG = AGGREGATE({ aggregations=[ ['AVG', 'MF01', 'MF01AVG'], ['MIN', 'MF01', 'MF01MIN'], ['MAX', 'MF01', 'MF01MAX'], ['AVG', 'MF02', 'MF02AVG'], ['MIN', 'MF02', 'MF02MIN'], ['MAX', 'MF02', 'MF02MAX'], ['AVG', 'MF03', 'MF03AVG'], ['MIN', 'MF03', 'MF03MIN'], ['MAX', 'MF03', 'MF03MAX'], ['MAX', 'TIMEINTERVAL.START', 'TS'] ], name = "AGG 1" }, mf01prj ) mf01rng = MAP({ expressions=[ ['mf01avg', 'avgmf01'], ['round(((mf01max-mf01min)/mf01max),4)','rngmf01'], ['mf02avg','avgmf02'], ['round(((mf02max-mf02min)/mf02max),4)','rngmf02'], ['mf03avg','avgmf03'], ['round(((mf03max-mf03min)/mf03max),4)','rngmf03'], 'ts' ] }, mf01avg ) s1 = TIMESTAMP({ start='ts', clearend='true' }, mf01rng ) /// Operator 4 op4 = BUFFEREDFILTER({ predicate = 'rngmf01 > 0.3 || rngmf02 > 0.3 || rngmf03 > 0.3', buffertime = [20,'SECONDS'], delivertime =[70, 'SECONDS'] }, projected, s1 ) s1_windowed = TIMEWINDOW({ name='60SecWindow', size = [1, 'MINUTES'], slide=[1, 'MINUTES'] }, s1 ) /// Operator 5 s1_windowed_last = AGGREGATE({ name = "AGG 1_PwrS5", aggregations=[ ['LAST','avgmf01','avgmf01'], ['LAST','ts','ts','long'] ] } , s1_windowed ) s5 = MAP({ expressions=['ts', ['208 / (avgmf01^(1/3))','pwr'] ] }, s1_windowed_last ) /// Operator 6 s2_windowed_last = AGGREGATE({ name = "AGG 1_PwrS6", aggregations=[ ['LAST','avgmf02','avgmf02'], ['LAST','ts','ts','long'] ] }, s1_windowed ) s6 = MAP({ expressions=[ 'ts', ['208 / (avgmf02^(1/3))','pwr'] ] }, s2_windowed_last ) /// Operator 7 s3_windowed_last = AGGREGATE({ name = "AGG 1_PwrS7", aggregations=[ ['LAST','avgmf03','avgmf03'], ['LAST','ts','ts','long'] ] }, s1_windowed ) s7 = MAP({ expressions=['ts', ['208 / (avgmf03^(1/3))','pwr']] }, s3_windowed_last )