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 toutes les données manquantes


Sujet :

SAS Base

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Remplacer toutes les données manquantes
    Bonjour

    Je travail sur une table dont la plupart des variables sont créées grace à une proc transpose et cela créé beaucoup de valeurs manquantes, ce qui est normal car il s'agit de en fait d'absence de dépense.

    je voudrais donc remplacer toutes ces valeurs manquantes par des 0 et je voulais savoir si il existait un moyen direct de le faire sans avoir à mentionner toutes mes variables une à une.

    je joints un exemple de proc transpose dont je me sers et qui créé autant de variables qu'il y a de valeurs différentes dans le champs REGPT_ACT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    proc transpose data=sum_rgpt_ben out=MDP_rgpt_ben(drop=_NAME_ _LABEL_) prefix=MDP_;
    by adh RNG;
    id REGPT_ACT;
    var MDP_RGPT_BEN;
    run;
    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 : 46
    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
    Salut.
    Tu t'en sortiras facilement avec une étape Data et un ARRAY après ta proc Transpose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DATA MDP_rgpt_ben ;
      SET MDP_rgpt_ben ;
      ARRAY valeur   MDP_: ;
      DO OVER valeur ;
        IF MISSING(valeur) THEN valeur = 0 ;
      END ;
    RUN ;
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    exactement ce qu'il me fallait
    merci !

  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
    Est ce qu'il n y a pas un risque de mettre un 0 dans un champ text?
    ne faut il pas créer un vecteur de _numeric_?
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  5. #5
    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 : 46
    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
    @ bahraoui :
    Est ce qu'il n y a pas un risque de mettre un 0 dans un champ text?
    ne faut il pas créer un vecteur de _numeric_?
    S'il y avait des variables de type caractère dont le nom commence par MDP_, l'Array génèrerait un message d'erreur (puisqu'on ne peut pas inclure dans un même array des variables numériques et caractères).
    J'ai préféré me limiter à mdp_: pour reprendre au plus près les variables générées par Transpose, plutôt que de risque de prendre une autre variable dans un paquet comme _NUMERIC_. (adh RNG et REGPT_ACT sont peut-être numériques et, qui sait, contiennent peut-être des valeurs manquantes qu'on ne devrait pas remplacer par des zéros).

    Olivier
    Bon courage.
    Olivier

  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
    Merci pour la précision. Je n'ai pas poussé mon analyse à ce point.
    Consultez les FAQs et les anciens postes avant de poser vos questions. Merci

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    plus simple encore

    options missing = 0 ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer les données manquantes par des zéro
    Par cococmoi dans le forum SAS Base
    Réponses: 1
    Dernier message: 20/05/2014, 12h06
  2. Borland C++ 5.5 remplacer toutes les occurences
    Par cdelamarre dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 30/11/2005, 12h23
  3. Réponses: 2
    Dernier message: 01/11/2005, 10h03
  4. Effacer toutes les données d'une colonne
    Par denisfavre dans le forum Access
    Réponses: 5
    Dernier message: 12/10/2005, 15h20
  5. Réponses: 2
    Dernier message: 11/10/2005, 09h15

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