Агрегация остатков

В SO+ загружается большой объём данных остатков с детализацией до дня. Спустя несколько месяцев после загрузки такая детализация становится не актуальна для бизнеса, достаточно видеть остатки с детализацией до месяца.

Введем термины

Может быть такое, что остатки загружаются задним числом. Например, 20.12.2023 в SO+ загрузили данные по остаткам за 10.09.2023, поэтому:

  • Дата загрузки — дата выполнения загруки данных в SO+ (20.12.2023).

  • Период фактов — месяц, к которому относятся загруженные данные остатков (09.2023).

Как работает

При включении агрегации указывается максимальный срок жизни записей, считая от текущего месяца. В результате:

  • Более старые остатки, у которых (период фактов) < (месяц текущей даты - срок жизни), попадут под агрегацию:

    • В каждом периоде фактов, попавшем под агрегацию, в остатках будет только одна запись, равная последнему зафиксированному остатку в этом месяце.

    • Все остальные записи остатков в агрегированных периодах фактов удалятся.

  • Остатки, у которых период фактов попал в срок жизни, не подвергнутся изменениям и будут храниться в исходном детальном виде.

  • При указании опции "По недельно" данные агрегируются по неделям – т.е. вместо одной записи в месяце будет четыре. Если неделя пересекает 2 месяца, то вместо данных за все дни этой недели будет только одна запись, за последний день месяца.

По умолчанию агрегация отключена и включается по согласованию на каждом конкретном проекте под конкретный тип данных.

Процесс агрегации запускается еженедельно в субботу и воскресенье.

Повторная загрузка ранее агрегированных данных

Представим, что мы повторно загрузили данные, период фактов которых попал в агрегированный ранее период. Тогда загруженные остатки сначала сохранятся в систему в исходном детальном виде, и будут агрегированны при следующем запуске процесса агрегации.

Агрегированные данные и API

Работа с удаленными в ходе агрегации записями через API происходит так же, как и с любыми другими удаленными записями, подробнее здесь.