Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2011, 21h49   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 1
Points : 0
Points : 0
Par défaut Export de table vers fichier txt

Bonjour,
Je tourne en rond depuis plusieurs jour ...
Je voudrais exporter un table vers un fichier .txt et séparateur ;
Voici mon code pour arriver a cela:
Code :
1
2
3
4
5
6
proc export DATA=matable
OUTFILE = monFichier
dbms=CSV
REPLACE;
delimiter=";";
run;
Tout se déroule presque correctement sauf que le fichier est incomplet.
Comme si j'étais limité par le nombre de colonnes.
Merci de vos lumières
cetir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 22h18   #2
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Toute fois tu peux eviter de faire un proc export.
Adapte le code ci_dessous avec ta table.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DATA test;
input nom $ 5. prenom $ 7. numero $ 15.;
cards;
CETIR INVITE  0478878788
;
run;
filename myfile "C:\~~\booster.txt";
 
DATA _null_;
file myfile;
SET test;
IF _n_=1 then do ;
put 'Nom' ';' 'Prenom' ';' 'Numéro de carte' ; 
end;
put nom  ';' prenom  ';' numero ;
run;
Si ça marche, n'oublies pas de me filer le bon numéro de ta carte bleue pour avoir une vraie donnée
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 10h22   #3
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
déjà le filename "MonFichier" est trop long ...

De toute façon, par défaut une sortie ou une entrée texte fait 256 caractères de large pour SAS. Lorsque le fichier d'entrée ou de sortie est plus large que 256 caractères, tu dois ajouter un LRECL à ton filename. Celui reflètera alors la largeur potentielle du fichier.

tu peux jouer avec mon LRECL tu verras que si tu le mets à 512, 1024 etc... le nombre de colonnes contenues dans le fichier s'agrandira.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
data test;
array t (*) i1-i1000;
do i = 1 to 100;
t(i) = '1234679'; output;
end;
run;

filename monFic 'd:\temp\ici.txt' lrecl=32000;

proc export DATA=test
OUTFILE = monFic
dbms=CSV
REPLACE;
delimiter=";";
run;
Quant à l'usage ou non de l'INFILE, chacun ses goûts....
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h36.


 
 
 
 
Partenaires

Hébergement Web