Parmi les nouvelles fonctions en SAS V9.

SAS V9 – Les fonctions de concaténation.

Habitué en SAS, dans les étapes DATA, à utiliser les opérateurs de concaténation « !! » ou encore « || », (les seconds n’étant pas portables sur toutes les plate-formes SAS, par exemple sur MVS, Z/OS …, nous vous déconseillons leur usage), le Système SAS change la donne en nous offrrant aujourd’hui une série de trois nouvelles « fonction de concaténation » de chaîne de caractère, appelées : « CAT, CATS, CATX« .

Plus riche et permettant une gestion plus élaborée de la concaténation de variable, ces nouvelles fonctions, en SAS V9, permettent même d’ajouter des caractères séparateur entre les variables concaténées.

Plutôt qu’un long discours, voici un ensemble de portions de code SAS, mettant en scène les différentes possibilitées offertes en terme de concaténation de variables de type caractère avec le Système SAS V9.

Dans les exemples qui vous sont proposés ci-dessous, vous trouverez quatre cas d’utilisation de chacune des fonctions de concaténation, systématiquement, la quatrième (a4), présente le résultat qui serait obtenu lors de l’utilisation des trois précédentes (a1, a2, a3). Cette approche vous permettra de voir plus rapidement le résultat qui sera produit par les instructions SAS V9 sans devoir exécuter le code ci-dessous.

/* ****************************************** */
/* Site : http://www.formations-sas.fr - 2009 */
/* SAS V9                                     */
/* Fonctions de concaténation de chaines de   */
/* caractères.                                */
/*                                            */
/* Fonctions : CAT, CATS, CATX                */
/*                                            */
/* Auteur : Pascal MAUBERT                    */
/* ****************************************** */

/* Tronc Commun */

data test_cat;
 length cas $ 10 a1 a2 a3 a4 $ 45 x y z $ 15;
 x="Pays";
 y="FR";
 z="2009";
/* Exemple d'utilisation des nouvelles fonctions SAS de concaténation */
 /* SAS Version 9 */
 /* portions de code par groupe de 4 instructions équivalentes,
 la 4 a pour but de montrer le résultat */

 a1 = trim(x) !! ' ' !! trim(y) !! ' ' !! z ;
 a2 = 'Pays' !! '  FR  ' !! '2009';
 a3 = 'Pays ' !! trim(y) !! ' ' !! z ;
 a4 = 'Pays FR 2009';
 cas="Cas 1";
 output;

/* le symbole "!!" peut remplacer le "||", toutefois cela est déconseillé,
 si vous avez des besoins de portabilité, par exemple, pouvoir utiliser
 votre code sous MVS ou Z/OS */
/* Sans blanc aux extrémités */
/* Concatenates character strings and removes leading and trailing blanks  */

 a1 = cats(x,y,z) ;
 a2 = cats('Pays','  FR  ','2009');
 a3 = cats('Pays',y,z);
 a4 = 'PaysFR2009';
 cas="Cas 2";
 output;

/* Ajouter un séparateur et supprimer les blancs de début et de fin de chaine */
/* Concatenates character strings, removes leading and trailing blanks,
 and inserts separators */

 a1 = catx('-',x,y,z) ;
 a2 = catx('-','Pays','  FR  ','2009');
 a3 = catx('-','Pays',y,z);
 a4 = 'Pays-FR-2009';
 cas="Cas 3";
 output;

/* Garder tous les blancs */
/* Concatenates character strings without removing leading or trailing blanks  */

 a1 = cat(x,y,z) ;
 a2 = cat('Pays','  FR  ','2009');
 a3 = cat('Pays',y,z);
 a4 = 'Pays  FR  2009';
 cas="Cas 4";
 output;

/* Enlever les blancs de fin uniquement */
/* Concatenates character strings and removes trailing blanks  */

 a1 = catt(x,y,z) ;
 a2 = catt('Pays','  FR  ','2009');
 a3 = catt('Pays',y,z);
 a4 = 'Pays  FR2009';
 cas="Cas 5";
 output;
run;

/* ****************************************** */
/* Site : http://www.formations-sas.fr - 2009 */
/* Auteur : Pascal MAUBERT                    */
/* ****************************************** */

A vos claviers ;-) !

Ou copier / coller directement dans votre fenêtre programme SAS.

2 réponses à to “SAS Fonctions Concaténation Versus V9”

Laisser un commentaire