IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macro Discussion :

import de macros sous SAS/CONNECT


Sujet :

Macro

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Points : 23
    Points
    23
    Par défaut import de macros sous SAS/CONNECT
    salut à tous
    j'avais l'habitude d'importer mes macros via la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options sasautos = (sasautos, "E:\Macros");
    mais j'ai maintenant accès à un server grace à SAS/CONNECT et ma commande pour importer mes macros ne marche plus

    j'ai pourtant copier les macros sur le server, et je les appelle avec leur nouveau chemin mais rien à faire, les macros ne sont pas reconnues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    RSUBMIT;
     
    options sasautos = (sasautos, "/home/sasdemo/Macros");
     
    ENDRSUBMIT;
    quelqu'un connait la solution à mon problème ?
    ou sinon je suis preneur d'une autre méthode pour importer un grand nombre de macros car je n'ai pas spécialement envie de les compiler une à une ...
    merci !

  2. #2
    Membre éprouvé
    Avatar de steelspirit
    Homme Profil pro
    SAS discute
    Inscrit en
    Janvier 2008
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SAS discute
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 472
    Points : 916
    Points
    916
    Par défaut
    Citation Envoyé par PhYx Voir le message
    les macros ne sont pas reconnues
    même en les appelant dans un RSUBMIT ? ça provient surement d'une config et de l'OS différent de ton serveur SAS.

    Sinon ajoute l'option mautosource et utilise plutot un filename :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RSUBMIT;
    filename pgm "/home/sasdemo/Macros" ; 
    options sasautos = (sasautos, pgm) mautosource ;
    ENDRSUBMIT;
    Vérifie les changements en faisant dans un RSUBMIT un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    %Put %sysget(SASautos);
    Autres méthodes : Tu créé ou modifie le config de SAS du serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     -SET SASAUTOS (
     "/home/sasdemo/Macros" 
     etc ...
     )
    Une autre solution : copié tes macro dans le répertoire
    "!sasroot/core/sasmacro" mais c'est pas tres propre

    Bon courage,

    Steel

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    salut,
    ces méthodes ne fonctionnent pas je ne comprends pas pourquoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options sasautos = (sasautos, pgm) mautosource ;
    compile bien
    mais si j'appelle les macros, ca me répond qu'elles ne sont pas reconnues

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %Put %sysget(SASautos);
    ne compile pas, il me répond que %sysget n'est pas reconnu


    j'ai cependant trouvé une solution de secour en incluant mes macros une par une :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RSUBMIT;
    %include "/home/sasdemo/Macros/macro1.sas";
    %include "/home/sasdemo/Macros/macro2.sas";
    ...
    ENDRSUBMIT;

    peut etre aurais-je du préciser que ma config est un peu exotique :
    je suis sur win 2000, je passe par win vista via une machine virtuelle le tout pour lancer SAS/CONNECT à partir de enterprise guide (que je ne maitrise absolument pas pour le moment)

    j'ai aussi une question qui n'a rien à voir avec le titre initial de mon post : y a t il des différences de syntaxes au niveau des macros variables entre le langage SAS et le langage enterprise guide ? ou bien le langage SAS/CONNECT ?

    mes procédures me rendent des résultats curieux (ou pas de résultats) sur le server alors qu'elles tournent parfaitement en local (mais mettent un temps fou sur une machine bureautique)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Salut,

    Citation Envoyé par PhYx Voir le message
    salut,

    j'ai cependant trouvé une solution de secour en incluant mes macros une par une :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RSUBMIT;
    %include "/home/sasdemo/Macros/macro1.sas";
    %include "/home/sasdemo/Macros/macro2.sas";
    ...
    ENDRSUBMIT;
    Donc ceci devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    RSUBMIT;
    filename MACROX '/home/sasdemo/Macros';
    options sasautos=(MACROX, SASAUTOS);
    %test;
    ENDRSUBMIT;
    Par contre : tu dois avoir un fichier /home/sasdemo/Macros/test.sas (attention a la caps)

    Autre point:
    Tu ne peux pas passer des macro-variables locales vers le serveur:
    Tu dois utiliser %sysrput ou %syslput.
    C'est comme les tables si tu veux, tu dois utiliser PROC UPLOAD/PROC DOWNLOAD

    Une erreur souvent commise: ne marche pas car &i n'est pas connu du serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    %macro zozo;
       %do i = 1 %to 10;
          RSUBMIT;
             %test(param=&i);
          ENDRSUBMIT;
       %end;
    %mend zozo;
    %zozo;
    Xav

Discussions similaires

  1. [PROC] Importer fichier Excel sous Sas Entreprise Guide 4
    Par lovelylife dans le forum SAS Base
    Réponses: 0
    Dernier message: 03/06/2015, 14h47
  2. Réponses: 4
    Dernier message: 26/06/2012, 11h34
  3. Import date/heure sous SAS
    Par ninon10 dans le forum SAS Base
    Réponses: 1
    Dernier message: 25/08/2010, 10h14
  4. Importation Fichier TXT sous SAS
    Par marinaines dans le forum Macro
    Réponses: 1
    Dernier message: 03/04/2009, 12h10
  5. [Macro] bootstrap sous sas
    Par kelmarina dans le forum Macro
    Réponses: 2
    Dernier message: 17/07/2008, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo