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 :

Importation Fichier TXT sous SAS


Sujet :

Macro

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Importation Fichier TXT sous SAS
    Bonjour,

    Mes fichiers textes comportent des nombres réels avec virgules, je cherche une option à rajouter dans ma macro d'importation pour que mes nombres réels avec virgules deviennent des nombres réels avec des points : 6,2 -> 6.2
    Voici ma macro :

    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 import_macro(path,base,myfile);*Importation - Ne pas changer;
    *path = ou se trouve le fichier ;
    *base = nomfichier_SAS;
    *myfile = nom souhaité à la sortie; 
    data &base;
    infile "&path.\&base._Data.txt" dlm="09"x missover dsd lrecl=65536;
    input %include "&path.\&base._Type.txt" ;;
    format %include "&path.\&base._Format.txt" ;;
    run;
    data &myfile;
    set &base;
    drop VisCycle label trial site repeatno frmcycle;
    run;
    proc sort data=&myfile;
    by PersonId;
    run;
    data &myfile;
    set &myfile;;
    run;
    %mend;
    Avez-vous une idée qui m'éviterait d'utiliser l'option rechercher "," et remplacer par "." dans mes fichiers textes.
    Merci

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Deux solutions :
    1) soit dans ton INPUT, tu ajoutes des informats :NUMX. de façon à ce que SAS gère lui-même les virgules comme des séparateurs décimaux,

    2) soit tu fais la manip de texte que tu proposes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data &base;
    infile "&path.\&base._Data.txt" dlm="09"x missover dsd lrecl=65536;
    INPUT @ ; /* on charge une ligne du fichier dans le tampon de lecture, disponible dans la variable _INFILE_ */
    _INFILE_ = TRANSLATE(_INFILE_, ".", ",") ; /* remplace les points par des virgules */
    input %include "&path.\&base._Type.txt" ;;
    Olivier

Discussions similaires

  1. [PROC] Importer fichier Excel sous Sas Entreprise Guide 4
    Par lovelylife dans le forum SAS Base
    Réponses: 0
    Dernier message: 03/06/2015, 14h47
  2. Concaténer 2 fichiers txt sous SAS avec retour chariot
    Par valboubou dans le forum SAS Base
    Réponses: 2
    Dernier message: 03/02/2014, 16h52
  3. Réponses: 4
    Dernier message: 26/06/2012, 11h34
  4. convertir table SAS en un fichier .txt sous UNIX
    Par Ines2013 dans le forum SAS Base
    Réponses: 3
    Dernier message: 22/09/2008, 09h56
  5. probleme importation fichier .txt sous Excel
    Par darkspoilt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/11/2007, 18h15

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