Bonjour,
Je fais face à un problème totalement nouveau pour moi, dont voici l'explication (j'espère être aussi clair que possible, les tables auxquelles je fais référence sont jointes à la fin). Pour ceux qui connaitraient, il s'agit de la base SAE 2006 de la DREES. J'ai ici extrait les données relatives à un hôpital (pris au pif, et c'est un hopital public), et je m'intéresse pour l'exemple à deux tables concernant le personnel de l'hôpital:
- Q20A c'est le personnel médical. "FI" représente le code FINESS, on a autant d'observations que de types d'emplois (PERSO), et pour chaque emploi on a le nombre de postes à temps plein (PUTPL), temps partiel (PUTPA) et le cumul des deux (PUTPP). Le code FINESS est le même pour toutes les observations vu que ça concerne un seul et même hôpital.
- Q23A c'est la suite du personnel médical, à savoir les sages femmes et les personnels non médicaux, avec toujours la variable PERSO, et le code FINESS. C'est un prolongement de la table Q20A en fait... là où ça se complique, c'est que les variables ne sont plus les mêmes. Ici plus de PUTPL PUTPA et autres, on a des variables d'ETP moyen mensuel rémunéré, selon si les employés sont titulaires (_TITU), non titulaires (NTIT) ou remplaçants (REMP).
Et moi ce que j'essaie de faire, c'est donc une table qui serait la fusion de Q20A et Q23A, sachant que les deux tables n'ont quasiment aucune variable commune. La proc merge de SAS ne me donne pas ce que je veux, car elle fait correspondre les variables de Q20A aux observations de Q23A. Par exemple il m'associe des totaux temps plein de médecins à des sages femmes... si j'essaie de fusionner avec l'instruction "by FINESS" c'est encore pire, vu qu'arrivé à la dernière observation de Q20A (la neuvième), il réplique les valeurs des variables... Bon enfin tout ça n'est pas très clair, je vous joins donc aussi les diverses tables obtenues en fusionnant.
Ce que je voudrais, c'est une table qui ait l'allure du fichier Excel que j'appelle test. Quelqu'un a une idée du code pour ça ? Sachant que là ce n'est donc que pour un hôpital et deux tables . Faudrait ensuite que ce soit extensible pour fusionner 5 tables différentes (et n'ayant toujours, a priori, pas ou peu de variables communes) contenant chacune environ 4000 hostos, et dont le nombre d'observations varie (comme dans l'exemple en fait: pour les médecins on a que 9 observations, pour les sage-femmes on en a bien plus que ça)
Pour info, je dispose de la base sous SAS mais aussi sous Access. Ne sachant pas utiliser Access pour l'instant je me suis dirigé instinctivement vers SAS, mais c'est peut-être pas le plus simple, après tout.
Merci d'avance
Partager