Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

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 *