Introducere în bucle în SAS

SAS ca soluție analitică a fost creată la Universitatea de Stat din Carolina de Nord în anii '70, deceniile următoare au văzut dezvoltarea unor proceduri statistice suplimentare, includerea unor biblioteci de componente mai bune orientate pe obiecte. În contextul actual, SAS ocupă aproape 80 la sută din totalul pieței de analiză statistică.

Un program tipic SAS poate fi împărțit în două etape și anume pasul DATA și pasul PROC. Etapa DATA recuperează și ajută la manipularea datelor, în timp ce etapa PROC are funcționalități pentru analizarea datelor și pentru a efectua activități analitice asupra datelor. Etapa de date poate fi împărțită în două faze, care sunt fazele de compilare și execuție.

Ce este o buclă?

În elementele fundamentale ale limbajelor de programare computerizate, o buclă poate fi considerată ca o lanț sau o secvență de instrucțiuni executive care este continuu executată / repetată / sau iterată până la atingerea unei anumite condiții. Buclele sunt utilizate pentru a executa în mod repetat un bloc de declarații, în clasificarea fluxului în bucle putem determina dacă o buclă este o buclă controlată la intrare sau dacă este buclă controlată de ieșire, compilatorul de programare înainte de executarea declarațiilor verifică dacă toate condițiile asociate cu începutul execuțiilor buclelor sunt validate și adevărate, această activitate este efectuată de bucle controlate de intrare.

Pentru ieșirea din bucla controlată, compilatorul validează condițiile asociate cu terminarea lui Loop. În timpul fluxului de bucle este finalizat un anumit proces, cum ar fi obținerea unui parametru sau orice element din datele de intrare, analiza parametrilor sau schimbarea acestuia, urmată de o condiție care verifică valoarea de limitare, cum ar fi dacă un contor (un steag valoare asociată buclei). Pentru condiții, dacă este satisfăcută, instrucțiunea ulterioară direcționează secvența pentru a reveni la prima instrucțiune din secvență și repeta secvența. Odată ce starea a ajuns, fluxul compilatorului se deplasează către ramurile de instrucțiuni programate prezente în afara buclei. Astfel, o buclă este un concept de programare care este utilizat în mod obișnuit pentru reducerea redundanței și complexității codului.

Bucle în SAS

Mai jos sunt câteva bucle în SAS care sunt următoarele:

1. Faceți bucle iterative

Bucla Do Loop este cunoscută și sub denumirea de Ierative Do Loops sunt cea mai de bază formă de bucle care sunt executate pe un set de date SAS în Etapa de date SAS. Această buclă are o natură total necondiționată și este executată conform definiției pentru a repeta numărul de numărați fixat sau până când primește o eroare care duce la trecerea de la pasul de date. Acest Bucl își găsește utilitatea în programele utilizate pentru numărarea iterativă și programele asociate cu calcule matematice sau statistice repetitive.

Sintaxă:

do i = n to m;

n și m sunt variabile de contorizare.

2. Bucle condiționate

Buclele condiționale din SAS sunt celelalte bucle care se execută în etapele de date. Acestea sunt practic două bucle care sunt Do while and Do până. Diferența dintre bucle se bazează pe faptul că buclele Do while continuă să se execute până când condiția pentru buclă este adevărată, în timp ce bucla Do până se va executa până când condiția specificată rămâne falsă și fluxul se îndepărtează de buclă imediat ce condiția devine falsă. Bucla Do până când este executată în partea de jos a buclei, în timp ce Bucla Do În timp ce este executată în partea de sus a buclei. Acest lucru oferă diferența majoră între cele două bucle care sunt Do până se vor executa cel puțin o dată când sunt utilizate în program, în timp ce funcția Do while nu poate fi executată deloc, deoarece condiția nu este adevărată, fluxul nu va intra în iterația Buclelor.

Sintaxă:

face până (condiție);

face în timp ce (condiție);

Exemple de bucle SAS

Să încercăm să înțelegem conceptul de bucle în SAS folosind programe:

Exemplul 1: Fă buclă

Program

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

producție

Banieu
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Explicaţie:

În exemplul de mai sus, declarăm o variabilă (bani) inițiată cu o valoare de 10000, programul se bucle prin contorul încărcat cu o valoare inițială de 0 pentru a se itera de peste 10 ori. Fiecare iterație reduce valoarea variabilei cu 1000. Instrucțiunea de ieșire este executată înainte de încheierea buclei.

Exemplul 2: Faceți în timp ce bucla

Program

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

producție

baninewCounter
1010

Explicaţie

În exemplul de mai sus, declarăm două variabile bani și newCounter și le inițializăm cu valorile 10000 și respectiv 0. Etapa de date se execută până când valoarea variabilei monetare ajunge la 0 care în acest caz durează 10 iterații, pentru fiecare iterație, variabila newCounter este incrementată cu o valoare de 1. Utilizăm newCounter ca o variabilă contorizantă în acest program.

Exemplul 3: Faceți până la buclă

Program

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

baninewCounter
1010

Explicaţie

În acest exemplu, încercăm să reproducem funcționalitatea din Exemplul de Buclă în timp ce bucla ilustrată mai sus folosind totuși bucla do până. Variabila bani și newCounter sunt inițializate cu o valoare inițială de 10000 și respectiv 0. Faceți până când bucla este executată peste condiția ca variabila de bani să nu fie egală cu zero, execuția fluxului se mută din buclă imediat ce variabila atinge zero, care în acest caz necesită 10 iterații.

Concluzie

Astfel, am definit diferitele tipuri de bucle din SAS și am explicat funcționalitățile acestora pe baza fluxului lor de control. Cu toate acestea, există o buclă suplimentară care a fost dezvoltată recent pentru a scana peste un tablou indexat. Cu toate acestea, nu poate fi considerată o buclă obișnuită în SAS, deoarece este o buclă compozită pentru a executa declarații iterative variabile supraindexate, cum ar fi un tablou.

Articole recomandate

Acesta a fost un ghid pentru Bucle în SAS. Aici am discutat despre introducerea de bucle în SAS, diferite tipuri de bucle cu exemple. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Ce este un limbaj de programare?
  2. Introducere în bucle în C ++
  3. Ghid pentru Ce este SAS
  4. Bucle în R
  5. Diferite tipuri de bucle cu avantajele sale
  6. Bucle în PowerShell | Tipuri și beneficii

Categorie: