問題があります。私は、IDが時間の経過とともに変化するときに、別のテーブル用のクロスウォークを作成する必要があります。 idの変更にかかわらず、初年度のidが必要です。SAS:時間とともに変化する値からクロスウォークを作成する
data have;
input ORIG_ID $ CHANGE_ID $ YEAR
AAA BBB 1990
BBB AAA 1991
PPP ZZZ 1993
ZZZ YYY 1994
YYY ZZZ 1996
TTT MMM 1990
;
**What I want :**
/****OUTPUT****/
CHANGE_ID ORIG_ID
BBB AAA
ZZZ PPP
YYY PPP
MMM TTT
/*My logic so far*/
proc sql;
create table temp as
select CHANGE_ID, ORIG_ID
case
when (CHANGE_ID<ORIG_ID) then cat(CHANGE_ID,ORIG_ID)
when (ORIG_ID<CHANGE_ID) then cat(ORIG_ID,CHANGE_ID)
end as key, year
from dat
order by key,year;
quit;
data final;
retain CHANGE_ID ORIG_ID
set temp;
by key;
if first.key;
run;
/*But this works for id changing for AAA to BBB, may be not*/
あなたがどんな混乱を持っている場合は、私に教えてください:ここで
データサイエンスや統計の観点から、クロスウォークについて聞いたことはありません。 IDの値の変化を追跡するための監査証跡について話していますか? –
hehe :)。このクロスウォークは、時間の経過とともにIDが変更される別のデータセットに必要です。元のIDに変更され、元のIDと最悪のIDが変更されることがあります。私たちはすべての変更IDを発生の最初のものに保ちたい。これはあなたに理にかなっていますか? – ammosperros