作者hanjing (心寬念純)
站內Statistics
標題Re: [問題] SAS proc sql的問題
時間Sat Mar 28 10:26:48 2009
昨天根據tew版友的指導
我順利的取出想要的變數
但最後在merge時失敗了
我的指令如下
proc sql;
create table A1 as
select var2,
var1
from A; quit;
proc sql;
create table B1 as
select var3,
var1
from B; quit;
proc sort data=A; by var1;
proc sort data=B; by var1;
data A1B1;
merge A B;
by var1;
run;
proc sort data=C; by var1;
data A1B1C;
merge A1B1 C;
by var1;
run;
我想做的事情是把A和B中的var1 var2 var3抽出來
再依據var1這個變數
merge
A1和 B1 兩個表格
成為A1B1
到這個地方都ok
但最後要merge A1B1 和 C 時
就失敗了
我的想法是 C 沒有經過proc sql的程序
所以無法和經過proc sql程序的表格merge
於是我又做了一個步驟
proc sql;
create table C1 as
select *
from C;
quit;
但是
這個動作完全失敗
一個變數都沒有出來
想請問
如果我只想要把A表格的var1 var2 和 B表格的var1 var3抽出來
再以var1為對照標準把表格A和B的var2與var3丢進去C表格裡面
那我怎麼做最快
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.78.46
推 bugle:為啥不用 SQL 幫你 MERGE ??? 03/28 11:15
→ bugle:另,可否用table1,table2,...重新改code? 你貼得眼花撩亂= = 03/28 11:16
※ 編輯: hanjing 來自: 140.115.78.46 (03/28 12:05)
→ hanjing:sorry我重新編輯過了,希望比較容易看些 03/28 12:06
→ hanjing:麻煩bugle大教一下用sql merge的指令,感謝感謝 03/28 12:07
推 west1996:proc sql; 03/28 21:17
→ west1996:create c as 03/28 21:17
→ west1996:select coalesce(a.var1,b.var1) label='var1',a.var2, 03/28 21:18
→ west1996:from a full join b 03/28 21:18
→ west1996:on a.var1=b.var1; 03/28 21:18
→ west1996:quit; 03/28 21:19