2015-09-07 48 views
0

嘗試從其他結構化數據集中刪除分頁標題標籤。沒有標題下面的工作:SAS導入 - 刪除標題行

data uk; 
infile "/folders/myfolders/import/withheader.txt" truncover; 
format promocode_order best10. date date9. time TIME8. code $20. singlecode $20. name $50. order_spend best8. shipping_cost best8. country_code $2.; 
informat date DDMMYY10. time TIME8. ; 
input @1 promocode_order @12 date @23 time @32 order_spend @45 shipping_cost @59 code/
name 1-50/
@1 country_code; 
country_code="UK"; 
run; 

但是有標題是一個問題。有沒有一種方法可以在導入之前遍歷文件並選擇要導入的記錄。我可以排除它是否以標題標籤開始/爲空。

謝謝!

+0

您應該發佈一些顯示標題的示例數據。 – Tom

回答

0

在您的數據步驟中添加dummy輸入語句,爲進一步輸入語句保留該行,並檢查自動變量_INFILE_是否包含標題行。如果它不繼續您的正常input聲明。

E.g.

input @; 
if _INFILE_ ne "header row string" then <original input statement>; 
0

通常你輸入該行的一些部分,並從值中告訴它是一個應該被刪除的頭部。也不要使用FORMAT語句來執行LENGTH或ATTRIB語句的工作。因此,如果您的標題行看起來像變量名稱,那麼它可能就像刪除以「PROMOCODE」開頭的行一樣簡單。

data uk; 
    infile "/folders/myfolders/import/withheader.txt" truncover; 
    length promocode_order date time 8 code singlecode $20 
     name $50 order_spend shipping_cost 8 country_code $2 
    ; 
    format date date9. time TIME8. ; 
    informat date DDMMYY10. time TIME8. ; 
    input @ ; 
    if infile=:'PROMOCODE' or _infile_=' ' then delete ; 
    input @1 promocode_order @12 date @23 time @32 order_spend @45 shipping_cost @59 code 
    /@1 name 1-50 
    /@1 country_code 
    ; 
run;