我試圖獲取所有前綴爲TIME_INTERVAL的fname變量。但是,看起來下面的put語句沒有輸出。我想知道是什麼原因?前綴不起作用的SAS名稱
%LET TIME_INTERVAL='MINUTE15';
data _null_;
set filenames;
by fname;
if fname =: "&TIME_INTERVAL";
put fname;
run;
如果我把PUT語句if語句以上,但是,它可以輸出正確:
%LET TIME_INTERVAL='MINUTE15';
data _null_;
set filenames;
by fname;
put fname;
if fname =: "&TIME_INTERVAL";
run;
更新:
數據集文件名的內容:
MINUTE15_group0.csv
MINUTE15_group1.csv
MINUTE15_group2.csv
MINUTE15_group3.csv
MINUTE15_group4.csv
MINUTE15_group5.csv
MINUTE15_group6.csv
MINUTE15_group7.csv
MINUTE15_group8.csv
MINUTE5_group0.csv
MINUTE5_group1.csv
MINUTE5_group2.csv
MINUTE5_group3.csv
MINUTE5_group4.csv
MINUTE5_group5.csv
MINUTE5_group6.csv
MINUTE5_group7.csv
MINUTE5_group8.csv
SECOND5_group0.csv
SECOND5_group1.csv
SECOND5_group2.csv
SECOND5_group3.csv
SECOND5_group4.csv
SECOND5_group5.csv
SECOND5_group6.csv
SECOND5_group7.csv
SECOND5_group8.csv
您的FNAME值中沒有像您的宏變量那樣的單引號。 – Tom
我認爲單引號只是意味着字符串? –
一切都是宏處理器的字符串。 – Tom