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 :

Importer fichier xlsm avec plus de 255 colonnes


Sujet :

SAS Base

  1. #21
    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
    Et avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    libname indata xlsx  'chemin\fichier.xlsm' access=read;
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  2. #22
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juin 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA

    Informations forums :
    Inscription : Juin 2018
    Messages : 17
    Points : 4
    Points
    4
    Par défaut
    @ Bahraoui
    Oui tu as raison mon fichier il est sur un serveur de partage et non sur le server sas.

    j'ai tjrs la même problématique ,si y a des nouvelles idée pour me débloquer

  3. #23
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juin 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA

    Informations forums :
    Inscription : Juin 2018
    Messages : 17
    Points : 4
    Points
    4
    Par défaut
    Merci Brahim pour ta réponse.

    Ton code me créer la bib mais pas la table (je n'ai pas de table dans le bib INDATA)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NOTE: Libref INDATA was successfully assigned as follows: 
          Engine:        XLSX 
          Physical Name: \\chemin de partage avec le server sas\chemin fichier.xlsm

  4. #24
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    La réponse de Brahim numéro #19 contient les éléments dont tu as besoin.

    Le libname te sert à créer un "pointeur" vers tes données. Si tu cliques sur ton libname tu doit voir ton fichier excel.

    Le code ci-dessous créera la table de nom table_import à partir de la feuille Sheet1$ de ton fichier excel, indata c'est le nom de ton libname.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Data table_import;
    set indata.'<Sheet1$>'n 
    run;
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  5. #25
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Pourquoi tu ne déplaces pas ton fichier sur le serveur linux (ou SAS est installé) et lancer la proc import?
    ça sera plus simple.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  6. #26
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juin 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA

    Informations forums :
    Inscription : Juin 2018
    Messages : 17
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse Bahaoui
    le pgm de Brahim me récupère que 255 colonnes
    Pour ta question :Je n'ai pas les droits nécessaire pour enregistrer sous le serveur si non je l'aurai fais.

  7. #27
    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,

    Voici ce qui est écrit sur le site de sas:

    Remember the following points as you work with Microsoft Excel files.
    Excel 4 files allow only one spreadsheet per file.
    Excel 4, Excel 5, and Excel 95 limits are 256 columns and 16,384 rows.
    Excel 97, 2000, 2002, 2003 limits are 256 columns and 65,536 rows.
    Excel 2007 limits are 16,384 columns and 1,048,576 rows.
    Une autre solution à tester si cela est possible:
    1/ Renommer le fichier en csv
    2/ faire des vérifications sur le fichier; voir s'il y a pas de défauts introduit
    3/ Faire un import en suivant cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FILENAME REFFILE '/folders/myshortcuts/comp1/Classeur5.csv';
     
    data test;
    infile reffile delimiter = ';' MISSOVER DSD lrecl=32767;
    input var1 var2    ;
    run;
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  8. #28
    Membre régulier
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Décembre 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2014
    Messages : 84
    Points : 74
    Points
    74
    Par défaut
    ..

  9. #29
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juin 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA

    Informations forums :
    Inscription : Juin 2018
    Messages : 17
    Points : 4
    Points
    4
    Par défaut
    Bonjour Brahim,

    j'ai testé ton code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    FILENAME REFFILE '/folders/myshortcuts/comp1/mon_fichier.csv';
     
    data test;
    infile reffile delimiter = ';' MISSOVER DSD lrecl=32767;
    input var1 var2    ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Physical file does not exist, /folders/myshortcuts/comp1/mon_fichier.csv

  10. #30
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Citation Envoyé par M.caloj Voir le message
    Merci pour ta réponse Bahaoui
    le pgm de Brahim me récupère que 255 colonnes
    Pour ta question :Je n'ai pas les droits nécessaire pour enregistrer sous le serveur si non je l'aurai fais.
    C'est la première fois que j'entends ça: un utilisateur SAS qui n'a pas le droit de copier des fichiers sur le serveur SAS.
    Ils savent que la table va être générée sur le serveur?
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  11. #31
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Citation Envoyé par M.caloj Voir le message
    Bonjour Brahim,

    j'ai testé ton code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    FILENAME REFFILE '/folders/myshortcuts/comp1/mon_fichier.csv';
     
    data test;
    infile reffile delimiter = ';' MISSOVER DSD lrecl=32767;
    input var1 var2    ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Physical file does not exist, /folders/myshortcuts/comp1/mon_fichier.csv
    Ce code ne peut pas marcher, il ne faut pas oublier que le fichier est sur un serveur distant, d'où l'utilisation de excelcs
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  12. #32
    Candidat au Club
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Juin 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA

    Informations forums :
    Inscription : Juin 2018
    Messages : 17
    Points : 4
    Points
    4
    Par défaut
    Merci Bahraoui pour ton retour.

    J'ai trouvé une solution.

    1) Copier le fichier sous sas dans un répertoire (dossier) avec tache-->donnée-->copié les données .
    2) Importer ce fichier depuis guide (je récupère la totalité des colonnes).

    Mon second problème c'est que ma 1ére ligne pour la totalité de la table se sont des colonnes numérique (date) sauf les deux première colonnes ,ces colonnes numériques s'affichent en nombre et quand j'applique un format date il m'affiche pas la bonne date .

    ex:
    Je récupère dans ma table SAS pour le 01/01/1998 ---> 35,796 (comma15.) et si j'applique date9. ---> 02JAN2058

    voila mon programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    proc import datafile="/chemin /fichier.xlsx" 
    out=c
    	dbms=xlsx 
    	replace;
            sheet=.....;
    	datarows=5;GETNAMES=yes;
     
    run;
    Comment avoir le bon format pour avoir les bonne dates ? pour information je peux modifier l'extension du fichier avant l'importation si nécessaire.

    Merci à vous

  13. #33
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Enregistre ton fichier sur un format CSV
    copie le fichier sur le serveur
    import dans une table SAS
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

Discussions similaires

  1. [XL-2016] Importer fichier texte avec colonne en texte
    Par munity dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 28/03/2018, 17h54
  2. [2008R2] Importation d'un fichier csv avec un nombre de colonnes variable
    Par wonderboutin123 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/03/2015, 12h47
  3. [Débutant] Importation de plusieurs fichiers .mat avec choix de la colonne
    Par Vincent32 dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/11/2012, 10h06
  4. Importer plus de 255 colonnes sus Access
    Par nicolille dans le forum Modélisation
    Réponses: 3
    Dernier message: 17/02/2009, 13h48
  5. [LG]Type chaine avec plus de 255 car et EOF intempestif.
    Par jpclabaux dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2004, 10h39

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