Re: [程式] sas合併不同時期的同筆資料
有點不懂你想表達的意思,暫且把重點放在這句話
"想要寫出SAS的程式,創造出新名稱,可以串聯同一家公司曾經用過的名稱,去了解
該公司在不同時期的其他資訊。"
下列語法的意思是A和B是同間公司但時間點不同,所以先定義一個新變數v3
其中A和B的值為K1,C值為K2,D值為K3。
之後用proc sql去抓你想要的公司,這邊假設是K1,然後依照時間變數V2排序。
不知道這是不是你要的答案
data w1;
input v1 $ v2;
if v1='A' then v3='K1';
else if v1='B' then v3='K1';
else if v1='C' then v3='K2';
else v3='K3';
cards;
A 2012
B 2000
C 1999
A 2012
B 2000
C 1999
D 1988
;
run;
proc sql;
select v2,v3
from work.w1
where v3='K1'
order by v2 desc;
run;
※ 引述《ss502 (ss502)》之銘言:
: ------------------------------------------------------------------------
: [軟體程式類別]:
: sas
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 新手(不到1個月)
: [問題敘述]:
: 不好意思,在前一篇發文中,沒有把資料表達好。
: 資料庫較像這樣的情形。
: 新名稱 舊名稱 營業開始日期 year
: A01 20001012 2000
: A01 20001012 2001
: A01 20001012 2002
: A01 20001012 2003
: A01 20001012 2004
: A01 20001012 2005
: A03 20030705 2003
: A03 20030705 2004
: A03 20030705 2005
: A07 A01 20020603 2002
: A07 A01 20020603 2003
: A07 A01 20020603 2004
: A07 A01 20020603 2005
: A11 19991212 1999
: A11 19991212 2000
: A11 19991212 2001
: A11 19991212 2002
: A11 19991212 2003
: A11 19991212 2004
: A11 19991212 2005
: A13 G17 20020908 2002
: A13 G17 20020908 2003
: A13 G17 20020908 2004
: A13 G17 20020908 2005
: B36 20010708 2001
: B36 20010708 2002
: B36 20010708 2003
: B36 20010708 2004
: B36 20010708 2005
: E06 A07 20031015 2003
: E06 A07 20031015 2004
: E06 A07 20031015 2005
: E07 A11 20041215 2004
: E07 A11 20041215 2005
: G17 B36 20020317 2002
: G17 B36 20020317 2003
: G17 B36 20020317 2004
: G17 B36 20020317 2005
: A01(20001012)變成A07(20020603)再變到E06(20031015),這是同一間公司。也就是說
: 這家公司在20001012-20020602這段期間叫做A01,而在20020603-20031015這段期間叫做
: A07,在20031015-到現在(取到20051231為止)叫做E06。
: A03(20030705),這間公司從頭到尾沒有變過名稱。
: A11(19991212)變成E07(20041215),這是同一間公司。意思是說這家公司在
: 19991212-20041215這段期間叫做A11,20041215-到現在(取到20051231為止)叫做E07。
: B36(20010708)變成G17(20020317)變成A13(20020908),這是同一間公司。
: 20010708-20020317這段期間叫做B36,而在20020317-20020908這段期間叫做G17,
: 在20020908-到現在(取到20051231為止)叫做A13。跟上面不同的是他在同一年裡有
: 兩個名稱。
: 只要開始有一個名稱出現,每年都會出現。例如A01這間公司在20001012成立,之後每年都
: 會出現在資料庫當中,也就是說這個資料庫的資料是累積的。
: 這個資料庫觀察數大概有五十幾萬,而且名稱相當複雜沒有一定的規律。
: 想要寫出SAS的程式,創造出新名稱,可以串聯同一家公司曾經用過的名稱,去了解
: 該公司在不同時期的其他資訊。
: 希望板上大大幫忙,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.136.134.90
※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1407331076.A.497.html