Saya relatif baru dalam pemrograman SAS tetapi saya telah mempelajari dasar-dasarnya selama beberapa bulan terakhir, dan ini memenuhi kebutuhan saya. Namun saat ini saya mengalami masalah dan membutuhkan bantuan. Saya mencoba memperbarui basis data dan membuat dua variabel baru yang akan membantu melacak pembaruan. Jadi saya menyederhanakan masalah saya dengan tabel berikut:
Tabel Sumber
ID Record_ID Correction_ID
0001 A001
0002 A002
0003 A003 A001
0004 A004 A002
0005 A005
0006 A006 A004
Tabel Sasaran
ID Record_ID Correction_ID Original_Record Count
0001 A001 A001 0
0002 A002 A002 0
0003 A003 A001 A001 1
0004 A004 A002 A002 1
0005 A005 A005 0
0006 A006 A004 A002 2
Correction_ID menunjukkan catatan yang sedang dicoba diperbaiki/diubah oleh catatan saat ini.
Hitungan menunjukkan nomor pembaruan pada catatan asli.
Terima kasih.
Edit
Kode Proc SQL yang saya coba tetapi tidak berhasil:
ID Record_ID Correction_ID Original_Record Count
Table 1
0001 A001 A001 0
0002 A002 A002 0
0005 A005 A005 0
Table 2
0003 A003 A001
0004 A004 A002
0006 A006 A004
SELECT ID,
Record_ID, *how to include ID from both table? Or don’t even separate?
Correction_ID, *same as above
CASE
WHEN Correction_ID is null THEN One.Original_Record
ELSE (SELECT Original_Record FROM One WHERE Two.Correction_ID=One.Record_ID)
END as Original_Record,
CASE
WHEN Count is not null THEN One.Count
ELSE (SELECT Count FROM One WHERE Two.Correction_ID=One.Record_ID) + 1
END as Count;
FROM Table 1 AS One, Table 2 AS Two;