【问题标题】:How do I get unmatched data between an Excel and SQL data table in Blue Prism?如何在 Blue Prism 中的 Excel 和 SQL 数据表之间获取不匹配的数据?
【发布时间】:2018-11-07 05:10:05
【问题描述】:

sample data excel 中有 1 条不匹配的记录,我需要将其作为输出。

【问题讨论】:

  • 你能分享更多信息吗?我是否理解您有两个收藏品,并且您想获得一张桌子上的收藏品而不是另一张桌子上的收藏品?到目前为止,您尝试过什么?
  • 我需要从两个集合中获取不匹配的记录,一个来源是 Excel 数据,另一个来源是 DB2OLEDB 表数据,两者都有相同的列,但有时某些列数据不匹配,所以我需要比较两个源数据并将未处理的数据发送到 Excel 表。添加了示例数据图像,如果您需要更多详细信息,请告诉我。

标签: blueprism


【解决方案1】:

我能想到两个选项:

  1. 简单的方法
  2. 编码方式

这样做的简单方法是遍历两个集合中较大的一个,并在另一个集合上使用来自Utilities - Collection manipulationFilter Collection 来查看与主集合中具有相同值的行是否在另一个集合中收藏。这种方法效果很好,但它需要不必要的阶段,需要更多的时间来构建,如果你有大量的集合,性能会受到影响。

使用编码方式意味着使用 VB.NET 或 C# 并使用 Except 命令。甚至在 Stack Overflow (example) 上也有几个例子。此解决方案的缺点是需要一些 .NET 的背景知识。您需要添加额外的 DLL 引用(System.Data.DataSetExtensions.dllSystem.Core.dll)和命名空间(System.Linq)。

那么 C# 代码将是:

colOut = col1.AsEnumerable().Except(col2.AsEnumerable(), DataRowComparer.Default).CopyToDataTable();

...col1 和 col2 是输入集合,colOut 是输出集合。

请注意,上面的代码会从 col1 中找到 col2 中不存在的行,要从 col2 中找到 col1 中不存在的行,您要么必须切换输入并再次运行它,要么调整再写一些代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-25
    • 2014-12-06
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多