Macro SAS paramètre dans nom de fichier
Résolu/Fermé
fabienne35
Messages postés
11
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
20 avril 2010
-
28 janv. 2008 à 12:18
fabienne35 Messages postés 11 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 20 avril 2010 - 28 janv. 2008 à 14:55
fabienne35 Messages postés 11 Date d'inscription mercredi 23 janvier 2008 Statut Membre Dernière intervention 20 avril 2010 - 28 janv. 2008 à 14:55
A voir également:
- Macro SAS paramètre dans nom de fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
2 réponses
steelspirit
Messages postés
277
Date d'inscription
lundi 12 mai 2003
Statut
Membre
Dernière intervention
22 octobre 2008
80
28 janv. 2008 à 13:47
28 janv. 2008 à 13:47
Bonjour,
Voici la solution :
remplacer set mabase&jour&mois&an;
par
set mabase%sysfunc(putn(&jour,z2.))%sysfunc(putn(&mois,z2.))&an;
on utilise ici le format z2. qui met un 0 devant si la valeur est sur 1 caractère. Pour appliquer le format dans une macro on utilise %sysfunc et putn qui applique le format à la volée.
Steel
Voici la solution :
remplacer set mabase&jour&mois&an;
par
set mabase%sysfunc(putn(&jour,z2.))%sysfunc(putn(&mois,z2.))&an;
on utilise ici le format z2. qui met un 0 devant si la valeur est sur 1 caractère. Pour appliquer le format dans une macro on utilise %sysfunc et putn qui applique le format à la volée.
Steel
fabienne35
Messages postés
11
Date d'inscription
mercredi 23 janvier 2008
Statut
Membre
Dernière intervention
20 avril 2010
28 janv. 2008 à 14:55
28 janv. 2008 à 14:55
Merci pour la réponse.
Du coup mon pg devient :
%let an=07
%macro test;
%do jour= 01 %to 31;
%do mois= 01 %to 12;
data sd01;
set mabase%sysfunc(putn(&jour,z2.))%sysfunc(putn(&mois,z2.))&an;
where a='A';
run;
data sd;
set sd sd01;
run;
%end;
%end;
%mend;
%test;
Du coup mon pg devient :
%let an=07
%macro test;
%do jour= 01 %to 31;
%do mois= 01 %to 12;
data sd01;
set mabase%sysfunc(putn(&jour,z2.))%sysfunc(putn(&mois,z2.))&an;
where a='A';
run;
data sd;
set sd sd01;
run;
%end;
%end;
%mend;
%test;