Inleiding tot lussen in SAS

SAS werd als analytische oplossing gecreëerd aan de North Carolina State University in de jaren zeventig. In de komende decennia werden verdere statistische procedures ontwikkeld, waaronder betere objectgeoriënteerde componentenbibliotheken. In de huidige context beslaat SAS bijna 80 procent van de totale markt voor statistische analyse.

Een typisch SAS-programma kan in twee stappen worden verdeeld, namelijk DATA-stap en PROC-stap. De DATA-stap haalt de gegevens op en helpt bij het manipuleren van de gegevens, terwijl de PROC-stap functionaliteiten heeft voor het analyseren van de gegevens en het uitvoeren van analytische activiteiten op de gegevens. De stap Gegevens kan verder worden verdeeld in twee fasen die compilatie- en uitvoeringsfasen zijn.

Wat is een lus?

In de grondbeginselen van computerprogrammeertalen kan een lus worden beschouwd als een keten of opeenvolging van uitvoeringsinstructies die continu wordt uitgevoerd / herhaald / of herhaald totdat een bepaalde voorwaarde is bereikt. Lussen worden gebruikt voor het herhaaldelijk uitvoeren van een blok instructies, bij de classificatie van de stroom in lussen kunnen we bepalen of een lus een door binnenkomst geregelde lus is of een exit-geregelde lus is. De programmeercompiler controleert vóór het uitvoeren van de verklaringen of alle voorwaarden in verband het begin van de uitvoeringen van de lussen is gevalideerd en waar, deze activiteit wordt uitgevoerd door door lussen bestuurde lussen.

Voor Exit Controlled Loop valideert de compiler de voorwaarden voor het beëindigen van Loop. Tijdens de loop van de lussen wordt een bepaald proces voltooid, zoals het verkrijgen van een parameter of een item uit de invoergegevens, analyse van de parameters of het wijzigen ervan, gevolgd door een voorwaarde die de beperkende waarde controleert, zoals of een teller (een vlag waarde geassocieerd met de lus). Wat de voorwaarden betreft, geeft de volgende instructie de volgorde aan om terug te keren naar de eerste instructie in de reeks en de reeks te herhalen. Zodra de voorwaarde is bereikt, beweegt de stroom van de compiler naar geprogrammeerde instructietakken buiten de lus. Een lus is dus een programmeerconcept dat gewoonlijk wordt gebruikt om de redundantie en complexiteit van de code te verminderen.

Lussen in SAS

Hieronder ziet u een aantal lussen in SAS die als volgt zijn:

1. Iteratieve do-loops

Do Loop ook bekend als Iterative Do Loops zijn de meest basale vorm van loops die worden uitgevoerd op een SAS-gegevensset in de SAS-gegevensstap. Deze lus is volledig onvoorwaardelijk van aard en wordt uitgevoerd volgens de definitie om het vaste aantal tellingen te herhalen of totdat een fout wordt ontvangen die ertoe leidt dat de stroom uit de gegevensstap wordt overgeslagen. Deze lus vindt zijn nut in programma's die worden gebruikt voor iteratief tellen en programma's die worden geassocieerd met repetitieve wiskundige of statistische berekeningen.

Syntaxis:

doe ik = n tot m;

n en m zijn tellervariabelen.

2. Voorwaardelijke lussen

Voorwaardelijke lussen in SAS zijn de andere do-lussen die in gegevensstappen worden uitgevoerd. Dit zijn eigenlijk twee lussen die Do While en Do tot zijn. Het verschil tussen de lussen is gebaseerd op het feit dat de Do While-lussen worden uitgevoerd totdat de voorwaarde voor de lus waar is, terwijl de Do tot-lus wordt uitgevoerd totdat de opgegeven voorwaarde vals blijft en de stroom van de lus af beweegt zodra de toestand wordt vals. De lus Do tot wordt onderaan de lus uitgevoerd, terwijl de lus Do While boven aan de lus wordt uitgevoerd. Dit geeft het grootste verschil tussen de twee lussen die Do Tot zijn en die ten minste eenmaal worden uitgevoerd wanneer ze in het programma worden gebruikt, terwijl de Do While helemaal niet kan worden uitgevoerd alsof de voorwaarde niet waar is, de stroom de Loops iteratie niet zal binnengaan.

Syntaxis:

doen tot (voorwaarde);

doen terwijl (voorwaarde);

Voorbeelden van SAS Loops

Laten we proberen het concept van lussen in SAS te begrijpen met behulp van programma's:

Voorbeeld 1: Do loop

Programma

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

uitgang

Geldik
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Uitleg:

In het bovenstaande voorbeeld verklaren we een variabele (geld) die is geïnitialiseerd met een waarde van 10000, het programma doorloopt de teller met een initiële waarde van 0 om meer dan 10 keer te herhalen. Elke iteratie vermindert de waarde voor de variabele met 1000. De uitvoerinstructie wordt uitgevoerd voordat de lus eindigt.

Voorbeeld 2: Do While Loop

Programma

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

uitgang

geldnewCounter
1010

Uitleg

In het bovenstaande voorbeeld declareren we twee variabelen geld en newCounter en initialiseren we ze met waarden respectievelijk 10000 en 0. De gegevensstap wordt uitgevoerd totdat de waarde van de geldvariabele 0 bereikt, wat in dit geval 10 iteraties duurt, over elke iteratie wordt de variabele newCounter met een waarde van 1 verhoogd. We gebruiken de newCounter als tellervariabele in dit programma.

Voorbeeld 3: Doe tot lus

Programma

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

geldnewCounter
1010

Uitleg

In dit voorbeeld proberen we de functionaliteit van de hierboven geïllustreerde voorbeeld van de Do While-lus te repliceren, maar gebruiken we de do-lus. De variabele money en newCounter worden geïnitialiseerd met een beginwaarde van respectievelijk 10000 en 0. De do totdat de lus wordt uitgevoerd over de voorwaarde dat de geldvariabele niet gelijk is aan nul, de stroomuitvoering wordt uit de lus verplaatst zodra de variabele waarde nul bereikt, wat in dit geval 10 iteraties duurt.

Conclusie

Daarom hebben we de verschillende soorten lussen in SAS gedefinieerd en hun functionaliteiten uitgelegd op basis van hun controlestroom. Er is echter een extra lus die recent is ontwikkeld om over een geïndexeerde array te scannen. Het kan echter niet worden beschouwd als een normale lus in SAS, omdat het een samengestelde lus is voor het uitvoeren van te geïndexeerde variabelen zoals een array.

Aanbevolen artikelen

Dit is een gids geweest voor Loops in SAS. Hier hebben we de introductie van Loops in SAS, verschillende soorten loops met voorbeelden besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is een programmeertaal?
  2. Introductie van Loops in C ++
  3. Gids voor Wat is SAS
  4. Lussen in R
  5. Verschillende soorten loops met zijn voordelen
  6. Lussen in PowerShell | Typen en voordelen

Categorie: