查找使用包含匹配

时间:2016-03-09 13:44:20

标签: pentaho pentaho-spoon

我必须设计ETL以将数据加载到表中。但是,我不应该在查找表中加载匹配键的值。例如

*Input Table*
Cab Ride
Ride in Cab
Booked Cab
Self drive
Car pooling

*Lookup Table*
Cab
Taxi


*Destination Table*
Self drive
Car pooling

正如我们在目标表中看到的那样,我们不会加载包含Cab

的数据

如果Pentaho或SQL

中有可能,请告诉我

1 个答案:

答案 0 :(得分:1)

最简单的方法是构建一个正则表达式

  • 您的查找表会提供您要过滤的各种字符串 out(或in);
  • 使用分组逐步连接所有这些字符串 以|分隔结果是" Cab | Taxi"。
  • Prepend。(并追加 )。带计算器步骤,最后用。(Cab | Taxi)。;将此字段称为" regex_filter"
  • 将此单行与主数据流交叉连接;
  • 现在您可以使用条件为" NOT input_field REGEXP regex_filter"的过滤器行。 (您可能希望将(?i)添加到正则表达式以使其成为案例 不敏感的)。

参见附件示例:Regex filter in PDI 5.4