Добрый день. Вашу задачу можно решить, например, следующим образом:
1. Отсортировать данные по датам от старых к новым.
2. В узле Калькулятор добавить следующие выражения:
* flag: if(value = 0 or rownum() = RowCount() - 1, 0, if(data("flag", rownum() - 1) = 0 and isnull(value), 0, 1))
* group: if(rownum() = 0, flag, if(data("flag", rownum() - 1) = 0 and data("flag", rownum()) = 1, data("group", rownum() - 1) + 1, data("group", rownum() - 1)))
* cumulative_sum: CumulativeSum("flag", "group") - Поле с конечным результатом
где поле date - дата, value - значение.
В зависимости от того, какие стоят задачи (какие могут быть ещё правила, по которым определяются временные периоды; как дальше будут использоваться полученные результаты и т.д.), можно найти другое или более оптимальное решение.