FAQ SASConsultez toutes les FAQ

Nombre d'auteurs : 14, nombre de questions : 232, dernière mise à jour : 20 décembre 2012 

 
OuvrirSommaireSAS BASECaractères

À l'aide de la fonction "input" vous pouvez convertir une variable de type caractère en variable numérique.

 
Sélectionnez

DATA base;
INPUT var1$ var2;
CARDS;
10 5 
3 8
;
DATA base2;
SET base;
var3=input(var1,3.);
RUN;
 
Mis à jour le 10 octobre 2011  par fafabzh6

La fonction !! permet ce genre de manipulation comme vous le montre l'exemple suivant :

 
Sélectionnez

DATA base;
INPUT var1$ var2$;
cards ;
Hello world
;
DATA base2;
SET base;
var3=var1!!var2;
RUN;
Créé le 16 mars 2008  par fafabzh6

La fonction "compress" permet ce genre de manipulation :

 
Sélectionnez

DATA base;
INPUT var1$ var2$;
cards ;
Hello world
;
RUN;
DATA base2;
SET base;
var3=var1!!var2;
RUN;
DATA base3;
SET base2;
var4=compress(var3);
RUN;
Créé le 16 mars 2008  par fafabzh6

La fonction "upcase" permet cette manipulation comme vous pouvez le voir dans l'exemple suivant :

 
Sélectionnez

DATA base;
INPUT var1$ var2$;
cards ;
Hello world
;
RUN;
DATA base2;
SET base;
var3=var1!!var2;
RUN;
DATA base3;
SET base2;
var4=UPCASE(var3);
RUN;
Créé le 16 mars 2008  par fafabzh6

La fonction "lowcase" permet la mise en minuscules d'une chaîne de caractères.

 
Sélectionnez

DATA base;
INPUT var1$;
cards ;
HEllO
;
RUN;
DATA base2;
SET base;
var2=LOWCASE(var1);
RUN;
Créé le 16 mars 2008  par fafabzh6

La fonction "substr" permet l'extraction d'une partie d'une chaîne de caractères, ces paramètres sont les suivants : substr(maChaine,debutExtraction,longueurExtraction).

 
Sélectionnez

DATA base;
INPUT var1$;
cards ;
HEllO
;
RUN;
DATA base2;
SET base;
var2=SUBSTR(var1,2,3);
RUN;
Créé le 16 mars 2008  par fafabzh6

Par exemple disposant de valeur '123456' censée être stockée sur 9 caractères on désire avoir '000123456'.

Pour résoudre ce problème, on peut utiliser le format ZX., où X désigne le nombre total de chiffres avec les zéros.

 
Sélectionnez

DATA t;
i=123456;
format i_bis Z10.;
i_bis=i;
run;
Créé le 15 novembre 2011  par bahraoui

Vous devez utiliser la fonction FIND avec l'option « i ».

La fonction FIND cherche la première occurrence du mot spécifié en paramètre et retourne sa position. L'exemple ci-dessous compare les résultats obtenus avec la fonction FIND et la fonction INDEX (présente depuis la V8). La fonction index étant elle sensible à la casse.

Exemple :

 
Sélectionnez

data _null_;
  /* cherche le mot trouve, insensible à la casse */
  A=find(' se trouve le mot recherché','TROUVE','i'); 
  put A=; /* écrit la valeur de A */
 
  /* cherche le mot trouve en majuscule uniquement */
  B=index(' se trouve le mot recherché','TROUVE');
  put B=; /* écrit la valeur de B */
run;

Résultats :

A=7

B=0

Créé le 15 novembre 2011  par SAS

Il faut utiliser la fonction PROPCASE.

Exemple :

 
Sélectionnez

Data Faq ;
X= 'ALLO SUPPORT';
Y=propcase(X);
Put X= Y= ;
Run;

Résultat :

  • X=ALLO SUPPORT
  • Y=ALLO SUPPORT

Documentation : Using the PROPCASE function

Créé le 7 novembre 2011  par SAS
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.