Как получить несопоставимые данные между таблицей данных Excel и SQL в Blue Prism?

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


person madhu    schedule 07.11.2018    source источник
comment
Можете ли вы поделиться дополнительной информацией? Я так понимаю, у вас две коллекции и вы хотите получить те, которые есть в одной таблице, а не в другой? что ты уже испробовал?   -  person Marek Stejskal    schedule 07.11.2018
comment
Мне нужно получить несопоставленные записи из обеих коллекций, один источник — данные Excel, а другой источник — данные таблицы DB2OLEDB, оба имеют одинаковые столбцы, но иногда данные некоторых столбцов не совпадают с другими, поэтому мне нужно сравнить данные обоих источников и отправить исходные данные в листе Excel. добавлен пример изображения данных, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.   -  person madhu    schedule 08.11.2018


Ответы (1)


Есть два варианта, которые я могу придумать с макушки головы:

  1. Простой способ
  2. Способ кодирования

Простым способом было бы перебрать большую из двух коллекций и использовать 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, вам придется либо переключить входные данные и запустить его снова, либо еще немного настроить код. .

person Marek Stejskal    schedule 08.11.2018