Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 24/02/2013, 11h44   #1
the_programmer
Invité de passage
 
Homme
Étudiant
Inscription : février 2013
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2013
Messages : 9
Points : 0
Points : 0
Par défaut Enregistrer un format

Bonjour,

J'ai créé un format sous SAS grâce au code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DATA REFER.FMT(RENAME = (DEP = START LIBDEP = LABEL));
SET APPLI.DEP(KEEP=DEP LIBDEP);
FMTNAME = '$F_DEP';
RUN;
 
PROC FORMAT CNTLIN=REFER.FMT;
LIB=FMT_BASE.FORMATS;
RUN;
 
%MACRO M_LIBDEP (TABLE);
	DATA APPLI.&TABLE;
	SET APPLI.&TABLE;
	FORMAT LIBDEP $F_DEP.;
	RUN;
%MEND M_LIBDEP;
 
%M_LIBDEP(AGE)
%M_LIBDEP(OTEX)
%M_LIBDEP(COMMUNES)
J'ai également mis l'instruction suivante dans mon autoexec :

Code :
OPTION FMTSEARCH = (FMT_BASE.FORMAT WORK);
Le problème est que SAS ne sauvegarde pas mon format dans mon dossier FMT_BASE, il le place dans la WORK. Je ne comprends pas pourquoi. De plus, il m'affiche le message d'erreur suivant dans la LOG :

Code :
1
2
3
4
5
6
7
8
9
10
11
247  PROC FORMAT CNTLIN=REFER.FMT;
NOTE: Format $F_DEP has been output.
248  LIB=FMT_BASE.FORMAT;
     ---
     180
ERROR 180-322: Statement IS NOT valid OR it IS used out of proper ORDER.
 
NOTE: l'instruction précédente a été supprimée.
249  RUN;
 
WARNING: RUN statement ignored due to previous errors. Submit QUIT; to terminate the procedure.
Si pouviez m'aider et me dire comment faire, cela serait sympa.

Merci d'avance.

Cordialement,

the_programmer
the_programmer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2013, 13h32   #2
ibrahima13
Membre régulier
 
Inscription : juillet 2010
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 82
Points : 87
Points : 87
Bonjour,

Dans la proc format il y'a une erreur de synthaxe. l'instruction lib doit intervenir au niveau de la proc format, let la valeur lib ne doit pas contenir le nom format mais juste le nom de la librairie dans laquelle tu vas stocker tes formats.

essaye ceci:
Code :
1
2
PROC FORMAT CNTLIN=REFER.FMT LIB=FMT_BASE;
RUN;
ibrahima13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h53.


 
 
 
 
Partenaires

Hébergement Web