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. #1
    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 Importer fichier xlsm avec plus de 255 colonnes
    Bonjour,

    Je travail sur sas guide et j'essaye d'importer un fichier xlsm qui contient plus de 255 colonnes afin de réaliser un traitement automatisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROC IMPORT DATAFILE ="chemin" 
     
                DBMS =excelcs
                OUT = SORTIE 
    	        SHEET =SHEET ;
    	        SERVER = '.. .. .. .. ' ;
    	        PORT = ....       ;
     
                RUN;
    Mon code m'importe jusqu'au la 255 éme colonnes .
    je souhaite importer la totalité du fichier et je ne peux pas modifier sa structure.
    J'ai regardé sur le forum qu'il faut utiliser DBMS=xlsx (pour les fichiers xlsx) j'ai testé et ça ne marche pas pour les xlsm

    Voila l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RROR: Physical file does not exist,
    Ya t-il une solution svp ?

  2. #2
    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
    L'erreur indique que SAS ne trouve pas le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	        SERVER = '.. .. .. .. ' ;
    	        PORT = ....       ;
    C'est quoi ton environnement de travail, SAS est installé sur un serveur?...
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  3. #3
    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 d'avoir pris le temps pour me répondre.

    Oui j'ai sas guide version 7.15 (64 b)
    je suis sur server distant

  4. #4
    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
    Tu n'as pas besoin de définir le serveur et le port.
    Le fichier doit être sur le serveur pour l'importer. chemin => chemin pour accéder au fichier.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  5. #5
    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
    On ma expliqué qu'il faut utiliser le server et le port pour que sa marche et il faut mettre le chemin du serveur+ chemin du fichier dans le datafile.
    J'ai testé sans et ça marche pas.
    Le problème il n'est pas avec le chemin du serveur car mon code marche mais il ne récupère pas au delà des 255 colonnes

  6. #6
    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
    Tu n'as pas besoin de spécifier les paramètres puisque tu es déjà connecté.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  7. #7
    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
    ok.
    mais ça ne répond pas à ma problématique sauf si j'ai mal compris ta réponse

  8. #8
    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
    enlève le port et le serveur.
    Le fichier doit être sur le serveur.
    relance l'import.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RROR: Physical file does not exist,
    Cette erreur indique que le chemin spécifié dans la commande n'est pas bon.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  9. #9
    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
    J'ai eu l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RROR: Physical file does not exist,
    le moment où j'ai mis dbms=xlsx mais si non ça marche avec excelcs
    Si j'enlève le server et le port ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Server Name is invalid or missing.
    quand je suis arrivé on m'a dit qu'il faut mettre le chemin du server+chemin du fichier et en plus de ça le server: et le port:

    je suis perdu !!!

  10. #10
    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
    Le fichier doit être sur le serveur ou SAS est installé ou qu'il soit accessible à partir du serveur SAS (lecteur samba...).
    Il faut régler ça d'abord.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  11. #11
    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
    ben il est sur le même server ou sas est installé si non je n'aurais jamais pu faire l'import en excelcs je reprécise que le traitement fonctionne en excelcs donc ce n'est pas un problème de server et fichier

  12. #12
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    On peut tourner en rond encore longtemps comme ça. Donne le code que tu fais tourner et la log, ça permettra de comprendre ce qui se passe.

  13. #13
    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
    On va y arriver

    Mon programme d'importation qui marche bien :
    il est avec dbms=excelcs et qui donne au maximum 255 colonnes pour une importation du fichier .xlsm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    OPTIONS COMPRESS=YES; 
    PROC IMPORT DATAFILE ="\\chemin du server sas\chemin du fichier enregistré déposé sur le server sas" /*CHEMIN DU FICHIER*/
     
                DBMS =EXCELcs 
                OUT = ma_table_de_sorti REPLACE ; 
    	        SHEET = 'SHEET' ; 
    	        SERVER = '22.11.55.70' ;/*j'ai mis un serveur bidon pour l'exemple*/
    	        PORT = 1574       ; /*j'ai mis un port bidon pour l'exemple*/
    			range="Range$A10:xfd100 "; 
     
                RUN;
    LOG:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    NOTE: WORK.ma_table_de_sorti data set was successfully created.
    NOTE: The data set WORK.ma_table_de_sorti has 90 observations and 255 variables.
    jusqu'à maintenant tout va bien.
    problématique:
    mon fichier source contient 500 colonnes je dois importer les 500 colonnes et non pas seulement les 255 colonnes.

    comment faire ?


    Merci pour votre implication

  14. #14
    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,
    essayer avec libname

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    options validvarname=any validmemname=extend;
     
    libname indata excel 'path-to-file\file1.xlsm' access=read;
    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  15. #15
    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
    http://support.sas.com/documentation...a003102096.htm
    Je crois que c'est le DBMS que tu as choisi qui pose problème.
    Est ce que tu peux essayer d'utiliser XLS comme dbms?
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  16. #16
    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
    https://www.sas.com/content/dam/SAS/...orts-excel.pdf

    D'après ce que j'ai compris le DBMS EXCELcs c'est quand le fichier est sur une autre machine. Ce qui explique pourquoi on a le message not found.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  17. #17
    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 à vous.

    @ Brahim: je n'ai pas compris ton message . je dois rajouter quoi sur ma procédure d'import ?

    @ Bahraoui : avec xls ça fonctionne pas il arrive pas a trouver mon serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Physical file does not exist, /DEV/SAS/config/Lev1/SASApp/\\chemin du serveur sas sur mon post\fichier.xlsm.
    Si j'exécute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    proc import out=temp replace 
                dbms=excelcs
                datafile='chemin du server sas sur mon post\fichier.xlsm' ;
     
    run ;
    ça donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR: Server Name is invalid or missing.
    Si je rajoute le port et le server :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    proc import out=temp replace 
     
                dbms=excelcs
     
                datafile='\\ac750e3svm2\vol_buro\Sas\fichier.xlsm' ;
       SERVER = '18.5.78.44' ;
    	        PORT = 8493       ;
    run ;
    ça donne 255 colonne.

    Merci pour votre aide

  18. #18
    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
    Si je récapitule
    SAS est installé sur une serveur Linux/unix
    Ton fichier est sous Windows et non sur le serveur ou SAS est installé
    D'où l'utilisation de du DBMS excelcs qui permet de faire du client/serveur.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  19. #19
    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
    @ Brahim: je n'ai pas compris ton message . je dois rajouter quoi sur ma procédure d'import ?
    1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    options validvarname=any validmemname=extend;
     
    libname indata excel 'path-to-file\file1.xlsm' access=read;
    2/ Pour avoir les noms des feuilles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    proc contents data=indata._all_; run; quit;
    3/ Suivant les noms affichés dans la proc contents, voici un exemple d’importation de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Data table_import;
    set indata.'<Sheet1$>'n 
    run;
     
     
    /*  Ou bien  */
     
    Data table_import;
     
    set indata.'<Feuil1$'n ;
     
    run;
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

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

    j'ai testé ton pgm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    options validvarname=any validmemname=extend;
     
    libname indata excel 'chemin\fichier.xlsm' access=read;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ERROR: The EXCEL engine cannot be found.
    ERROR: Error in the LIBNAME statement.
    J'ai testé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    options validvarname=any validmemname=extend;
     
    libname indata pcfiles path='chemin\fichier.xlsm' access=read
                SERVER = '18.5.78.44' ;
    	        PORT = 8493        ;
    J'obtiens que 255 colonnes

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