我正在綁定將逗號分隔的文本文件轉換爲管道分隔文件,但我的輸入文件名(逗號分隔文件)是一個變量(flname1)。我正在使用下面的代碼由一個stackoverflow成員建議。代碼工作很好,只要我在INFILE語句中指定的文件名,但我不知道如何爲可變指定在infile語句中指定文件名作爲變量
data _null_;
enddate=date();
flname1=compress("d:\temp\wq_" || year(enddate) || put(month(enddate),z2.) || ".txt");
length x1-x6 $200;
infile 'flname1' dsd dlm=',' truncover;
file 'C:\temp\pipe.txt' dsd dlm='|';
input x1-x6;
put x1-x6;
run;
我是新的文件名SAS和任何幫助將不勝感激。謝謝!
你在infile語句上試過'filevar'選項嗎? https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm – Reeza
略顯偏離主題,但爲了讓您的生活更輕鬆,您還應該考慮使用' cat()'函數執行連接。有幾個 - catt()cats()cat()catx()'。它們提供了一些生活質量改進,例如處理數字和字符之間的類型轉換,修剪以及添加分隔符等等。使用雙管符號'||'現在已經過時,但傳播了大量遺留白皮書和培訓材料。它也將消除對'compress()'語句的需要。 –
創建管道分隔文件的要點是什麼? –