Pentaho Spoon Value Mapping

时间:2014-11-13 15:42:01

标签: sql pentaho etl pentaho-spoon

我是勺子工具的新手,我正在提取一个表值来加载另一个具有相同属性的表。在第一个表格中,有一列包含 nchar 值,例如'y'和'no',表示(是和否)。

我的问题是第二个表有一个列将这些值保存为 tinyint ,如'y' - > 1和'n' - > '0'

table1

  • ý
  • ý
  • 名词
  • 名词
  • ý

table2

  • 1
  • 1
  • 0
  • 0
  • 1

因此有一种简单的方法可以替换这些值并通过映射来更改它们的类型。我可以在我的sql语句中完成这项工作,如下所示

SELECT CASE <variable> 
           WHEN <value>      THEN <returnvalue> 
           WHEN <othervalue> THEN <returnthis> 
           ELSE <returndefaultcase> 
       END 
  FROM <table> 

如果只有'y'和'n'值,这个解决方案就可以了,但由于很多表中有很多值,例如('a' - &gt; 2,'b' - &gt; 3,' c' - &gt; 4)现在对我来说有点头疼。 如果有人告诉我一个实用的方法,我会很感激。

1 个答案:

答案 0 :(得分:2)

使用值映射器步骤来实现这么简单的操作,或者只使用case语句。我不会将该映射存储在数据库中,因为它非常简单。

在值映射器中添加目标字段,因为数据类型不排成一行。然后,如果要重命名或替换旧列,请使用选择值步骤

enter image description here