Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Administration
Administration Forum d'entraide sur les fonctionnalités d'administration de SAS : installation, portal, serveurs
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 18/11/2010, 14h50   #1
Membre confirmé
 
Inscription : janvier 2008
Messages : 239
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 239
Points : 235
Points : 235
Par défaut Créer un fichier vide en sortie d'un PROC EXPORT

Bonjour,

Je débute sous SAS et je ne parviens pas à créer un fichier vide en sortie de mon PROC EXPORT.

En fait, dans mon traitement, je crée une table SAS à partir d'une requête SQL Oracle. Cette requête ne renvoie pas forcément de données.

Dans le cas où la table SAS ne contient aucune observation, je voudrais quand même créer mon fichier en sortie, soit totalement vide, ou au pire avec les entêtes de colonnes.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
proc sql;
    connect TO oracle AS ora...
    CREATE TABLE lib.MaTable AS
    SELECT * FROM connection TO ora (
        SELECT * FROM MaTableOracle WHERE MesConditions
    );
    disconnect FROM ora;
quit;
run;
 
proc export DATA = lib.MaTable
    OUTFILE = "/MonChemin/MonFichier.csv";
    DELIMITER = ";";
    DBMS = CSV REPLACE;
run;
quit;
Quelqu'un a-t-il une idée ?

Merci d'avance pour votre aide.
TeamArkadia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 15h41   #2
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 133
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 133
Points : 1 744
Points : 1 744
Ca marche sans soucis de mon coté (en se basant sur un fichier vide créé sans oracle). Tu as je pense une erreur de syntaxe concernant le placement de l'option dbms. Contrôle ta log...
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 16h05   #3
Membre confirmé
 
Inscription : janvier 2008
Messages : 239
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 239
Points : 235
Points : 235
Franchement, je ne vois pas... Tout à l'heure, j'ai eu ça comme message d'erreur :
Code :
ERROR 180-322: Statement IS NOT valid OR it IS used out of proper ORDER
Du coup, j'ai trouvé un autre moyen, mais qui me parait moins propre :
Code :
1
2
3
4
5
6
7
 
DATA _null_;
    file "/MonChemin/MonFichier.csv" dsd dlm=";";
	SET lib.MaTable;
	put (_all_) (+0);
run;
quit;
TeamArkadia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 17h26   #4
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 133
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 133
Points : 1 744
Points : 1 744
avec ce code ca marche chez moi

Code :
1
2
3
4
5
6
7
8
9
DATA test;
format nom1 nom2 best12.;
DELETE;
run;
 
proc export DATA = lib.MaTable
    OUTFILE = "/MonChemin/MonFichier.csv" DBMS = CSV REPLACE;
    DELIMITER = ";";run;
quit;
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h29.


 
 
 
 
Partenaires

Hébergement Web