Comment utiliser la fonction ANYDIGIT dans SAS



Vous pouvez utiliser la fonction ANYDIGIT dans SAS pour renvoyer la position du premier chiffre dans une chaîne donnée.

Cette fonction utilise la syntaxe de base suivante :

ANYDIGIT(expression, [début])

où:

  • expression : La chaîne à rechercher
  • start (facultatif) : La position de départ à partir de laquelle effectuer la recherche.

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : utilisation de la fonction ANYDIGIT dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur divers employés d’une entreprise :

/*create dataset*/
data my_data;
    input employeeID $ sales;
    datalines;
54AAF 23
0009A 38
BC18B 40
09H30 12
04429 65
B1300 90
B1700 75
RRHHJ 35
0Y009 40
C6500 23
;
run;

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

Nous pouvons utiliser la fonction ANYDIGIT pour rechercher la position du premier chiffre dans la colonne EmployeeID :

/*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit(employeeID);
run;

/*view new dataset*/
proc print data=new_data;

La nouvelle colonne appelée firstDigit affiche la position de la première occurrence d’un chiffre dans la colonne EmployeeID .

Par exemple:

  • Le premier chiffre de 54AAF est en position 1 .
  • Le premier chiffre de 0009A est en position 1 .
  • Le premier chiffre de BC18B est en position 3 .

Et ainsi de suite.

S’il n’y a aucun chiffre pour un ID d’employé donné, une valeur de 0 est renvoyée.

Nous pouvons également utiliser l’argument start dans la fonction ANYDIGIT pour spécifier une position de départ à partir de laquelle effectuer la recherche.

Par exemple, nous pouvons utiliser le code suivant pour rechercher la position du premier chiffre dans la colonne EmployeeID à partir de la position 3 :

/*create new dataset*/
data new_data;
    set my_data;
    firstDigit = anydigit(employeeID, 3);
run;

/*view new dataset*/
proc print data=new_data;

Notez que les valeurs EmployeeID qui contiennent uniquement un caractère alphabétique dans les deux premières positions reçoivent désormais la valeur 0 dans la colonne firstDigit puisque la recherche de chiffres commence désormais à la position 3 .

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans SAS :

Comment supprimer les caractères spéciaux des chaînes dans SAS
Comment remplacer des caractères dans une chaîne dans SAS
Comment convertir une variable de caractère en numérique dans SAS

Ajouter un commentaire

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