Pentaho:基于另一列添加另一列

Posted

技术标签:

【中文标题】Pentaho:基于另一列添加另一列【英文标题】:Pentaho: add another column based on another column 【发布时间】:2018-01-04 08:08:33 【问题描述】:

我有这种情况,我有关于年龄的数据,我想添加另一个年龄范围

范围 1(0-18 岁)= 儿童; 范围 2 (19-50) = 成人; 范围 3 (50+) 老年人

如何在 Pentaho 中做到这一点?我已经尝试过使用过滤器等,但我没有成功。所以我想有一个如下图所示的输出(大约 100k 行,所以我不能手动完成)。

目标数据[AgeRang 列添加]:

【问题讨论】:

【参考方案1】:

您要查找的步骤名为Number range

【讨论】:

【参考方案2】:

我会使用一个名为User Defined Java Expression 的步骤,它使用Java expression 过滤数据并添加新列age_range 来记录流的行。

Java expression 字段中使用此语句:

(age <= 18) ? 1 : (age <= 50) ? 2 : 3

从执行中检查下图:

【讨论】:

以上是关于Pentaho:基于另一列添加另一列的主要内容,如果未能解决你的问题,请参考以下文章

过滤行 - Pentaho

Clickhouse - 添加一个新列,默认值基于另一列

基于另一列向数据框添加列索引(在这种情况下为用户)

阿帕奇火花。 UDF 列基于另一列而不将其名称作为参数传递。

Pandas - 基于另一列(城市名称)创建一个新列(分支名称)

基于sql中另一列的一列中的最大数据