|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Bonjour,
Encore un petit problème de macro. (pas encore une partie que j'ai vraiment étudié J'essaye d'appeler mon programme "hello.sas" via une macro: Le programme hello.sas (Assez original, je l'avoue Et mon programme appelant qui fait : Code :
Code :
ERROR: Incorrect %INCLUDE statement will NOT be executed. There IS a syntax error.
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Salut,
Faudrait tout dire à SAS, ie le répertoire où se trouve le programme que tu appelles. Voici la synthaxe: Bon courage |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Salut Megamind,
Je viens d'essayer avec le chemin complet mais ce n'est pas le problème. Comme je suis dans le répertoire courant (En fait, je fais plusieurs appels avec un %include("nom_programme.sas") et ça fonctionne). Mais ici c'est différent parce que je fait l'appel à l'intérieur d'une macro. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
C'est pas parceque tu appelles un programme dans une macro que ça marche pas.
En tout cas j'ai testé et ça marche nickel! |
|
|
00
|
|
|
#5 | ||||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Point positif: J'ai presque écris un code qui fonctionne
Sinon --> MEA CULPA! Je fais mes appels avec include de la manière suivante (hors macro) Code :
Code :
global_path est déclaré comme globale. ....mais pas location Comment réécrire cette ligne dans une macro? %include location ("hello.sas"); PS: Encore désolé Megamind --> Mea culpa |
||||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Je t'en prie!
J'ai pas tout compris (très mal dormi cette nuit) Pourquoi tu n'écris pas tout simplement: Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Effectivemment, c'est ce que j'étais en train d'essayer.
Et ça fonctionne comme ceci: Code :
![]() Si quelqu'un voit la solution avec %include location ("fichier.sas") je suis preneur... En attendant, Merci beaucoup et bonne journée. Message Perso: Merci beaucoup Megamind et bonne |
||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
quel est l'intérêt du macro programme? Un peu de macro language (sans macro programme) devrait suffire à priori.... Etant donné que tu disposes déjà de la macro variable nb_metrics, et , je suppose, que tu ne vas pas réaliser plusieurs fois un include du même fichier...
cela ne suffit-il pas? Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Ne me reveille plus stp!
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
10
|
|
|
#11 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
alors quel est l'intérêt du %include????
|
|
|
00
|
|
|
#12 | |||||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
Citation:
En fait, j'ai mis ici un code simplifié car mon programme est beaucoup plus long. (Et fais plus que dire Bonjour Le but est que si nb_rep = 0 je ne fais rien de spécial. Par contre si nb rep > 0 (par exemple nb_rep=3) alors je fais: 1 fois mon include et ensuite je crée une boucle qui appelle mes programmes pour créer des métriques (metric1.sas, metric2.sas, ....metricn.sas) du style: Code :
|
|||||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Si je comprends bien tu fais plusieurs include, et le fichier de chaque include est adapté en fonction de l'itération de la boucle. OK.
Par contre (c'est un peu chipoter, je sais..) mais dans l'idée il me semble qu'on peut se passer du macro programme |
|
|
00
|
|
|
#14 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Bonjour;
je ne comprends pas ce qui ne marche pas ( la boucle ou les INCLUDE)? sinon avec un %GO%TO et/ou un (%else %do au lieu de %else),ne marche pas non plus. |
|
|
00
|
|
|
#15 | |||||
|
Membre habitué
![]() Consultant informatique Inscription : mars 2002 Messages : 211 ![]() |
S_a_m,
Ne nous égarons pas Le problème est résolu en codant d'une autre manière. Sinon, j'aurais voulu savoir si quelqu'un avait une idée pour faire fonctionner le include comme indiqué ci dessous.... (Juste pour voir si c'est possible) Citation:
|
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com