2016-02-05 74 views
0

當我試圖子集化數據集子集化數據集

 option mprint mlogic; 

    %macro subset_by_make (dsn, make); 
     data temp; 
      set &dsn(where = (make = &make)); 
    run; 
    %mend subset_by_make; 
    %subset_by_make(sashelp.cars, Acura); 

當宏地方使用,但我得到一個錯誤,用凡在SAS宏變量謳歌是不是在文件SASHELP.CARS

如何着手/ 感謝 瑪吉

回答

0

你需要確保你的宏生成有效的SAS語法。在這種情況下,您並未在字符串文字周圍加入引號,因此SAS會將​​該宏生成的字符串Acura解釋爲變量名稱。

%macro subset_by_make (dsn, make); 
    data temp; 
    set &dsn(where = (make = "&make")); 
    run; 
%mend subset_by_make;