образец данных есть 1 непревзойденная запись в Excel, которую мне нужно получить в качестве вывода.
Как получить несопоставимые данные между таблицей данных Excel и SQL в Blue Prism?
Ответы (1)
Есть два варианта, которые я могу придумать с макушки головы:
- Простой способ
- Способ кодирования
Простым способом было бы перебрать большую из двух коллекций и использовать Filter Collection
из Utilities - Collection manipulation
в другой коллекции, чтобы увидеть, находится ли строка с теми же значениями, что и в основной коллекции, в другой коллекции. Этот подход будет работать хорошо, но потребует ненужного количества этапов, больше времени на сборку и пострадает производительность, если у вас большие коллекции.
Выполнение этого способа кодирования означало бы использование VB.NET или C# и использование команды Except
. Даже здесь, в Stack Overflow, есть несколько примеров (example). Недостатком этого решения является то, что требуются некоторые базовые знания .NET. Вам потребуется добавить дополнительные ссылки на DLL (System.Data.DataSetExtensions.dll
и System.Core.dll
) и пространства имен (System.Linq
).
Тогда код С# будет таким:
colOut = col1.AsEnumerable().Except(col2.AsEnumerable(), DataRowComparer.Default).CopyToDataTable();
... где col1 и col2 — входные коллекции, а colOut — выходная коллекция.
Имейте в виду, что приведенный выше код найдет вам строки из столбца 1, которых нет в столбце 2, чтобы найти строки из столбца 2, которых нет в столбце 1, вам придется либо переключить входные данные и запустить его снова, либо еще немного настроить код. .