請幫忙解釋一下以下SAS語句的意思
你代碼搞得那么亂,當然看不懂了,真是的! ********************************************************************************************************************** 1 PROC SQL; 2 CONNECT TO oracle AS conname; 3 CEREAT TABLE temp AS SELECT * FROM CONNECTION TO conname 4 ( 5 SELECT 6 bizdate, *,*,close_price, bizdate2, close_price2, 7 close_price/close_price2-1 AS r, 8 to_date(bizdate,'yyyy-mm-dd')-to_date(bizdate2,'yyyy-mm-dd') AS interval 9 FROM _________________________________________________________ 10 ( SELECT bizdate, code,name,close_price 11 FROM pf_all_quotation 12 WHERE 13 typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 'h1100', 'h1100','h1100', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', '00090') AND bizdate = &date_str 14 ) a 15 LEFT JOIN 16 ( 17 SELECT bizdate AS bizdate2,code,name,close_price AS close_price2 18 FROM pf_all_quotation 19 WHERE typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 20 'h1100', 'h1100', 'h1101', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', ' 21 00090') 22 AND bizdate = 20121231 23 ) b 24 ON *=* ___________________________________________________ 25 ); 26 DISCONNECT FROM conname;27 QUIT; ******************************************************************************************************************* 注釋:這段代碼的作用是利用SAS的“PROC SQL”從Oracle數據庫中的數據集 “pf_all_quotation” 中抽取滿足要求的數據項形成一個新的表“temp”,該過程中用到了兩個臨時表a和b,temp就是由a、b兩個表通過“左連接” ( LEFT JOIN)生成的.這段代碼的結構其實很簡單,如果說看不懂,那估計就是你被10-14行的嵌套的SELECT語句給迷惑了吧,另外你的代碼也太亂了,那能容易看懂?理解這段代碼你要先回顧以下幾個知識點。
第2行:SAS與Oracle要首先建立一個“連接”,這個“連接”的名字叫"conname" 第3行:表明通過conname來形成表temp 第7、8行:AS起重命名的作用,前者把除法運算的結果命為r,后者把日期相減的結果命為interval 第10-14行:表a是通過SELECT。FROM。
語句形成的,b同理 第13行:WHERE后面的是條件限制語句.IN表明code須是括號中的某一項. 第15行:左連接.解釋起來很啰嗦,直接給你看個例子。 代碼不是很難,就是需要點耐心。
這下懂了吧?。
sas 語句中的@ 或者是@@是什么意思
兩個都是行控制符
@ 表示執行下一個操作時,指針移到下一個記錄。
@@表示執行下一個操作,指針保持在當前記錄。
給個例子:
data a;
input x y @;
cards;
1 2 3 4
2 2 3 5
3 2 1 1
;run;
proc print data=a;run;
data b;
input x y @@;
cards;
1 2 3 4
2 2 3 5
3 2 1 1
;run;
proc print data=b;run;
結果如下:
The SAS System 10:58 Saturday, December 24, 2011 1
Obs x y
1 1 2
2 2 2
3 3 2
The SAS System 10:58 Saturday, December 24, 2011 2
Obs x y
1 1 2
2 3 4
3 2 2
4 3 5
5 3 2
6 1 1