|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Bonjour à tous,
Je continue mon étude sous SAS sur des individus. Je souhaiterais étudier la carrière de cadres dans une entreprise. Je possède des données depuis 1980 jusque 2010 et une liste de 250 cadres. Ainsi par ligne je possède un individus, et toutes les années il était présent dans l'entreprise et dans quelle secteur, par exemple: Nom individu 1980 1981 1982 1983 1984 1985 1986 1987 1988 ... 2010 Cadre 1 A A A B B Cadre2 C C C Cadre3 B B B E E Soit le cadre 1 a commencé en 1981 et a terminé en 1985, et est passé par deux secteurs différents, le A et le B. Le cadre 2 a commencé en 1985 et terminé en 1987 (désolé c'est un peu décalé!) Je souhaiterais étudier ces carrières sous forme de cohorte: Soit n la première année d'embauche, n+1 la seconde... jusque la dernière! Pour ensuite étudier leur comportement, suivi de secteur ect... J'ai une maitrise assez moyenne de SAS pour ce genre de programme! Merci pour votre aide!! En attendant je vous souhaites un bon week end |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut,
Tu peux mettre en pièce jointe un échantillon de ton fichier (txt) et préciser ce que tu souhaites obtenir pour un cadre bien spécifique? |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
Je ne sais pas si j'ai bien compris ce que tu veux obtenir en résultat, mais tu as plusieurs pistes : soit une proc Transpose, pour mettre tes carrières en une série d'observations (avec un pivot BY nom), suivie d'une étape Data pour éliminer les années vides et pour numéroter les années de 1 à n ; soit une seule étape Data avec un Array (bloc de variables indicées) qu'on peut parcourir pour chercher où commence la carrière, puis la parcourir en écrivant à chaque fois une observation (instruction OUTPUT). Code :
Olivier |
||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Re-bonjour,
merci pour vos réponses, hélas j'ai beau essayer les deux programmes,aucun ne fonctionne. Les n+1 n'apparaissent pas... Voici en pièce jointe un bout de mon fichier sous format excel, peut-être cela vous parlera plus. Les cadres peuvent changer de secteur pendant leur carrière (passer de A à D, ou l'inverse) ils peuvent aussi partir de l'entreprise et revenir plus tard... |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Pouir ma part, je ne suis pas sur d'avoir bien ce que tu cherches à faire. Peux-tu réexpliquer?
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Bien sur.
Je possède une liste de cadres avec leur carrière au sein de l'entreprise entre 1976 et 2011. Certain ont commencé en 1976, d'autres en 2008... et certain sont parti de l'entreprise en 1982 ou une autre date. Donc chaque cadre possède une ligne de carrière au sein de l'entreprise, par exemple pour un cadre: 1980 = début de carrière en secteur A 1981=deuxième année en secteur B 1982=troisieme année en secteur B 1983=troisieme année en secteur B 1984=troisieme année en secteur C 1985=fin de sa carrière dans l'entreprise, il quittent la cohorte donc en n=1980 en A, n+1=1981 en B, n+2=1982 en B, n+3=1983 en B, n+4=1984 en B, n+5=1985 en C mais pour d'autre le calendrier est différent, mais dans tous les cas leur carrière commence par l'année n et se poursuit par n+i Plus clair ou pas? |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
1980 = début de carrière en secteur A
1981=deuxième année en secteur B 1982=troisieme année en secteur B 1983=troisieme année en secteur B 1984=troisieme année en secteur C 1985=fin de sa carrière dans l'entreprise, il quittent la cohorte tu veux le nombre d'années passé dans chaque secteur comme suit? Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Non,
Pour chaque individus je souhaites en n leur première année de contrat, en n+1 leur seconde avec a chaque fois le secteur ou ils travaillent: N N+1 N+2 N+3 N+i cadre 1 Secteur x Secteur x Secteur x Secteur x Secteur x |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Je ne comprends pas, pour moi ton fichier a déjà cette structure.
Tu peux me dire concrètement à partir de ton exemple ci-dessous, ce que tu souhaites obtenir (au lieu de mettre des x): 1980 = début de carrière en secteur A 1981=deuxième année en secteur B 1982=troisieme année en secteur B 1983=troisieme année en secteur B 1984=troisieme année en secteur C 1985=fin de sa carrière dans l'entreprise, il quittent la cohorte |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
En fait je souhaites transformer les années en n, n+1....
1980 est transformé en n 1981 en n+1 etc... mais tous ne sont pas entré dans l'entreprise au même moment donc pour que je puisse étudier leur carrière selon n'importe quelle date d'entrée et de sortie, tout coder par n, n+1 etc... J'ai du mal a m'expliquer!! |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Oui excuses moi c'est codé en C0176, C1076... c'est le même principe, en fait C0176 correspond au secteur du cadre au 1er janvier 76 et C1076 le secteur du cadre au 1er octobre 76 !
|
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Tu peux m'envoyer ton fichier Excel au format txt ?(j'ai pas excel)
|
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Je ne sais pas si ça sera plus parlant!
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Non , le cadre 1 a commencé sa carrière en octobre 76 et l'a terminée en janvier 1979
|
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
oui et les coder en n, n+1, n+2 ...
et cela pour tous les cadres! |
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
00
|
|
|
#20 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 41 ![]() |
Pour moi la logique:
Sas balaie la première ligne à partir de la colonne 1, quand il trouve une valeur il créer dans une nouvelle colonne et la code "n", ensuite il continue et s'il trouve une seconde valeur il l'a code "n+2" etc... à la fin il ne trouve aucune valeur dans la colonne et bien il passe à la ligne suivante, ça donnera: N N+1 N+3 ... Cadres 1 A A A Tu penses que c'est réalisable? en faisant un array? mais je maitrise mal cette option |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com