使用pentaho排除具有特定值[字符串中的子字符串]的数据
我有一列“数字字段”(Excel表格)。它的值如下所示使用pentaho排除具有特定值[字符串中的子字符串]的数据,pentaho,Pentaho,我有一列“数字字段”(Excel表格)。它的值如下所示 Test_Number Number_field 1 0011 10 00A34 PS 2 0011 10 00A34 PS 3 0010 01 00A30 PS 4 0010 01 00A30 PS 5 0010 01 00A35 PS 6 0010 01 00A35 PS 现在,我需要从这些文件中删除那些
Test_Number Number_field
1 0011 10 00A34 PS
2 0011 10 00A34 PS
3 0010 01 00A30 PS
4 0010 01 00A30 PS
5 0010 01 00A35 PS
6 0010 01 00A35 PS
现在,我需要从这些文件中删除那些包含
“0A34”
和“0A35”
的文件。我怎样才能做到这一点?我尝试了“filter”选项,但无法使用此选项搜索字符串中的子字符串。请帮助如果您想在excel中这样做,那么您可以使用下面的公式并对其进行筛选,以从excel中删除记录。
添加以下公式,并将其拖动到所有记录上。在此新公式列上创建筛选器,然后删除记录
=IF(OR(IFERROR( SEARCH("A34",B2), 0),IFERROR( SEARCH("A35",B2), 0)), "REMOVE", "KEEP")
检查下面的快照
希望这对你有帮助
如果有帮助,则将其标记为答案。使用带有以下参数的
用户定义Java表达式的组合:
- Java表达式:
(数字字段indexOf(“0A34”)!=-1 |数字字段indexOf(“0A35”)!=-1)?“删除”:“确定”
- 值类型:字符串
- 新字段:是要删除的行吗
和筛选行
使用以下参数进行步骤:
- 条件:`is_row_to_remove=remove(String)
- 将“真”数据发送到步骤:您的下一步
- 将“假”数据发送到步骤:
Dummy(不执行任何操作)
step
流程说明:
用户定义的Java表达式:Java代码查找0A34
或0A35
,并在新字段中用Remove
值标记该行is row\u to\u Remove
筛选行:根据中的值筛选记录流的步骤是\u row\u to \u remove
。如果值设置为Remove
,则继续执行Dummy
步骤。否则将继续进行下一步
您可以按如下两个步骤简单地完成此操作。
在筛选行
步骤中,添加以下条件。
这对我来说是新鲜事。不错。:)@mzy和我从来没有尝试过你解释的步骤用户定义Java表达式
也从你的答案中学到了一个新东西:),因为我想在这里发布更多的步骤。如果有人提供了正确的答案,请始终尝试在你的所有问题中选择正确的答案。如果他们帮助了你,总是通过向上投票来鼓励他们。