[程式] SAS 中斷迴圈

看板Statistics作者 (小瓶)時間11年前 (2015/01/05 22:49), 11年前編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 高(1年以上) [問題敘述]: 中斷迴圈的語法一般是break, 但SAS好像是"leave"指令 我試了以下兩種寫法, 卻一直跑不出來, 想請大家幫忙解決, 謝謝! [程式範例]: %MACRO ex1(); DATA bb; SET aa; obs2=obs; IF cond1=lag(cond2) THEN obs2=obs+1; ELSE %DO i=2 %TO 100; IF cond1=lag&i(cond2) THEN DO; obs2=obs+&i; LEAVE; END; %END; RUN; %MEND; %ex1() %MACRO ex2(); DATA bb; SET aa; obs2=obs; eend=0; i=2; %LET i=2; IF cond1=lag(cond2) THEN obs2=obs+1; ELSE DO WHILE (eend=0); IF cond1=lag&i(cond2) THEN DO; obs2=obs+&i; eend=1; END; %LET i=%EVAL(&i+1); END; RUN; %MEND; %ex2() ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.197.144 ※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1420469398.A.7C1.html ※ 編輯: ilkny (36.229.197.144), 01/05/2015 22:50:42

01/05 22:54, , 1F
第一個macro語法有錯 else應該是在%do loop裡面
01/05 22:54, 1F

01/05 22:54, , 2F
但沒仔細想不確定進去之後是不是就對了XD
01/05 22:54, 2F

01/15 14:42, , 3F
請問%do %to的迴圈可以用在資料集裡面?
01/15 14:42, 3F
文章代碼(AID): #1KggIMV1 (Statistics)