компонент соединения ab initio для определения несоответствующего ключа соединения

У меня есть два файла одинакового формата и столбцов, и я сравниваю их, передавая их в столяре и устанавливая ключ соединения для всех полей.

file a:
ID    DESC    CODE   COMMENT   VALUE
1    AFAF     34      GDG        34
2    DGF      45      DGDF       45

file b:
ID    DESC    CODE   COMMENT   VALUE
1    AFAF     34      XXX        34
2    XXX      45      DGDF       45

В jOINER я устанавливаю ключ соединения как {ID}, {DESC}, {CODE}, {COMMENT}, {VALUE}. Используя файл примера, обе записи перейдут в неиспользуемый порт.

У меня вопрос, можно ли узнать из-за какого поля запись отклонена. Как можно получить следующий вывод

1    AFAF     34      XXX        34  Comment mismatch
2    XXX      45      DGDF       45  DESC mismatch 

Используемый график:

Input file---->Reformat-------
                           |----Joiner----Output
Input file 2---->Reformat-----        --Unused

сильный текст


person Ankit Srivastava    schedule 02.11.2015    source источник


Ответы (2)


Возможно, но вы должны исправить/определить свой ключ. Похоже, вы хотите сопоставить эти файлы с идентификатором в качестве ключа или добавить любой, если хотите иметь больше ключей. Имея это в качестве ключа присоединения, напишите свою функцию преобразования примерно так.

out.comments::if((string_upcase(string_lrtrim(in0.DESC))) != (string_upcase(string_lrtrim(in1.DESC)))) "desc mismatch" else if(do the same on other columns);

Сделав это, вы сможете получить записи, совпадающие с ключами, снабженными комментариями, какие ключи не совпадают.

person Vignesh I    schedule 03.11.2015

если вы хотите идентифицировать записи или поля, из-за которых существует разница, вы также можете использовать записи динамического сравнения.

person Harshad N Purohit    schedule 09.12.2015