|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Erwan Legrand Inscription : juin 2010 Messages : 9 ![]() |
Bonjour,
Je suis en train de réaliser un programme d'importation d'un fichier texte dans différentes tables SAS. Pour cela, j'utilise les instruction INFILE pour lire le fichier (nom: RSFA) et INPUT pour écrire dans mes tables. La difficulté est la suivante: Les 8 premiers caractères de chaque ligne correspondent à un identifiant d'établissement de santé. Le 9ème caractère contient une lettre (de A à F) qui va déterminer dans quelle table SAS, la ligne du fichier texte va être copier. Dans un premier temps, j'ai donc créé la structure de mes tables RSFA_A, RSFA_B ... RSFA_F qui n'ont toutes la même longueur, ni les mêmes variables. Avant d'utiliser la fonction INPUT afin d'écrire ma ligne dans une table, je cherche donc à récupérer la valeur de la lettre afin de choisir la bonne table pour mon OUTPUT. J'aimerai donc stocker la valeur de la lettre dans une variable, puis effectuer un test à l'aide d'une instruction SELECT WHEN pour déterminer la suite de mon programme. Seulement je ne sais pas comment stocker cette valeur dans une variable sans l'avoir écrit précédemment dans une table à l'aide d'INPUT. Je vous remercie pour votre aide. Cordialement, Erwan Legrand |
|
|
00
|
|
|
#2 | ||
|
Membre régulier
![]() Inscription : juillet 2010 Messages : 79 ![]() |
Bonjour,
Je te propose une solution (il y'a peut être des meilleurs solutions) qui consiste à des étapes DATA pour chacune de tes tables (avec le même fichier entrée). Pour pouvoir détéerminer quelle table écrire il faut bloquer la valeur de la variable code en utilisant le signe @. Après tu supprimes toutes les observations qui ne satisfaisent pas la condition et puis tu écris la ligne d'input Code :
|
||
|
|
00
|
|
|
#3 | |||
|
Membre du Club
![]() julien marandetIngénieur Statisticien Inscription : janvier 2013 Messages : 28 ![]() |
Bonjour Erwan,
La proposition d'ibrahima13 de bloquer le curseur avec '@' est très bonne pour te mettre sur la piste. Tu peux ainsi regrouper les 3 étapes DATA en une seule : Par ex : Citation:
Code :
|
|||
|
|
10
|
|
|
#4 | |||
|
Invité de passage
![]() Erwan Legrand Inscription : juin 2010 Messages : 9 ![]() |
Citation:
Merci beaucoup pour votre réactivité en tout cas. |
|||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com