|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 4 ![]() |
Bonjour, je tourne en rond depuis ce matin.
Mon problème est le suivant j'ai pour un individu donné plusieurs lignes selon les activités de loisirs exercées. Je souhaiterais avoir une seule ligne par sujet et créer autant de variables pour l'activité de loisir en colonne. exemple : idsujet actcode actstart actend 10012 1 59 64 10012 2 64 66 10012 3 66 89 10042 1 43 43 10042 2 45 47 10042 3 47 52 10042 4 52 54 10042 5 54 56 10042 6 56 57 10042 7 58 62 10042 8 62 64 10042 9 64 65 10042 10 65 85 Merci pour vos réponses. J'ai essayé le code suivant pour la variable "actcode" mais ça ne marche pas : Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
Pour ce genre de traitement qui demande une "vue d'ensemble" de la table, mieux vaut une procédure qu'une étape DATA. Cette dernière ne pourra lire qu'une ligne de données à la fois et du coup, elle manque un peu de recul. Comme je ne sais pas quelle forme tu veux donner à ton résultat, je t'ai prévu deux solutions, une avec une proc TRANSPOSE et l'autre avec une proc TRANSREG. Code :
Olivier |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 4 ![]() |
Merci pour cette réponse, mais je ne peux l'appliquer que pour une seule variable, dès que j'en ai 2 ou 3 je suis bloquée.
Ce que je voudrais c pour chaque sujet : atcode1 actstart1 actend1 atcode2 actstart2 actend2 ... atcode10 actstart10 actend10 Avoir une une ligne par sujet regroupant l'ensemble des activités de loisirs qui seront représentées par colonne c pourquoi j'avais essayé "actcode1_actcode10" ds le bout de prog sans succès. J'espère avoir été plus explicite. Merci pour votre aide |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Étudiant Inscription : juin 2011 Messages : 19 ![]() |
En reprenant le code je pense avoir réussi à trouver une solution, pas la plus optimale mais elle a l'air de fonctionner.
Code :
|
||
|
|
10
|
|
|
#5 | ||||||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Le plus simple c'est de faire autant de proc TRANSPOSE que tu as de variables à pivoter, et ensuite de fusionner (MERGE, SQL, ...) les tables obtenues.
Code :
Code :
Code :
|
||||||
|
|
10
|
|
|
#6 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Je simplifie juste un peu la proposition de Mag35 (important de penser aux RETAIN !).
Code :
|
||
|
|
10
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 4 ![]() |
Merci MAG, le pb c que si je rajoute une ligne le programme que t'as proposé affecte par défaut les valeurs des données de l'idnum 10042 à l'idnum10051.
Merci olivier decours, J'ai remplacé &nbMaxAct par 10, car j'avais un nombre infini de colonnes et ça a marché. Mnt j'ai une difficulté supplémentaire car je dois faire la même chose pour une autre table contenant des variables numériques et alphanumériques et je n'y arrive pas. SAS n'arrive pas à lire les array, merci pour votre aide Ci dessous un extrait de ma data : ID PROV JOBTITLE idsujet 1 ON writer 104 2 ON sales 104 3 ON consultant 104 1 ON teacher 115 2 ON Research Scientist 115 3 ON Psost Doctoral Student 115 4 ON MA/PHD student 115 1 ON Manager 238 2 ON sales 104 3 Manager 238 4 ON Technician to manager 238 1 ON teacher 607 1 ON Quality control 548 |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 4 ![]() |
Merci infiniment Olivier, j'ai réussis à faire ce que je voulais !
![]() Pour la data où j'avais des variables numériques et alphanumériques, j'ai appliqué le prog sur la partie numérique, puis alphanumérique séparément puis j'ai mergé mes 2 datas. Mille merci encore Bonne fin de journée |
|
|
00
|
|
|
#9 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Hello,
pour traiter les variables numériques et alphanumérique séparément dans la même étape data , il faut utiliser : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com