Hoe de index-functie in sas te gebruiken (met voorbeelden)


U kunt de INDEX- functie in SAS gebruiken om de positie te retourneren van de eerste keer dat een tekenreeks in een andere tekenreeks voorkomt.

Deze functie gebruikt de volgende basissyntaxis:

INDEX(bron, uittreksel)

Goud:

  • bron : het kanaal dat moet worden geanalyseerd
  • extract : De tekenreeks waarnaar in de bron moet worden gezocht

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: gebruik van de INDEX-functie in SAS

Stel dat we de volgende gegevensset in SAS hebben die een kolom met namen bevat:

 /*create dataset*/
data original_data;
    input name $25.;
    datalines ;
Andy Lincoln Bernard
Michael Smith
Chad Simpson Arnolds
Derrick Smith Henrys
Eric Millerton Smith
Frank Giovanni Goode
;
run ;

/*view dataset*/
proc print data = original_data; 

We kunnen de INDEX- functie gebruiken om de positie te vinden van de eerste keer dat de string „Smith“ in elke regel voorkomt:

 /*find position of first occurrence of 'Smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' Smith ');
run ;

/*view results*/
proc print data = new_data;

De nieuwe kolom genaamd first_smith geeft de positie weer van de eerste keer dat de string ‚Smith‘ voorkomt in de naamkolom .

Als ‚Smith‘ helemaal niet wordt gevonden, retourneert de functie INDEX eenvoudigweg de waarde 0 .

Het is belangrijk op te merken dat de INDEX- functie hoofdlettergevoelig is, dus als u in plaats daarvan naar „smith“ zoekt, retourneert de INDEX- functie 0 voor elke tekenreeks:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index (name, ' smith ');
run ;

/*view results*/
proc print data = new_data; 

Om een hoofdletterongevoelige zoekopdracht uit te voeren, kunt u de functie lowcase() gebruiken om eerst elke tekenreeks naar kleine letters te converteren en vervolgens als volgt naar „smith“ te zoeken:

 /*find position of first occurrence of 'smith' in name*/
data new_data;
    set original_data;
    first_smith = index ( lowcase (name), ' smith ');
run ;

/*view results*/
proc print data = new_data; 

Door elke tekenreeks eerst naar kleine letters te converteren, kunnen we de INDEX- functie gebruiken om een hoofdletterongevoelige zoekopdracht uit te voeren.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende functies in SAS kunt gebruiken:

Hoe de SUBSTR-functie in SAS te gebruiken
Hoe de COMPRESS-functie in SAS te gebruiken
Hoe de FIND-functie in SAS te gebruiken
Hoe de COALESCE-functie in SAS te gebruiken

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert