我需要創建一個頁腳記錄,顯示與表中列數相等的分號。該表有47列,但這可能會改變,所以我需要動態計算列而不使用字典表。頁腳記錄將被導出到一個CSV文件,它的分隔符是分號。動態計算SAS表中的列數
我試過下面的代碼,它可以工作,但是當把數據導出到csv文件時,即使我使用了dequote函數,分號也被雙引號括起來。任何想法刪除它們?提前致謝。
proc contents data=input out=output noprint; run;
proc sort data=output; by varnum; run;
data _null_;
set output;
call symputx("maximum",varnum);
run;
data semis;
length ffsemis $47;
ffsemis = repeat(';',&maximum*1);
* call symputx("semis",ffsemis);
run;
data _null_;
file "E:\semis.csv" delimiter=';' dsd dropover;
set work.semis;
if _n_=1 then do;
put ffsemis;
end;
run;
目前,您的邏輯似乎基於數據集中變量的數量,而不是行數。你確定你想要分號=行嗎? – user667489 2014-09-29 07:24:28
對不起,我的意思是計算數據集中的列或變量。是的,這是變更請求的要求。 – 2014-09-29 08:01:30
更改請求的要求是分號等於列數。 47列= ;;;;;;;;;;;;;;;;;;;;;;;###################################################################### – 2014-09-29 09:49:36