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 :

Boucle et import


Sujet :

Macro

  1. #1
    Membre éclairé

    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2007
    Messages : 214
    Points : 816
    Points
    816
    Par défaut Boucle et import
    Bonjour,

    J'ai besoin de charger 1000 fichiers (numérotés SimpleSAS1.csv,
    SimpleSAS2.csv,...) pour ensuite les traiter. Pour cela, j'utilise une boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    %macro repetition;
    %local i; /* Variable compteur */
    %do i=1 %to 1000;
     
    /* 1. * Etape d'importation */
    PROC IMPORT OUT=WORK.SimpleSAS&i
        DATAFILE='C:\Documents and Settings\Administrator\My Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS&i.csv'
     
    DBMS=DLM REPLACE;
        DELIMITER='3B'x;
        GETNAMES=YES;
        DATAROW=2;
    RUN;
     
    %end; /*fin de la boucle */
    %mend ; /*Fin macro */
     
    %repetition;
    et ca ne marche pas. Le message est le suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ERREUR: Le fichier physique n'existe pas, C:\Documents and Settings\Administrator\My
    Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS&i.csv.
    NOTE: Import Cancelled.
    NOTE: Le Système SAS a interrompu le traitement de cette étape en raison d'erreurs.
    NOTE: La procédure IMPORT a utilisé (Durée totale du processus) :
         temps réel                   0.04 secondes
         temps processeur   0.03 secondes
     
    ERREUR: Le fichier physique n'existe pas, C:\Documents and Settings\Administrator\My
    Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS&i.csv.
    NOTE: Import Cancelled.
    NOTE: Le Système SAS a interrompu le traitement de cette étape en raison d'erreurs.
    NOTE: La procédure IMPORT a utilisé (Durée totale du processus) :
         temps réel                   0.03 secondes
         temps processeur   0.03 secondes
    Avez-vous une idée de ce qui ne marche pas ?

    Christophe

    PS : Joyeux noel...
    Christophe
    Porteur du projet R++ https://rplusplus.com
    YouTubeur https://www.youtube.com/c/lesstatsmemepasmal

  2. #2
    Responsable SAS


    Inscrit en
    Septembre 2006
    Messages
    3 176
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 176
    Points : 16 219
    Points
    16 219
    Par défaut
    Bonjour,
    Je n'ai pas SAS chez moi pour tester mais je pense que tu peux essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %LET tit1=%str(C:\Documents and Settings\Administrator\My Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS)
    %LET titre=%str('&tit1&i');
    CE qui te donnera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    %macro repetition;
    %local i; /* Variable compteur */
    %do i=1 %to 1000;
    %LET tit1=%str(C:\Documents and Settings\Administrator\My Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS)
    %LET titre=%str('&tit1&i');
    /* 1. * Etape d'importation */
    PROC IMPORT OUT=WORK.SimpleSAS&i
        DATAFILE=&titre
     
    DBMS=DLM REPLACE;
        DELIMITER='3B'x;
        GETNAMES=YES;
        DATAROW=2;
    RUN;
     
    %end; /*fin de la boucle */
    %mend ; /*Fin macro */
     
    %repetition;
    Dit moi si ça marche!!
    Les balises code
    FAQ SAS
    Rubrique SAS

    Si vous souhaitez contribuer à la rubrique SAS, contactez-moi ou tout autre membre de l'équipe BI par MP.

  3. #3
    Membre éclairé

    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2007
    Messages : 214
    Points : 816
    Points
    816
    Par défaut
    Je ne sais pas, je n'ai plus SAS avant le 7 janvier...

    Par contre, j'ai finallement trouvé : il faut changer les ' en " :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROC IMPORT OUT=WORK.SimpleSAS&i
        DATAFILE='C:\Documents and Settings\Administrator\My Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS&i.csv'
    ne marche pas, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROC IMPORT OUT=WORK.SimpleSAS&i
        DATAFILE="C:\Documents and Settings\Administrator\My Documents\Recherche\Trajectoires\artificialData\SAS\SimpleSAS&i.csv"
    marche.

    Anyway, merci pour ton aide.
    Christophe
    Porteur du projet R++ https://rplusplus.com
    YouTubeur https://www.youtube.com/c/lesstatsmemepasmal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle infini importation fichiers .txt
    Par cyrus87 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/03/2014, 11h45
  2. [AC-2002] Boucle pour importer et traiter des fichiers excel dans un dossier
    Par Tinien dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/06/2010, 11h59
  3. boucle importation fichiers excel
    Par linoo7 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/02/2008, 17h20
  4. boucle d'importation de fichier excel
    Par olodin dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/06/2007, 15h42
  5. Import en boucle
    Par chmod666 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/08/2006, 14h29

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