Re: [問題] SAS proc sql的問題

看板Statistics作者 (心寬念純)時間17年前 (2009/03/28 10:26), 編輯推噓2(2010)
留言12則, 4人參與, 7年前最新討論串2/7 (看更多)
昨天根據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

03/28 11:15, , 1F
為啥不用 SQL 幫你 MERGE ???
03/28 11:15, 1F

03/28 11:16, , 2F
另,可否用table1,table2,...重新改code? 你貼得眼花撩亂= =
03/28 11:16, 2F
※ 編輯: hanjing 來自: 140.115.78.46 (03/28 12:05)

03/28 12:06, , 3F
sorry我重新編輯過了,希望比較容易看些
03/28 12:06, 3F

03/28 12:07, , 4F
麻煩bugle大教一下用sql merge的指令,感謝感謝
03/28 12:07, 4F

03/28 21:17, , 5F
proc sql;
03/28 21:17, 5F

03/28 21:17, , 6F
create c as
03/28 21:17, 6F

03/28 21:18, , 7F
select coalesce(a.var1,b.var1) label='var1',a.var2,
03/28 21:18, 7F

03/28 21:18, , 8F
from a full join b
03/28 21:18, 8F

03/28 21:18, , 9F
on a.var1=b.var1;
03/28 21:18, 9F

03/28 21:19, , 10F
quit;
03/28 21:19, 10F

11/09 14:52, , 11F
為啥不用 SQL 幫你 https://noxiv.com
11/09 14:52, 11F

01/02 14:52, 7年前 , 12F
//noxiv.com http://yofuk.com
01/02 14:52, 12F
文章代碼(AID): #19pOhfp9 (Statistics)
討論串 (同標題文章)
文章代碼(AID): #19pOhfp9 (Statistics)