Hoe de scan-functie in sas te gebruiken (met voorbeelden)
U kunt de SCAN- functie in SAS gebruiken om het n- de woord uit een tekenreeks te extraheren.
Deze functie gebruikt de volgende basissyntaxis:
SCAN (tekenreeks, nummer)
Goud:
- string : De tekenreeks die moet worden geparseerd
- count : Het zoveelste woord dat moet worden geëxtraheerd
Dit zijn de drie meest voorkomende manieren om deze functie te gebruiken:
Methode 1: haal het zoveelste woord uit de string
 data new_data;
    set original_data;
    second_word = scan (string_variable, 2 );
run ;
Methode 2: Extraheer het laatste woord uit de string
 data new_data;
    set original_data;
    last_word = scan (string_variable, -1 );
run ;
Methode 3: Extraheer meerdere woorden uit een string
 data new_data;
    set original_data;
    first_word = scan (string_variable, 1 );
    second_word = scan (string_variable, 2 );
    third_word = scan (string_variable, 3 );
run ;
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in SAS:
 /*create dataset*/
data original_data;
    input name $20. dirty;
    datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data; 

Voorbeeld 1: Extraheer het n- de woord uit de string
De volgende code laat zien hoe u het tweede woord uit elke tekenreeks in de naamkolom kunt extraheren:
 /*extract second word in each row of name column*/
data new_data;
    set original_data;
    second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;

Merk op dat de nieuwe kolom genaamd second_word het tweede woord van elke string in de naamkolom bevat.
Voorbeeld 2: Extraheer het laatste woord uit de string
De volgende code laat zien hoe u de waarde -1 in de scanfunctie gebruikt om het laatste woord van elke tekenreeks in de naamkolom te extraheren:
 /*extract last word in each row of name column*/
data new_data;
    set original_data;
    last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;

Houd er rekening mee dat de nieuwe kolom met de naam last_word het laatste woord van elke tekenreeks in de naamkolom bevat.
Voorbeeld 3: Haal meerdere woorden uit een string
De volgende code laat zien hoe u de scanfunctie gebruikt om elk woord uit elke tekenreeks in de naamkolom te extraheren:
 /*extract each word in each row of name column*/
data new_data;
    set original_data;
    first_word = scan (name, 1 );
    second_word = scan (name, 2 );
    third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;

Merk op dat er drie nieuwe kolommen zijn gemaakt met het eerste, tweede en derde woord van elke tekenreeks in de naamkolom .
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
 Hoe de SUBSTR-functie in SAS te gebruiken
 Hoe de FIND-functie in SAS te gebruiken
 Hoe de COALESCE-functie in SAS te gebruiken
