作者dofu1943 (那就念吧~~)
看板Statistics
標題[程式] SAS分割檔案後匯出
時間Tue Jul 31 22:13:19 2018
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
新手
[問題敘述]:
我有一個SAS檔案,內有200萬餘個觀察值
檔案內有1個變數叫VAR1
我想要將這個檔案以1萬個觀察值切成一個檔案
並且在匯出的CSV檔中去除掉VAR1這個欄位名稱
[程式範例]:
我查過資料可以用obs選取想要的資料數
所以可以用
data a01;
set a00 (firstobs=1 obs=10000);
run;
data a02;
set a00 (firstobs=10001 obs=10000);
run;
然後做個200多次就完成了.................
接著再用proc export
PROC EXPORT DATA= a01
OUTFILE='D:\file\a01.csv'
REPLACE;
SHEET="sheet1";
RUN;
也是匯個200多次就完成了
但還沒完,我還要將每個csv檔打開
去刪除每個欄位名稱才行
當然也是要開個200次才能完成
目前我做了10次
覺得不太妙~~
不知道有沒有比較省力的方法
proc export那裡應該可以用macro
但要怎麼在輸出csv時不要輸出欄位名稱(VAR1)呢
感謝版友指導
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.61.161
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1533046402.A.C42.html
1F:推 melodyheyhey: set 001(obs=...... drop=var1) 試看看~ 07/31 23:39
OBS=10000
這個只能擷取前10000筆
drop=var1
這個會把整個變數drop掉
2F:→ paladin499: SAS不能寫迴圈嗎? 08/01 07:50
我是想寫迴圈
但
%macro
%do var=1 %to 2000000
這個之前沒發現可以在後面加一個%by調間距
剛才有找到介紹
明天我試試看能不能和obs寫在一起
感謝
※ 編輯: dofu1943 (36.228.61.161), 08/01/2018 22:26:29