Мне нужно создать (простой?) Отчет об ошибках из набора данных.Набор данных выглядит следующим образом:
Contract DrvrNum LicNum
------- ------- ---------
2212621 2 8241323
2212621 2 65256129
6385371 1 973385261
6385371 3 973385261
2366922 1 B931151BA
2366922 2 B931151BA
1007922 1 60916004
1007922 2 60916004
Первые 2 наблюдения указывают, что у меня есть два разных номера лицензии для одного и того же драйвера, тогда как следующие три пары наблюдений указывают, что номер лицензии был дублирован для двух илибольше драйверов.
Мой вывод должен выглядеть следующим образом:
Contract DrvrNum LicNum ErrorReason
------- ------- --------- -----------
2212621 2 8241323
2212621 2 65256129 Multiple License Numbers for Same Driver
6385371 1 973385261
6385371 3 973385261 Duplicate License Number
2366922 1 B931151BA
2366922 2 B931151BA Duplicate License Number
1007922 1 60916004
1007922 2 60916004 Duplicate License Number
Я пытался использовать функцию LAG () в шаге данных в сочетании с first.Contract = 0 , но поскольку каждое другое наблюдение является ЛОЖНЫМ, значения запаздывания вышли из-под контроля, не позволяя мне делать что-то вроде:
if LicNum = lag(LicNum) then ErrorReason = 'Duplicate License Number';
else ErrorReason = 'Multiple License Numbers for Same Driver';
Если кто-то может оказать некоторую помощь, ябыл бы благодарен.Я нахожусь в конце этого остроумия.
Спасибо!