Úvod do slučiek v SAS
SAS ako analytické riešenie vzniklo na Štátnej univerzite v Severnej Karolíne v 70. rokoch 20. storočia, v nasledujúcich desaťročiach sa vyvíjal ďalší štatistický postup, zahŕňajúci lepšie objektovo orientované knižnice komponentov. V súčasnom kontexte zaujíma SAS takmer 80 percent celkového trhu so štatistickými analýzami.
Typický program SAS možno rozdeliť do dvoch krokov, a to krok DATA a PROC. Krok DATA načíta a pomáha pri manipulácii s údajmi, zatiaľ čo krok PROC má funkcie na analýzu údajov a vykonávanie analytických činností s údajmi. Krok údajov je možné ďalej rozdeliť na dve fázy, ktoré sú fáza kompilácie a fázy vykonávania.
Čo je to slučka?
V základoch počítačových programovacích jazykov sa slučka môže považovať za reťaz alebo postupnosť výkonných pokynov, ktoré sa nepretržite vykonávajú / opakujú alebo opakujú, až kým sa nedosiahne určitá podmienka. Slučky sa používajú na opakované vykonávanie bloku príkazov, pri klasifikácii toku v slučkách môžeme určiť, či slučka je vstupne riadená slučka alebo či je to výstupná riadená slučka. Programovací kompilátor pred vykonaním príkazov kontroluje, či sú splnené všetky podmienky spojené s začiatok vykonania slučiek je overený a pravdivý, táto činnosť sa vykonáva pomocou kontrolovaných slučiek.
Pre výstupnú kontrolovanú slučku kompilátor overuje podmienky spojené s ukončením slučky. Počas toku slučiek je určitý proces dokončený, ako napríklad získanie parametra alebo akejkoľvek položky zo vstupných údajov, analýza parametrov alebo ich zmena, nasledovaná podmienkou, ktorá kontroluje limitnú hodnotu, ako napríklad či počítadlo (príznak) hodnota priradená slučke). Ak je splnená podmienka, následná inštrukcia nasmeruje sekvenciu, aby sa vrátila k prvej inštrukcii v postupnosti a zopakovala postupnosť. Akonáhle podmienka dosiahne, tok kompilátora sa presunie do naprogramovaných vetiev inštrukcií prítomných mimo slučky. Slučka je teda koncepcia programovania, ktorá sa bežne používa na zníženie redundancie a zložitosti kódu.
Slučky v SAS
Nižšie je uvedený počet cyklov v SAS, ktoré sú nasledujúce:
1. Iteratívne slučky
Do Loop tiež známy ako Iterative Do Loops je najzákladnejšou formou slučiek, ktoré sa vykonávajú v súbore údajov SAS v kroku SAS Data Step. Táto slučka má úplne bezpodmienečný charakter a vykonáva sa podľa definície, aby sa opakovala cez pevný počet impulzov alebo kým nedostane chybu, ktorá má za následok preskočenie toku z dátového kroku. Táto slučka nájde svoju užitočnosť v programoch používaných na opakované počítanie a programoch spojených s opakovanými matematickými alebo štatistickými výpočtami.
syntaxe:
do i = n až m;
n a m sú premenné počítadla.
2. Podmienené slučky
Podmienené slučky v SAS sú ostatné slučky, ktoré sa vykonávajú v krokoch údajov. V podstate ide o dve slučky, ktoré sú do a do do. Rozdiel medzi slučkami je založený na skutočnosti, že slučky Do while pokračujú vo vykonávaní, kým nie je splnená podmienka pre slučku, zatiaľ čo slučka Do Until sa bude vykonávať, kým špecifikovaná podmienka zostane nepravdivá a tok sa presunie zo slučky hneď, ako náhle stav sa stane nepravdivým. Slučka Do Until sa vykonáva v spodnej časti slučky, zatiaľ čo slučka Do while Loop sa vykonáva v hornej časti slučky. Toto dáva hlavný rozdiel medzi dvoma slučkami, ktoré sú Do Until, vykonajú sa najmenej raz, keď sa použijú v programe, zatiaľ čo funkcia Do while sa nemusí vykonať vôbec, ako keby podmienka nie je pravdivá, tok nevstúpi do iterácie slučiek.
syntaxe:
urobiť do (stav);
urobiť do (podmienka);
Príklady SAS slučiek
Pokúsme sa pochopiť pojem slučiek v SAS pomocou programov:
Príklad 1: Do slučky
Program
data Test;
money = 10000
do i = 1 to 10;
money = money - 1000;
output;
end;
run;
Výkon
peniaze | ja | |
1 | 9000 | 1 |
2 | 8000 | 2 |
3 | 7000 | 3 |
4 | 6000 | 4 |
5 | 5000 | 5 |
6 | 4000 | 6 |
7 | 3000 | 7 |
8 | 2000 | 8 |
9 | 1000 | 9 |
10 | 0 | 10 |
vysvetlenie:
Vo vyššie uvedenom príklade deklarujeme premennú (peniaze) inicializovanú s hodnotou 10000, program prebehne cez počítadlo načítané s počiatočnou hodnotou 0, aby sa opakoval 10-krát. Každá iterácia znižuje hodnotu premennej o 1000. Výstupný príkaz sa vykoná pred koncom slučky.
Príklad 2: Vykonajte slučku
Program
run;
data Test;
money = 10000;
newCounter = 0;
do while (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
Výkon
peniaze | newCounter | |
1 | 0 | 10 |
vysvetlenie
V uvedenom príklade deklarujeme dve premenné peniaze a newCounter a inicializujeme ich hodnotami 10000 a 0. Krok údajov sa vykoná, až kým hodnota premennej peňazí nedosiahne 0, čo v tomto prípade trvá 10 iterácií, pri každej iterácii sa nová premennáCounter zvyšuje o hodnotu 1. V tomto programe používame novú premennú ako čítačovú premennú.
Príklad 3: Do slučky
Program
data Test;
Výkon
money = 10000;
newCounter = 0;
do until (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
run;
peniaze | newCounter | |
1 | 0 | 10 |
vysvetlenie
V tomto príklade sa pokúšame replikovať funkčnosť príkladu cyklu Do while znázorneného vyššie, avšak pomocou slučky do till. Premenná peniaze a newCounter sa inicializujú s počiatočnou hodnotou 10 000 a 0. Vykonanie, kým sa slučka nevykonáva za podmienky, že peňažná premenná sa nerovná nule, vykoná sa tok toku zo slučky, len čo hodnota premennej dosiahne nulu, čo v tomto prípade trvá 10 iterácií.
záver
Definovali sme teda rôzne typy slučiek v SAS a vysvetlili sme ich funkcie na základe ich toku kontroly. Existuje však ešte jedna slučka, ktorá bola nedávno vyvinutá na skenovanie cez indexované pole. V SAS sa však nemôže považovať za pravidelnú slučku, pretože je to zložená slučka na vykonávanie opakovaných indexovaných premenných, ako je napríklad pole.
Odporúčané články
Toto bol sprievodca slučkami v SAS. Tu sme diskutovali o zavedení slučiek v SAS, Rôzne typy slučiek s príkladmi. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je programovací jazyk?
- Úvod do slučiek v C ++
- Sprievodca čo je SAS
- Slučky v R
- Rôzne typy slučiek s jej výhodami
- Slučky v PowerShell | Druhy a výhody