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 :

Remplacer les . par des 0 dans l'ensemble d'une table


Sujet :

SAS Base

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut Remplacer les . par des 0 dans l'ensemble d'une table
    Bonjour,

    J'ai une base de données avec une centaine de variables quantitatives.
    Je voudrais remplacer l'ensemble des . par des variables.
    Existe-il une commande directe qui m'éviterai de passer par une macro? Peut être du SQL?

    Pour l'instant j'utilise la macro suivante mais j'aimerai bien trouver plus rapide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    %macro remplacement(table_entree,var,table_sortie);
    data &table_sortie;
    set &table_entree;
    if &var eq . then &var=0;
    run;
    %mend;
    Merci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    si tu es dans une étape data ou sql, tu peux utliser la fonction tranwrd:

    VAR=tranwrd(VAR, ., NOUVELVAL);

    ou la version alphanumérique:


    VAR=tranwrd(VAR, ".", "NOUVELCHAINE");

    la je place l'exemple ou la valeur de la variable est modifiée; mais tu peux également créer une nouvelle variable par une ancienne.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 48
    Points : 44
    Points
    44
    Par défaut
    Le problème c'est que j'aimerai éviter de redonner le nom de toutes les variables.
    Je voudrais une fonction qui permet de retrouver tous les . dans la base de données et le remplace par des 0 sans prendre en compte les variables.

  4. #4
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    L'approche vectorielle est assez efficace ici, pour traiter d'un coup toutes les variables numériques, sans avoir à les lister spécifiquement grâce au mot clef _NUMERIC_ :
    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
    data test ;
        a = 1 ;
        b = . ;
        c = 1 ; 
        d = . ;
        e = "a" ;
        f = "" ; 
    run ;
     
    data test (drop = loop);
        set test ;
        array allnum{*} _NUMERIC_ ;
        do loop = 1 to dim(allnum) ;
            if missing (allnum{loop}) then allnum{loop} = 0 ;
        end ; 
    run ;
    Attention toutefois : par le passé, j'ai souvent remplacé les . par des zéros pour des questions d'édition. Mais ça peut être résolu d'un coup avec un

Discussions similaires

  1. remplacer les , par des .
    Par kaking dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/06/2009, 11h05
  2. [RegEx] Remplacer les " par des “ sauf entre balises Html
    Par guy_lux dans le forum Langage
    Réponses: 5
    Dernier message: 14/05/2009, 09h43
  3. Réponses: 5
    Dernier message: 18/07/2008, 11h04
  4. Remplacer les " par des \" dans une chaine
    Par jojodu31 dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 18/04/2008, 14h14
  5. str_replace remplace les " par des '
    Par Dsphinx dans le forum Langage
    Réponses: 4
    Dernier message: 21/11/2006, 09h04

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