Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2011, 17h20   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Calcul d'un compteur sur SAS

Bonjour à toutes et à tous ,

Je débute sur SAS et j’ai besoin de votre aide pour le calcul d’un compteur ;
Il s'agit de compter le nombre de "valeurs" par ligne et de retrouver les résultats de la colonne " compteur" . Le tableau dont je dispose se présente comme suit ( J'espère qu'il est assez clair )

Ligne Col1 Col2 … Compteur
V valeur valeur 2
W valeur valeur valeur 3
X valeur 1
Y valeur valeur 2
Z valeur 1

Avez vous une solution ?

Merci
Fan_SAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 08h15   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Bonjour.
Tu peux utiliser la fonction N s'il s'agit de variables numériques.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DATA work.test ;
  INPUT ligne $ (col1-col3) (:2.) ;
DATALINES ;
U 12 32 .
V 1 . .
W 0 5 2
X 1 1 1
Y . . .
;
RUN ;
DATA work.test ;
  SET work.test ;
  compteur = N(col1, col2, col3) ;
RUN ;
Il est possible de simplifier la formule si toutes tes variables ont un début de nom identique : par exemple
Code :
compteur = N(OF col:) ;
Si les variables sont de type texte, alors il faut passer par un array.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DATA work.test ;
  INFILE DATALINES MISSOVER ;
  INPUT ligne $ (col1-col3) (:$2.) ;
DATALINES ;
U 12 32  
V 1    
W 0 5 2
X 1 1 1
Y      
;
RUN ;
DATA work.test ;
  SET work.test ;
  ARRAY VARIABLES $ col: ;
  compteur = DIM(VARIABLES) ;
  DO OVER VARIABLES ;
    IF MISSING(VARIABLES) THEN compteur = compteur - 1 ;
  END ;
RUN ;
Bon courage.
Olivier
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h48.


 
 
 
 
Partenaires

Hébergement Web