В Talend запись с самой высокой зарплатой для одного и того же сотрудника должна иметь флаг true, иначе флаг должен быть false
У меня есть вход как
ID Employee Salary
1 aaa 10000
2 aaa 15000
3 bbb 9000
4 bbb 23000
5 bbb 5000
6 cccc 12000
7 cccc 15000
и мне нужен вывод, как показано ниже:
ID Employee Salary Flag
1 aaa 10000 False
2 aaa 15000 True
3 bbb 9000 False
4 bbb 23000 True
5 bbb 5000 False
6 cccc 12000 False
7 cccc 15000 True
Пробовал с tJavaRow
, Но я не получаю ожидаемого результата.
1 ответ
Вход ------>tJavaRow----->tLogRow
в tJavaRow
if(input_row.EMP.equals(context.emp_temp) && input_row.SAL > context.sal_temp) {
output_row.ID = input_row.ID;
output_row.EMP = input_row.EMP;
output_row.SAL = input_row.SAL;
output_row.FLAG = "true";
}
else {
output_row.ID = input_row.ID;
output_row.EMP = input_row.EMP;
output_row.SAL = input_row.SAL;
output_row.FLAG = "false";
}
context.emp_temp = input_row.EMP;
context.sal_temp = input_row.SAL;