Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 21/12/2012, 12h36   #1
mohamed_
Membre du Club
 
Inscription : juillet 2010
Messages : 113
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 113
Points : 58
Points : 58
Par défaut Traitement sur variable multiple

Bonjour,

dans une base je dois faire des tris sur des variables à réponses multiples (de 01 à 36 séparées par un .
Je dois réaliser des regroupements à partir de ces variables.

par ex : si q3 = (06 ou 07 ou 08 ou 31) alors marché = 1
Mon problème est que quand je fais mes regroupements, le total de mes réponses n'est pas supérieur au nombre d'interrogés dans ma base.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DATA ddd;
SET _&annee_v.&vague._bdd_indiv (keep=q_3 id q_5 magasin type) ;
nb1_q3 = (INDEX(q_3,"01") ne 0);
nb2_q3 = (INDEX(q_3,"02") ne 0) ; 
... 
nb35_q3 =(INDEX(q_3,"35") ne 0) ;
nb36_q3 =(INDEX(q_3,"36") ne 0) ;
 
/* mode femme  ok */
IF INDEX(Q_3,"06") ne 0 OR INDEX(Q_3,"07") ne 0 OR INDEX(Q_3,"08") ne 0 OR 
	INDEX(Q_3,"31") ne 0 THEN MARCHE_FREQ ="1" ; 
 /*MODE HOMME ok*/ 
 ELSE IF INDEX(Q_3,"10") ne 0 OR INDEX(Q_3,"11") ne 0 OR INDEX(Q_3,"12") ne 0 OR INDEX(Q_3,"32") ne 0 OR INDEX(Q_3,"33") ne 0 THEN MARCHE_FREQ ="2" ; 
 
ELSE IF...
 
run ;
Aussi, je me demande si il passe bien dans tous les if pour chaque cellule de la variable car les résultats par bloc de if sont justes ( qd je mets en commentaires les else if successivement j'ai les bonnes fréquences de marché).
Par contre qd je lance tout le code, je ne retrouve pluss les mêmes chiffres pour mes marchés.

Comment retrouver les mêmes résultats ? Avez-vous une idée ?
mohamed_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 14h28   #2
mohamed_
Membre du Club
 
Inscription : juillet 2010
Messages : 113
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 113
Points : 58
Points : 58
ne faudrait-il pas que je crée autant de variable que j'ai de marchés à coder ?
mohamed_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 15h21   #3
s_a_m
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 310
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 310
Points : 2 541
Points : 2 541
Peut être une proc format et un array?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 17h18   #4
mohamed_
Membre du Club
 
Inscription : juillet 2010
Messages : 113
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 113
Points : 58
Points : 58
c'est un vrai casse tête. En créant une variable par marché je trouve les bons résultats.

Mais je demandais s'il n'existais pas une autre solution car je n'en vois pas.
mohamed_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h26.


 
 
 
 
Partenaires

Hébergement Web