Использование опции Добавить данные
Некоторые узлы PolyAnalyst имеют опцию Добавить данные или выпадающее меню, которое позволяет добавлять данные.
Настройка узлов, которые имеют флажок Добавить данные
Следующие узлы имеют опцию Добавить данные: Файлы CSV, Microsoft Access, XML. По умолчанию данная опция не активна, если только настройки по умолчанию не были изменены ранее.
Если флажок Добавить данные не отмечен, то узел будет заменять существующие результаты новыми при выполнении. Каждый раз при выполнении узла предыдущие результаты, если они есть, удаляются.
Если поставить галочку в чекбоксе опции Добавить данные, то узел будет создавать новые результаты и добавлять их в конец ранее созданной таблицы (если таковая имеется). Все вновь созданные записи в результате выполнения узла добавляются к таблице независимо от того, существует ли "такая же" запись в массиве данных, сгенерированном ранее. Другими словами, вы могли бы потенциально дублировать записи при каждом выполнении узла, если только не знать наверняка о том, что каждый раз при выполнении узла импортируемые данные отличаются от ранее импортированных.
Предупреждение о включении/выключении опции Добавить данные
Если вы выполняете узел, позволяющий использовать данную опцию, а позже открываете окно настроек данного узла, затем включаете или выключаете опцию Добавить данные и нажимаете кнопку Сохранить или Выполнить, предыдущие результаты всегда удаляются. Другими словами, включение данной опции в действительности влияет на результаты, если узел выполняется несколько раз подряд без изменения свойств узла между выполнениями. PolyAnalyst не может сохранить предыдущие результаты, когда вам необходимо изменить настройки узла. Следовательно, во избежание потери данных, вам придется заранее определить, планируете ли вы использовать опцию Добавить данные в будущем, и если это так, включить опцию до того, как будет импортирован первый массив данных.
Настройка узлов, имеющих опцию Заменить все строки
Следующие узлы имеют опцию замены всех записей, добавления по ключу, или безусловного добавления: Brandwatch, Email, Email Архив, FTP, Объединенный поиск, Файлы, Интернет, Lotus, RSS. За исключением узла Lotus, данная опция, как правило, имеется в узлах, импортирующих данные в виде документов.
Все эти узлы имеют схожие окна настройки, которые, однако, могут отличаться друг от друга по стилю. Меню может быть расположено в разных местах. Обычно данная опция доступна на первой основной вкладке узла. Меню не имеет собственной текстовой метки. Меню начинается с первой опции Заменить все строки, которая выбрана по умолчанию. Чтобы найти меню, найдите на вкладке опцию Заменить все строки. Если вы изменили настройки ранее, ищите опцию Добавить строки по ключу или Безусловное добавление строк. Чтобы изменить выбранную опцию, нажмите на само меню, при этом меню откроется, и выберите нужную опцию.
Ниже представлено описание каждой из трех доступных опций. Одна из трех опций должна быть обязательно выбрана. Опция Заменить все строки выбрана по умолчанию, если только вы или кто-то другой ранее не изменил дефолтные настройки узла.
-
Заменить все строки - каждый раз при выполнении узла PolyAnalyst проверяет наличие ранее произведенных результатов. Если существуют предыдущие выходные данные, то они удаляются. Затем сохраняются новые результаты и используются в качестве выходных данных узла. Другими словами, новые результаты записываются поверх старых результатов, или заменяют их. Почти все узлы в PolyAnalyst, не только узлы-источники данных, работают по такому принципу. Другими словами, если данная опция выбрана, то узел не настроен на обновление ранее импортированных данных. Выбор данной опции по действию схож с выключением опции Добавить данные (описано выше).
-
Добавить строки по ключу - каждый раз при выполнении узла PolyAnalyst генерирует новый массив данных. Затем PolyAnalyst оценивает в новом массиве данных запись за записью и проверяет каждую запись, чтобы определить ее возможное присутствие в ранее созданном массиве данных. Если предшествующего массива данных нет, то запись считается новой записью автоматически, и данная проверка пропускается. При выполнении проверки для определения присутствия записи сравнение записей осуществляется по ключу. Ключ не может быть настроен пользователем. Ключ соответствует одной или нескольким колонкам в массиве данных. Каждой "уникальной" записи приписывается уникальный ключ. Следовательно, если запись в новом массиве данных имеет тот же ключ, что и запись в старом массиве данных, то запись не является "новой". PolyAnalyst фильтрует записи из нового массива данных, которые не являются новыми. PolyAnalyst затем добавляет любые из оставшихся "новых" записей к концу существующего массива данных. При этом массив данных, составленный из исходных записей и "новых" записей, представляется как выходные данные узла.
-
Безусловное добавление строк - новые записи добавляются к концу существующих записей, подобно выходным данным в узле Конкатенация. Если существующих записей нет, то новый массив данных создается только из записей, импортируемых в данный момент. В отличие от метода Добавить строки по ключу, сравнение с целью проверить существование записи в данном случае не проводится (т.е. это может привести к дублированию записей в выходных данных, поскольку новые записи добавляются к таблице без каких-либо условий). Эта опция значительно быстрее опции Добавить строки по ключу, поскольку сравнение здесь не производится.
Дополнительные комментарии
При сравнении отдельных записей, каждая запись по-прежнему извлекается из внешнего источника данных перед выполнением сравнения. Например, при использовании узла Интернет для создания массива данных веб-страниц, веб-страница по-прежнему загружается узлом полностью для того, чтобы ее можно было сравнить с веб-страницами, которые хранятся в ранее импортированных данных. Факт существования записи не влияет на работу узла.
Два важных фактора, влияющих на работу узла, - число записей, которые импортируется, и число записей, которые были импортированы ранее. Чем больше записей было импортировано ранее, тем большее количество сравнений требуется выполнить. Чем больше количество существующих записей, тем больше число сравнений, которые должны быть сделаны для каждой новой записи.
Если в ряду новых импортируемых записей существуют повторяющиеся записи, импортируется только одна из новых записей. Сохраняется только первая из повторяющихся в массиве данных запись.
При использовании метода Добавить строки по ключу записи считаются похожими, если они имеют общий ключ. Сравниваются только значения ключа. Полное содержание каждой записи не сравнивается. Записи с разным содержанием, но одинаковым ключом, встречаются крайне редко. Такая ситуация не предполагается на практике, но теоретически возможна. Следовательно, в определенных случаях важно иметь в ввиду такую ситуацию. Например, при предыдущем импорте записей могла сохранится запись, которая, в основном, состояла из отсутствующих значений, но имела достаточное количество информации для генерирования ключа для сравнения. Запись, которая импортируется в настоящий момент, содержит всю нужную информацию и небольшое количество отсутствующих значений, имеет то же значение ключа, и все же удаляется при импорте. Невозможно узнать, когда возникает такая ситуация, и предотвратить ее можно, только если использовать другой подход, а не опцию Добавить строки по ключу.
При использовании метода Добавить строки по ключу, помните, что пользователь не может настроить ключ для этих узлов. Это можно сделать только с помощью вкладки Инкрементальное обновление, но в настройках рассматриваемой группы узлов она не представлена. Считается, что PolyAnalyst знает оптимальный ключ, который можно использовать в таких случаях. Например, в случае с веб-страницами, импортируемыми узлом Интернет, PolyAnalyst предполагает, что URL каждой страницы является подходящим ключом. Если две веб-страницы имеют одинаковое содержание, но разные URL, эти веб-страницы не считаются одинаковыми, и будут представлены в выходных данных как повторяющиеся (при этом они будут иметь разные значения в колонке с URL).