Comment utiliser la fonction SCAN dans SAS (avec exemples)



Vous pouvez utiliser la fonction SCAN dans SAS pour extraire le n ème mot d’une chaîne.

Cette fonction utilise la syntaxe de base suivante :

SCAN (chaîne, nombre)

où:

  • string : La chaîne à analyser
  • count : Le n ième mot à extraire

Voici les trois manières les plus courantes d’utiliser cette fonction :

Méthode 1 : extraire le n ème mot de la chaîne

data new_data;
    set original_data;
    second_word = scan(string_variable, 2);
run;

Méthode 2 : Extraire le dernier mot de la chaîne

data new_data;
    set original_data;
    last_word = scan(string_variable, -1);
run;

Méthode 3 : Extraire plusieurs mots d’une chaîne

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;

Les exemples suivants montrent comment utiliser chaque méthode avec l’ensemble de données suivant dans SAS :

/*create dataset*/
data original_data;
    input name $20. sales;
    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;

Exemple 1 : Extraire le n ème mot de la chaîne

Le code suivant montre comment extraire le deuxième mot de chaque chaîne de la colonne nom :

/*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;

Fonction SCAN dans SAS

Notez que la nouvelle colonne appelée second_word contient le deuxième mot de chaque chaîne de la colonne nom .

Exemple 2 : Extraire le dernier mot de la chaîne

Le code suivant montre comment utiliser la valeur -1 dans la fonction scan pour extraire le dernier mot de chaque chaîne de la colonne nom :

/*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;

Notez que la nouvelle colonne appelée last_word contient le dernier mot de chaque chaîne de la colonne name .

Exemple 3 : extraire plusieurs mots d’une chaîne

Le code suivant montre comment utiliser la fonction scan pour extraire chaque mot de chaque chaîne de la colonne name :

/*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;

Notez que trois nouvelles colonnes ont été créées et contiennent le premier, le deuxième et le troisième mot de chaque chaîne de la colonne de nom .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment utiliser la fonction SUBSTR dans SAS
Comment utiliser la fonction FIND dans SAS
Comment utiliser la fonction COALESCE dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *