我在 csv 文件中有一个名为 Account Rating
的列,并且我正在使用 Modified Java Script Value
步骤来使用评级列创建一个新列。
我想要以下新专栏:
Account Rating New_Rating
---------------------------
Cold ABC
Warm DEF
Hot XYZ
我在 Java 脚本步骤中尝试了以下脚本:
var rating = getInputRowMeta().getString("Account Rating");
var new_rating = "Not assigned";
if (rating === 'Cold')
new_rating = 'ABC';
else if (rating === 'Warm')
new_rating = 'DEF';
else if (rating === 'Hot')
new_rating = 'XYZ';
当我执行它时,出现以下错误:
Can't find method org.pentaho.di.core.row.RowMeta.getString(string)
有人可以帮我编写脚本吗?
最佳答案
如果你想保留包含空格的字段名称并且不能用作JavaScript变量名称,那么你可以修改你的原始代码,首先从RowMetaInterface对象,然后从该索引中获取相应的值:
var mapping = {
'Cold' : 'ABC'
, 'Warm' : 'DEF'
, 'Hot' : 'XYZ'
};
var idx = getInputRowMeta().indexOfValue("Accounting Rating");
var rating = row[idx];
var new_rating = mapping[rating] || 'Not assigned';
更多信息:https://help.pentaho.com/Documentation/6.0/0R0/0V0/010/000/020/010
关于javascript - 从 Pentaho 中 JavaScript 步骤中的上一步读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55518476/