Johdatus SAS: n silmukoihin

SAS analyyttisenä ratkaisuna luotiin Pohjois-Carolinan osavaltion yliopistossa 1970-luvulla, tulevina vuosikymmeninä kehitettiin uusia tilastollisia menettelyjä ja sisällytettiin parempia oliokeskeisiä komponenttikirjastoja. Tässä tilanteessa SAS: n hallussa on lähes 80 prosenttia tilastollisen analyysin kokonaismarkkinoista.

Tyypillinen SAS-ohjelma voidaan jakaa kahteen vaiheeseen, nimittäin DATA-vaiheeseen ja PROC-vaiheeseen. DATA-vaihe hakee ja auttaa tietojen käsittelyssä, kun taas PROC-vaiheessa on toiminnallisuuksia datan analysoimiseksi ja datan analyyttisten toimintojen suorittamiseksi. Datavaihe voidaan edelleen jakaa kahteen vaiheeseen, jotka ovat kokoamis- ja toteutusvaiheet.

Mikä on silmukka?

Tietokoneohjelmointikielten perustekijöissä silmukkaa voidaan pitää toimeenpano-ohjeiden ketjuna tai sekvenssinä, jota jatkuvasti suoritetaan / toistetaan / tai toistetaan, kunnes tietty ehto saavutetaan. Silmukoita käytetään lausekelohkon toistuvaan suorittamiseen, silmukoiden virtauksen luokittelussa voidaan määrittää, onko silmukka tulo-ohjattu silmukka vai onko se poistumisohjattu silmukka. Ohjelmointikääntäjä ennen lausuntojen suorittamista tarkistaa, ovatko kaikki lausekkeisiin liittyvät ehdot silmukoiden suorituksen alkaminen on validoitu ja totta, tämän toiminnan suorittavat pääsyohjatut silmukat.

Poistumisohjatulle silmukalle kääntäjä vahvistaa silmukan lopettamiseen liittyvät ehdot. Silmukoiden virtauksen aikana tietty prosessi on saatu päätökseen, kuten parametrin tai minkä tahansa kohteen hankkiminen syöttötiedoista, parametrien analysointi tai muuttaminen, jota seuraa ehto, joka tarkistaa raja-arvon, kuten esimerkiksi laskurin (lippu) silmukkaan liittyvä arvo). Edellytyksissä, jos se täyttyy, seuraava käsky ohjaa sekvenssin palaamaan sekvenssin ensimmäiseen käskyyn ja toistamaan sekvenssi. Kun ehto on saavutettu, kääntäjän virta siirtyy ohjelmoituihin käskyhaaroihin, jotka ovat silmukan ulkopuolella. Siksi silmukka on ohjelmointikäytäntö, jota käytetään yleisesti vähentämään koodin redundanssia ja monimutkaisuutta.

Silmukoita SAS: ssä

Alla on joukko SAS: n silmukoita, jotka ovat seuraavat:

1. Iteratiiviset Do-silmukat

Do Loop, joka tunnetaan myös nimellä Iterative Do Loops, on alkeellisin muoto silmukoita, jotka suoritetaan SAS-tietojoukossa SAS Data Step -sovelluksessa. Tämä silmukka on luonteeltaan täysin ehdoton ja suoritetaan määritelmän mukaisesti iteroidakseen kiinteän määrän lukumääriä tai kunnes se vastaanottaa virheen, joka johtaa virran siirtämiseen datavaiheesta. Tämä silmukka löytää hyödyllisyyden ohjelmissa, joita käytetään iteratiiviseen laskentaan, ja ohjelmiin, jotka liittyvät toistuviin matemaattisiin tai tilastollisiin laskelmiin.

Syntaksi:

i = n - m;

n ja m ovat laskurimuuttujia.

2. Ehdolliset silmukat

Ehdolliset silmukat SAS: ssä ovat muut do-silmukat, jotka suoritetaan datavaiheissa. Nämä ovat periaatteessa kaksi silmukkaa, jotka ovat Tee samalla ja Tee kunnes. Silmukoiden välinen ero perustuu siihen tosiseikkaan, että Do While -silmukat jatkavat suorittamista, kunnes silmukan ehto on totta, kun taas Do Kuni -silmukka suoritetaan, kunnes määritetty tila pysyy väärin ja virta siirtyy silmukasta heti, kun tilasta tulee väärä. Do Kuni -silmukka suoritetaan silmukan alareunassa, kun taas Do While -silmukka suoritetaan silmukan yläosassa. Tämä antaa suurimman eron kahden silmukan välillä, jotka ovat Do Kuni -sovellusta, joka suoritetaan vähintään kerran, kun niitä käytetään ohjelmassa, kun taas Do While -toimintoa ei välttämättä suoriteta ollenkaan, jos ehto ei ole tosi, virtaus ei pääse Loops-iteraatioon.

Syntaksi:

tee kunnes (ehto);

tee samalla (kunto);

Esimerkkejä SAS-silmukoista

Yritetään ymmärtää SAS: n silmukoiden käsite ohjelmilla:

Esimerkki 1: Tee silmukka

Ohjelmoida

data Test;
money = 10000
do i = 1 to 10;
money = money - 1000;
output;
end;
run;

ulostulo

Rahaminä
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Selitys:

Yllä olevassa esimerkissä ilmoitamme muuttujan (raha), joka on alustettu arvolla 10000, ohjelma kiertää laskurin läpi, jonka alkuarvo on 0, iteroitumaan yli 10 kertaa. Jokainen iterointi vähentää muuttujan arvoa luvulla 1000. Tuloste käsky suoritetaan ennen silmukan päättymistä.

Esimerkki 2: Tee silmukka

Ohjelmoida

run;
data Test;
money = 10000;
newCounter = 0;
do while (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;

ulostulo

rahanewCounter
1010

Selitys

Yllä olevassa esimerkissä julistamme kaksi muuttujaa raha ja newCounter ja alustamme ne arvoilla 10000 ja 0. Datavaihe suoritetaan, kunnes rahamuuttujan arvo saavuttaa arvon 0, joka tässä tapauksessa vie 10 toistoa. NewCounter-muuttujaa lisätään jokaisella iteraatiolla arvolla 1. Käytämme newCounteria laskurimuuttujana tässä ohjelmassa.

Esimerkki 3: Tee kunnes silmukka

Ohjelmoida

data Test;
money = 10000;
newCounter = 0;
do until (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
run;
ulostulo

rahanewCounter
1010

Selitys

Tässä esimerkissä yritämme toistaa yllä esitetyn silmukan esimerkin Do kun silmukka toimivuutta, kuitenkin käyttämällä do kunnes silmukka. Muuttuva raha ja newCounter alustetaan alkuperäisellä arvolla 10000 ja 0. Tee, kunnes silmukka suoritetaan sillä ehdolla, että rahamuuttuja ei ole nolla, virtauksen suorittaminen siirtyy silmukasta heti, kun muuttujan arvo saavuttaa nollan, mikä tässä tapauksessa kestää 10 toistoa.

johtopäätös

Siksi olemme määritellyt SAS: n erityyppiset silmukat ja selittäneet niiden toiminnallisuuden ohjausvirransa perusteella. Äskettäin on kuitenkin kehitetty ylimääräinen silmukka hakemaan indeksoitua taulukkoa. Sitä ei kuitenkaan voida pitää säännöllisenä silmukkana SAS: ssä, koska se on yhdistelmäsilmukka iteratiivisen lausekkeen suorittamiseksi liian indeksoitujen muuttujien, kuten taulukon, suorittamiseksi.

Suositellut artikkelit

Tämä on opas SAS: n Loops-järjestelmästä. Tässä keskustelimme silmukoiden käyttöönotosta SAS: ssä, Erityyppiset silmukat esimerkkeillä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on ohjelmointikieli?
  2. Johdanto C ++ -silmukoihin
  3. Opas mihin SAS on
  4. Silmukoita R: ssä
  5. Erityyppiset silmukat ja sen edut
  6. Silmukoita PowerShellissä Tyypit ja edut

Luokka: