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 12/09/2011, 21h23   #1
Invité de passage
 
Inscription : juin 2010
Messages : 8
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 8
Points : 2
Points : 2
Par défaut Regroupements par classe d'âge

J'ai une variable RPAGEGRP $ 134-135
Je veux faire des regroupements par classe d'âge
Code :
1
2
3
4
5
 
  IF RPAGEGRP < 30 THEN AGE = 1;
        	ELSE IF RPAGEGRP <= 44 THEN AGE = 2;
	    	ELSE IF RPAGEGRP <= 64 THEN AGE = 3;
		    ELSE AGE = 4;
Par contre, il me mets toutes les valeurs dans < 30

Quel est le problème ?
challe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 10h40   #2
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
difficile de te répondre comme ça, à quoi ressemble RPAGEGRP ?
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h18   #3
Membre Expert
 
Inscription : mars 2005
Messages : 1 010
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 010
Points : 1 258
Points : 1 258
Envoyer un message via Yahoo à bahraoui
Bonjour,

La variable
Citation:
RPAGEGRP $ 134-135
est de type caractère.
Tu compares une variable de type caractère à une constante numérique.
Est ce que c'est possible de vérifier le type?

Cordialement
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 18h37   #4
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 011
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 011
Points : 1 712
Points : 1 712
Hello,
du moment qu'il y a que des chiffres dans la variable RPAGEGRP, le système comprendra que c'est des numériques qu'on veut comparer .
par contre, ils manquaient les intervalles

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
DATA age;
do i =1 TO 100;
   RPAGEGRP= put(i,best.) ; output;
end;
DROP i;
run;
 
DATA tranches;
SET age ;
   IF RPAGEGRP < 30 THEN AGE = 1;
   ELSE IF 30=< RPAGEGRP <= 44 THEN AGE = 2;
   ELSE IF 44=<  RPAGEGRP <= 64 THEN AGE = 3;
   ELSE IF RPAGEGRP > 64 then AGE = 4;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 15h16   #5
Membre Expert
 
Inscription : mars 2005
Messages : 1 010
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 010
Points : 1 258
Points : 1 258
Envoyer un message via Yahoo à bahraoui
Bonjour,
Pas besoin de mettre les bornes sup et inf pour les tests.
On ne sait toujours pas la source du problème.
C'est possible de nous envoyer le code complet?
A mon avis il y a un problème dans l'alimentation de la variable RPAGEGRP!!!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
DATA t;
input RPAGEGRP $10.;
cards;
10
50
40
18
100
.
.
 
;
run;
DATA t; SET t;
 IF RPAGEGRP < 30 THEN AGE = 1;
        	ELSE IF RPAGEGRP <= 44 THEN AGE = 2;
	    	ELSE IF RPAGEGRP <= 64 THEN AGE = 3;
		    ELSE AGE = 4;
run;
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
bahraoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h07.


 
 
 
 
Partenaires

Hébergement Web