Comment utiliser la fonction COMPRESS dans SAS (avec exemples)



Vous pouvez utiliser la fonction COMPRESS dans SAS pour supprimer des caractères spécifiques d’une chaîne.

Cette fonction utilise la syntaxe de base suivante :

COMPRESS(Chaîne, caractères à supprimer)

où:

  • String : La chaîne à analyser
  • caractères à supprimer : Un ou plusieurs caractères spécifiques à supprimer de la chaîne

Voici les quatre façons les plus courantes d’utiliser cette fonction :

Méthode 1 : supprimer tous les espaces vides de la chaîne

data new_data;
    set original_data;
    compressed_string = compress(string_variable);
run;

Méthode 2 : supprimer les caractères spécifiques de la chaîne

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '!?@#');
run;

Méthode 3 : supprimer tous les caractères alphabétiques de la chaîne

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '', 'a');
run;

Méthode 4 : supprimer toutes les valeurs numériques de la chaîne

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '', 'd');
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 $25.;
    datalines;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run;

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

Exemple 1 : Supprimer tous les espaces vides de la chaîne

Le code suivant montre comment supprimer tous les espaces vides de chaque chaîne dans la colonne de nom :

/*remove blank spaces from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name);
run;

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

Notez que tous les espaces vides ont été supprimés de chaque chaîne dans la nouvelle colonne appelée nom_comprimé .

Exemple 2 : supprimer des caractères spécifiques de la chaîne

Le code suivant montre comment supprimer tous les points d’interrogation et d’exclamation de chaque chaîne de la colonne nom :

/*remove question marks and exclamation points from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '?!');
run;

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

Notez que tous les points d’interrogation et d’exclamation ont été supprimés de chaque chaîne de la nouvelle colonne appelée nom_comprimé .

Exemple 3 : Supprimer tous les caractères alphabétiques de la chaîne

Le code suivant montre comment supprimer tous les caractères alphabétiques de chaque chaîne de la colonne nom :

/*remove all alphabetical characters from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '', 'a');
run;

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

Notez que tous les caractères alphabétiques ont été supprimés de chaque chaîne dans la nouvelle colonne appelée nom_comprimé .

Exemple 4 : Supprimer toutes les valeurs numériques de la chaîne

Le code suivant montre comment supprimer toutes les valeurs numériques de chaque chaîne de la colonne nom :

/*remove all numeric values from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '', 'd');
run;

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

Notez que toutes les valeurs numériques ont été supprimées de chaque chaîne dans la nouvelle colonne appelée nom_comprimé .

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 *