FilterDataTable(筛选数据表) 活动描述
FilterDataTable(筛选数据表):通过在“筛选器向导”窗口中指定条件来筛选“DataTable”数据表变量,可以根据在该向导中指定的逻辑条件保留或删除行或列。使用如下图:
FilterDataTable(筛选数据表)属性配置
属性 | 作用 |
DisplayName | 在设计器面板中设置活动显示的名称 |
Private | 如果选中,则参数和变量的值不会出现在繁冗的日志中(数据不会被记录在日志文件中)。 |
Input Data Table输入数据表 | 输入数据表,表示需填写要筛选的“DataTable”变量名称 |
Output Data Table 输出数据表 | 输出数据表,表示需输出的“DataTable”变量。 注意:如与现有输入数据表变量相同,则系统会根据此次更改覆盖该变量,提供不同变量则不会导致“输入”变量发生更改。 |
FilterDataTable(筛选数据表)过滤配置详解
FilterDataTable(筛选数据表)过滤配置详解:
下图过滤条件逻辑是:保留符合“运输方式”是“铁路运输” 或“配送商”是深圳市PF物流有限公司“条件的行数据,并将其结果保存到filterDt 数据表变量。
提示:需过滤行时可采用该活动来实现。
FilterDataTable(筛选数据表)过滤配置详解:
下图过滤条件逻辑是:保留“城市”、“配送中心”、“分销渠道”列,其他列不会在数据表中,并将其结果保存到filterDt 数据表变量。
提示:如果需删除指定列标题,选中 Remove 选项
本节实战01-FilterDataTable(筛选数据表)
需求:读取物流发货明细表.xlsx 文件的物流明细工作表,查询配送商是上海XJ货运服务有限公司或是深圳市PF物流有限公司的数据。
FilterDataTable与Filter 对比
DataTable-FilterDataTable(筛选数据表)与Filter(过滤) 对比:
1、两者都是对数据进行过滤
2、前者是对数据表变量类型Data Table 进行过滤,是对Uipath内存处理
3、后者是对Excel 文件Sheet 数据进行过滤,类似手工在Excel 点击“筛选”操作
4、在Excel 新式活动,建议优先使用Filter 对数据筛选,以便减少内存容量,减少循环遍历次数,提高处理性能
FilterDataTable类似几种过滤方法
FilterDataTable 可以用以下几种方法来替换,代码更加简洁
方法1:Select (推荐采用该方法)
语法:需要过滤的数据表名.Select(“[列名名称1]=‘*****’ and [列名名称2]=‘*****’ ”). CopyToDataTable 返回数据表DataTable 类型
示例: dtTable.select(“[配送商]=‘上海XJ货运服务有限公司’ or [配送商]=‘深圳市PF物流有限公司’ ”). CopyToDataTable
方法2:DataTable扩展方法DataTable.AsEnumerable()
语法:需要过滤的数据表名.AsEnumerable().Where(Function(r)r("字段名").ToString="条件值").CopyToDataTable
方法3:Linq 过滤
(From r In需要过滤的数据表名.Select() Where r("字段名").Equals("条件值") Select r).CopyToDataTable