宏語句中使用dim()函數

  1. %macro test;
  2. data _null_;
  3.     a=1;
  4.     b=2;
  5.     c=3;
  6.     array abc[*] a b c;
  7.     %do i=1 %to dim(abc);
  8.         put abc[&i];
  9.     %end;
  10. run;
  11. %mend;
  12. %test;


錯誤原因:sas在編譯的時候,應該先編譯宏,然後再編譯和執行數據步過程,在編譯宏的時候遇到dim(abc),這個 時候要知道具體的值是多少,而這個時候數據步還沒有編譯執行,abc數組的元素個數還沒有確定,所以在編譯的時候無法確定dim(abc)的個數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章