SAS入门基础(select结构和循环结构)
生活随笔
收集整理的這篇文章主要介紹了
SAS入门基础(select结构和循环结构)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.SELECT結(jié)構(gòu)
格式一:SELECT (選擇表達(dá)式);WHEN(值列表) 語(yǔ)句;WHEN(值列表) 語(yǔ)句;……OTHERWISE 語(yǔ)句;END; 功能及流程:執(zhí)行SELECT結(jié)構(gòu)時(shí),先計(jì)算出選擇表達(dá)式和值列表中的所有值,然后把選擇表達(dá)式值由前向后與值列表中的值相比,發(fā)現(xiàn)相等值則執(zhí)行對(duì)應(yīng)的語(yǔ)句,然后退出SELECT結(jié)構(gòu)(不再查看后面的值列表)。如果選擇表達(dá)式的值不等于任何值列表中的值則執(zhí)行OTHERWISE對(duì)應(yīng)的語(yǔ)句,這種情況下沒(méi)有OTHERWISE語(yǔ)句會(huì)出錯(cuò)。 例:DATA ;INPUT month $ @@;put month @;SELECT(month);WHEN('Feb', 'Mar', 'Apr') put '春天';WHEN('May', 'Jun', 'Jul') put '夏天';OTHERWISE put '秋天或冬天';END;CARDS;Mar Jun oct;run;格式二:
SELECT; WHEN(條件) 語(yǔ)句; WHEN(條件) 語(yǔ)句; …… OTHERWISE 語(yǔ)句; END; 這種SELECT語(yǔ)句沒(méi)有選擇表達(dá)式,而是在每一個(gè)WHEN語(yǔ)句指定一個(gè)條件(邏輯表達(dá)式), 執(zhí)行第一個(gè)滿足條件的WHEN后的語(yǔ)句。如果所有條件都不滿足則執(zhí)行OTHERWISE后的語(yǔ)句。 例:data;input age @@;put age @;SELECT;WHEN(age<=12) put '少年';WHEN(age<35) put '青年';OTHERWISE put '中老年';END;cards;10 30 50;run;2.循環(huán)結(jié)構(gòu)
⒈計(jì)數(shù)DO循環(huán) ⒉當(dāng)型循環(huán) ⒊直到型循環(huán) ⒈計(jì)數(shù)DO循環(huán)計(jì)數(shù)DO循環(huán)的格式:DO 計(jì)數(shù)變量 = 起始值 TO 結(jié)束值 BY 步長(zhǎng);循環(huán)體語(yǔ)句……END;這種結(jié)構(gòu)與BASIC中計(jì)數(shù)循環(huán)很類似,功能也相當(dāng),只是在SAS中是以關(guān)鍵字DO開(kāi)頭(不是FOR),另外步長(zhǎng)用BY引導(dǎo)(不是STEP),而結(jié)構(gòu)以END結(jié)束(而不是NEXT)。其功能與流程:程序先把計(jì)數(shù)變量賦值為起始值,如果此值小于等于結(jié)束值則執(zhí)行循環(huán)體語(yǔ)句,然后把計(jì)數(shù)變量加上步長(zhǎng),再判斷它是否小于等于結(jié)束值,如果是則繼續(xù)執(zhí)行循環(huán)體,直到計(jì)數(shù)變量的值大于結(jié)束值為止。上述結(jié)構(gòu)中“BY 步長(zhǎng)”可以省略,這時(shí)步長(zhǎng)為1。如果步長(zhǎng)取負(fù)值,則繼續(xù)循環(huán)的條件是計(jì)數(shù)變量大于等于結(jié)束值。計(jì)數(shù)DO循環(huán)舉例:data;sum=0;DO i = 1 TO 10 ;sum +i;/*此處sum+i等價(jià)于sum=sum+i*/END;PUT sum=;run;在循環(huán)體中可以用LEAVE語(yǔ)句跳出循環(huán)(功能與C語(yǔ)言的break語(yǔ)句相當(dāng)),如:data;n=13;flag=1;DO i = 2 TO n/2 ;if mod(n,i)=0 then do;flag=0;leave;end;END;if flag=1 thenput n "是素?cái)?shù)";elseput n "不是素?cái)?shù)";run;⒉當(dāng)型循環(huán)當(dāng)型循環(huán)的格式:DO WHILE(循環(huán)繼續(xù)條件);循環(huán)體語(yǔ)句……END;程序先判斷循環(huán)繼續(xù)條件是否成立,成立時(shí)執(zhí)行循環(huán)體語(yǔ)句,再判斷循環(huán)繼續(xù)條件,如此重復(fù),直到循環(huán)繼續(xù)條件不再成立。data;x=243;y=63;z=mod(x,y);DO WHILE (z ^= 0);x=y;y=z;z= mod(x,y);END;put y;run; ⒊直到型循環(huán)直到型循環(huán)的格式:DO UNTIL (循環(huán)退出條件);循環(huán)體語(yǔ)句……END;程序先判斷循環(huán)退出條件是否成立,成立則結(jié)束循環(huán),否則繼續(xù)。例:data;n=0;do until (n>=5);n+1;put n=;end;run;總結(jié)
以上是生活随笔為你收集整理的SAS入门基础(select结构和循环结构)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 栅栏密码怎么写java程序_[CTF]栅
- 下一篇: mysql 拼接字符串查询