0

我必须设计 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 中是否可行

4

1 回答 1

1

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

  • 您的查找表提供了您想要过滤掉(或过滤掉)的各种字符串;
  • 使用一个组来连接所有由 | 分隔的字符串;结果是“出租车|出租车”。
  • 前置 . (并附加)。有一个计算器步骤,以 . 结尾。(出租车|出租车)。; 将此字段称为“regex_filter”
  • 将这一行与主数据流交叉连接;
  • 现在您可以使用条件为“NOT input_field REGEXP regex_filter”的过滤器行。(您可能希望在正则表达式前面加上 (?i) 以使其不区分大小写)。

见附件示例:PDI 5.4 中的正则表达式过滤器

于 2016-03-10T11:32:29.917 回答