2013-08-05 41 views
1

我想將數據文件分解成小文件,其中一個變量作爲這些文件名稱的一部分。具體來說,我有一堆人口普查區,加上其他變數。我將它們讀入矩陣,執行一些操作,現在想將數據導出循環並將其保存爲外部數據文件,並將人口普查區作爲名稱的一部分;這有沒有打破循環或退出IML因爲我移動到下道做:從SAS PROC中的循環內部的變量生成文件名IML

read i = first census tract; 
append data from other matrix; 
save out file as "rld_'census_tract' value"; 
read next census tract; 
repeat; 

我試圖symput功能,但它需要使用它打破了流動IML內部數據

回答

0

我不知道在IML(或者即使有)的解決方案,但我會建議一個不同的解決方案。

將所有矩陣寫出到單個數據集中(或者將它們全部附加在一起,或者隨着循環的進行追加到單個數據集中,以較容易的爲準),並在該數據集中追加'census tract'作爲一個變量。然後使用sas datastep將它們寫出來,然後分開文件。如果你正在討論寫出單獨的sas數據集,你可以使用條件邏輯或者你可以創建一個宏調用來做到這一點;如果您正在編寫外部文件(例如CSV或文本文件),則可以使用文件名變量(file語句中的filevar選項)並將其寫出。

這將是相當有效的(特別是對於外部文件方法)並且不需要留在IML中。

+0

嗨喬,非常感謝。不幸的是,由此產生的數據集太大,這就是爲什麼我試圖事先分割它。 –

+0

太大了怎麼辦?你的意思是你不能適應磁盤?或者只是由於尺寸而導致處理速度緩慢? – Joe