Я не знаю, как обращаться с другими значениями или может ли A / B / E повториться, но аналогичная логика должна работать: заполнить пустые строки предыдущим символом A / B / E и затем отфильтровать.
WITH cte AS
(
SELECT t.*,
Last_Value(CASE WHEN AE IN ('A', 'B', 'E' THEN AE END IGNORE NULLS)
Over (PARTITION BY IPID
ORDER BY measurement_time
ROWS BETWEEN Unbounded Preceding AND 1 Preceding) AS lv
FROM tab t
)
SELECT *
FROM cte
WHERE lv IN ('A', 'B')