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

Outils BI Discussion :

EXPORT EXCEL via un code pour SAS Guide


Sujet :

Outils BI

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 60
    Points : 49
    Points
    49
    Par défaut EXPORT EXCEL via un code pour SAS Guide
    Bonjour,
    A la fin de mon projet SAS Guide, j'ajoute une valeur numérique correspondant à ma période d'analyse (ex:201406)
    cette première comande fonctionne très bien.
    Ensuite, je souhaite récupérer la nouvelle table (avec sa periode) et l'exporter en Excel (xlsx).
    Ce code sera utilisé tous les mois, la PERIODE changera donc tous les mois et l'export devra prendre en compte le nouveau nom tous les mois.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DATA WORK.CNpro_ENTREES_DSS_LIES_&PERIODE. ;
     
    run;
     
    PROC EXPORT DATA=CNpro_ENTREES_DSS_LIES_&PERIODE
    	OUTFILE="c:\CNpro_ENTREES_DSS_LIES_&PERIODE.xlsx"
    dbms=ExcelCS replace;
    sheet=class1;
     
    run;
    Voici le message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    19         PROC EXPORT DATA=CNpro_ENTREES_DSS_LIES_&PERIODE
    20         	OUTFILE="c:\CNpro_ENTREES_DSS_LIES_&PERIODE.xlsx"
    21         dbms=ExcelCS replace;
    22         sheet=class1;
    23         
    24         run;
     
    ERROR: Server Name is invalid or missing.
    NOTE: The SAS System stopped processing this step because of errors.
    NOTE: PROCEDURE EXPORT used (Total process time):
    Une bonne âme peut-elle m'aider ?
    D'avance merci

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    ExcelCS est un moteur spécifique qui requiert SERVER= et PORT=. regarde dans mon doc sur les Import/export

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 60
    Points : 49
    Points
    49
    Par défaut Merci, enfin une réponse,
    Merci pour l'info, j'ai consulté, imprimé, je regarde si je trouve mon bonheur (et arrive à comprendre)
    A+

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 60
    Points : 49
    Points
    49
    Par défaut
    Re,
    Merci pour tes documents c'est très utile pour un débutant comme moi.
    Cependant, je n'arrive pas a faire ce que je souhaite à savoir :
    Dans ma table finale il y a une colonne "PERIODE" qui change tous les mois,
    Je veux que le code ajoute cette période au nom de ma table finale,
    Puis qu'il fasse un export en excel 2010 ou 2007 ou 2003 (xls ou xlsx) de cette table finale avec la "PERIODE"
    Tu peux m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DATA _null_;
       SET WORK.CNpro_ENTREES_DSS_LIES_ (obs=1) ;
       call symputx("PERIODE", PERIODE);
    run; 
     
    proc export 
    DATA=sashelp.class
    OUTFILE='C:\CNpro_ENT_DSS_LIES_&PERIODE_.xls'
    	DBMS=Excelcs
    	REPLACE;sheet=class1;
    run ;

  5. #5
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    1/ Il manque les double quotes pour outfile
    2/Assure toi qu'il y a pas de blanc dans ta macro-variable (période)
    3/ ajoute un point après l'appel de ta macro-variable

    j'ai testé ceci sur mon poste ça marche.

    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 export;
     
    DATA _null_;
       SET WORK.test (obs=1) ;
       call symput ('periode',mois);
    run;
     
    %let x=%sysfunc(trim(%sysfunc(left(&periode))));
     
    proc export 
    DATA=sashelp.class
    OUTFILE="C:\class_&x..xlsx"
    	DBMS=Excel
    	REPLACE;
        sheet=class1;
     
    run ;
     
    %mend export;
    %export;
    Cordialement

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 60
    Points : 49
    Points
    49
    Par défaut plus qu'un message d'erreur...
    Bonjour et merci, je progresse bien, il n'y a plus qu'un seul message d'erreur :

    ERROR: Server Name is invalid or missing.

    Que veux tu dire avec "3/ ajoute un point après l'appel de ta macro-variable"


    Voici mon code,

    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 export;
     
    DATA _null_;
       SET WORK.CNpro_ENTREES_DSS_LIES (obs=1) ;
       call symput ('PERIODE',PERIODE);
    run;
     
    %let x=%sysfunc(trim(%sysfunc(LEFT(&PERIODE))));
     
    proc export 
    DATA=SASHELP.CLASS
    OUTFILE="C:\1-RPH\CNpro_ENTREES_DSS_LIES_&PERIODE.xlsx"
    	DBMS=ExcelCS
    	REPLACE;
        sheet=class1;
     
    run ;
     
    %mend export;
    %export;

  7. #7
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    1/ Est ce que le module SAS/ACCESS to PC FILES est installé sur ton poste?


    2/ajoute un point après l'appel de ta macro-variable?
    à l'exportation de ton fichier, si tu indique dans le outfile
    C:\class_&x..xlsx: tu aura : class_072014.xlsx
    C:\class_&x.xlsx : tu aura class_072014xlsx

    Cordialement

  8. #8
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2012
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 60
    Points : 49
    Points
    49
    Par défaut Module
    Je viens d'avoir la réponse, non, nous n'avons pas ce module!!!
    Y-a-t-il une solution de contournement ou dois-je insister pour l'obtenir ?

  9. #9
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    A ma connaissance non.

    L'installation de ce module tu permets d'utiliser le moteur EXCEL afin réaliser les import et les exports de et vers les fichiers Excels

    Cordialement

Discussions similaires

  1. Export Excel via un code pour SAS Guide
    Par Pierre-Henri ROBLOT dans le forum SAS Base
    Réponses: 2
    Dernier message: 28/01/2015, 12h07
  2. Variable dans le titre d'un export excel via module
    Par Angad dans le forum QlikView
    Réponses: 5
    Dernier message: 05/07/2014, 22h33
  3. Réponses: 7
    Dernier message: 16/06/2014, 16h29
  4. ouvrir un classeur excel via un code sql
    Par chamus dans le forum Access
    Réponses: 19
    Dernier message: 10/01/2007, 18h54

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