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

SAS Base Discussion :

Export vers Excel - nom des feuilles


Sujet :

SAS Base

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Par défaut Export vers Excel - nom des feuilles
    Bonjour à tous et bonne année !

    Voila, je vous explique mon problème. J'ai un fichier Excel contenant différentes feuilles de données (ou onglet si vous préférez).

    Je souhaite tout simplement exporter vers ce fichier une table SAS, en supprimant dans un premier temps les données de la feuille. Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    libname mny "d:\test.xls";
     
    proc sql;
     drop table mny.historique;
    quit;
     
    data mny.historique;
     set sasuser.table;
    run;
     
    libname mny clear;

    Le problème est que SAS ne trouve pas la feuille dans mon fichier Excel bien que cette feuille existe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AVERTISSEMENT: Le fichier MNY.HISTORIQUE.DATA n'existe pas.
    AVERTISSEMENT: Table MNY.HISTORIQUE n'a pas été supprimé(e).
    Ensuite les données sont bien exportées mais dans une feuille qui se nomme automatiquement "historique1" (ajout d'un "1" après le nom de la feuille).

    Incompréhensible...

    Merci d'avance à ceux qui auraient une solution à ce petit souci !

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur Statisticien
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Statisticien
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Par défaut
    Bonjour lidivine666

    Essaye peut être avec un '$' à la fin du nom de la table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql;
     DROP TABLE mny.historique$;
    quit;

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Par défaut
    Il manque "EXCEL" non?

    libname XL EXCEL 'c:\_tmp\Classeur1.xls' access=readonly;

    Apres attention aux noms des feuilles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    proc datasets lib=XL;
    quit;
    X

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Par défaut
    Merci jmarandet,

    mais SAS n'a pas l'air d'apprécier ce symbole...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    23   proc sql;
    24    drop table MNY.HISTORIQUE$;
                                    -
                                    22
                                     -
                                     200
    ERREUR 22-322: Erreur de syntaxe ; syntaxe requise : ;, (, ',', INDEX, TABLE, VIEW.
     
    ERREUR 200-322: Le symbole n'est pas reconnu et sera ignoré.
    Merci également à toi, xav2229 :

    la proc datasets donne ceci :

    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
     
                  Répertoire
     
               Libref        MNY
              Moteur        EXCEL
           Nom physique  d:\test.xls
              Schema/Owner  Admin
     
                                           Type     DBMS
                                           de       Member
                     #  Nom                membre   Type
     
                     1  DONNEES$           DATA     TABLE
                     2  HISTORIQUE$        DATA     TABLE
                     3  HISTORIQUE1$       DATA     TABLE
    Et l'ajout du mot clé "Excel" ne change pas la donne.

  5. #5
    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
    Par défaut
    je ne peux pas tester à ce moment.

    j'utilise plutôt une proc DATASETS + DELETE que DROP TABLE
    je mettrai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    proc datasets nolist nowarn nodetails lib=mny;
    delete "historique"n;
    run;
    quit;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    proc datasets nolist nowarn nodetails lib=mny;
    delete "historique$"n;
    run;
    quit;
    concernant le LIBNAME non, SAS sait reconnaître que c'est un fichier xls, j'ai déjà vu que cela fonctionnait.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Analyste - Information médicale
    Inscrit en
    Mars 2012
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste - Information médicale
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2012
    Messages : 72
    Par défaut
    Bonjour,

    j'espère que je dis pas de bétises, mais un proc export avec replace ferait pas l'affaire ?

  7. #7
    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
    Par défaut
    non a ne gère pas bien les données externes à SAS

Discussions similaires

  1. [AC-2003] Création d'une requête et export vers Excel sur une feuille donnée
    Par nola38 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/01/2014, 15h23
  2. Export vers Excel avec les noms des colonnes
    Par JauB dans le forum AS/400
    Réponses: 7
    Dernier message: 04/02/2011, 09h18
  3. [DDE]Exporter vers Excel dans une feuille spécifique
    Par javelot69 dans le forum Access
    Réponses: 8
    Dernier message: 05/04/2007, 12h36
  4. Access export vers Excel sur plusieurs feuilles
    Par oceanediana dans le forum Access
    Réponses: 6
    Dernier message: 10/07/2006, 12h15
  5. Comment remplir un ComboBox avec le nom des feuilles Excel ?
    Par libracom dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/06/2005, 15h14

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