Here is an example from the Freezer Monitoring Lite project that uses a filter for the pulsed output:
CREATE OUTPUT WINDOW aAverageTemperatureBySensor
PRIMARY KEY DEDUCED KEEP 60 SECONDS
AS
SELECT
isFreezerTemperatureReading.SensorId MACHINEID ,
last (isFreezerTemperatureReading.ReadingDate) EVENT_TIME ,
'TEMP' EVENT_NAME ,
'' EVENT_DESCRIPTION ,
string ( avg ( isFreezerTemperatureReading.Temperature ) ) EVENT_VALUE ,
count (isFreezerTemperatureReading.Temperature) rowct
FROM isFreezerTemperatureReading KEEP EVERY 15 ROWS PER (SensorId)
GROUP BY isFreezerTemperatureReading.SensorId ;
/**@SIMPLEQUERY=FILTER*/
CREATE OUTPUT STREAM FilterEveryFifteenthRow
AS SELECT
aAverageTemperatureBySensor.MACHINEID,
aAverageTemperatureBySensor.EVENT_TIME,
aAverageTemperatureBySensor.EVENT_NAME,
aAverageTemperatureBySensor.EVENT_DESCRIPTION,
aAverageTemperatureBySensor.EVENT_VALUE
FROM aAverageTemperatureBySensor
WHERE aAverageTemperatureBySensor.rowct = 15 ;