Зачем нужно объединение данных
В процессе выполнения воркфлоу нередко требуется собрать данные, пришедшие из разных веток, нод или повторных запусков одной и той же ноды. В Нейро42 это можно сделать несколькими способами — в зависимости от того, как устроен ваш сценарий и с какими типами данных вы работаете.
Ниже — основные инструменты, которые помогут свести разрозненные данные в единый поток.
Объединение разных потоков данных
Если ваш воркфлоу ветвился, то рано или поздно нужно вернуть разветвленные линии обратно в один поток.
Для этого используется нода Merge, которая позволяет:
- соединять два независимых набора данных,
- выбирать только новые записи,
- сохранять только пересечения,
- или просто добавлять данные друг к другу.
Разные режимы работы Merge подробно разобраны в ее документации.
Слияние данных от разных нод
Иногда нужно объединить данные не из ветвлений, а из двух нод, которые выполняются последовательно, но генерируют отдельные массивы данных.
В таких ситуациях нода Merge также подходит — она позволяет свести результаты нескольких нод в единый набор.
Пример структуры:
- Получить данные
- Модифицировать данные
- Merge — объединить результат ноды №1 и ноды №2 в общий объект/массив
Так можно формировать итоговые отчеты, сложные структуры или комбинированные ответы.
Объединение данных из нескольких запусков одной ноды
Если нода выполняется несколько раз в рамках одного цикла воркфлоу (например, в Loop-сценариях), то в итоге вы получаете множество отдельных результатов.
Чтобы собрать их вместе, используйте ноду Code, которая:
- принимает все результаты многократных запусков,
- объединяет их программно,
- возвращает единый массив данных на выход.
Это особенно полезно при выполнении запросов в цикле, агрегации данных или работе с API, отдающим порции данных.
Это относится именно к множественным исполнениям ноды в рамках одного запуска воркфлоу.
Сравнение данных, объединение и повторное разветвление
Если перед объединением нужно сравнить два набора данных — лучше использовать ноду Compare Datasets.
Она может:
- сравнить наборы данных A и B,
- сформировать до четырех выходных потоков (совпадения, различия, новые элементы и т.д.),
- после чего поток можно объединить или снова разделить.
Эта нода идеально подходит для:
- синхронизации списков,
- поиска расхождений между источниками,
- обновления CRM, инвентаризации, допуска/исключения данных.