...
Code Block |
---|
ID Time isLast A 1 false A 2 false A 3 false A 4 true B 5 false B 6 false B 7 false B 8 false B 9 false B 10 true C 11 false C 12 false C 13 false C 14 false C 15 false C 16 false |
Preprocessing
With some preprocessing we will get:
Using only a start predicate
Code Block |
---|
#PARSER PQL #ADDQUERY in = CSVFILESOURCE({SCHEMA = [['ID', 'String'],['pos','STARTTIMESTAMP'],['isLast','Boolean']], DELIMITER = '\t', SOURCE = 'source', FILENAME = '${PROJECTPATH}/input.csv'}) map = STATEMAP({EXPRESSIONS = [['isNull(__last_1.ID) OR (__last_1.ID != ID)','newElem']], KEEPINPUT = true}, in) win = PREDICATEWINDOW({start = 'newElem', SAMESTARTTIME = true}, map) |
...