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 :

Boucle if sur l'appartenance à une liste


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Homme Profil pro
    stagiaire chargé de traitement
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : stagiaire chargé de traitement
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Boucle if sur l'appartenance à une liste
    Bonjour,

    je dois nettoyer une table. J'ai une variable et une liste de modalité sur un pdf, et je dois remplacer les valeurs qui ne sont pas dans la liste par "".
    Pour le moment j'utilise ce code qui marche bien, mais je voulais savoir si vous aviez des idées pour l'optimiser, éviter d'avoir tout à écrire à la main.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    data work.test;
    set propre.fusion2;
    if  var3 NE "NN" and var3 NE "00" and	var3 NE "01" and var3 NE "02" and var3 NE "03" and var3 NE "04" and	var3 NE "05" and var3 NE "06" and
    	var3 NE "07" and var3 NE "08" and var3 NE "09" and var3 NE "10" and var3 NE "11" then var3 = "";
    run;
    Merci d'avance,

    Amoole2o

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2019
    Messages : 14
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    C'est relativement facile.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data work.test;
    set propre.fusion2;
    if var3 not in("NN" ,"00", "01"/*Et ainsi de suite*/) then var3="";
    run;
    De rien,

  3. #3
    Membre expérimenté
    Homme Profil pro
    Attaché statisticien
    Inscrit en
    Mai 2011
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Attaché statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2011
    Messages : 687
    Points : 1 581
    Points
    1 581
    Par défaut
    Bonsoir,

    à ma connaissance, si tu cherche aussi bien l'allègement du code que l'optimisation en terme de temps de traitement il y a deux voies dont il a été dit dans d'autres conversations qu'elles sont équivalentes :

    Soit en passant par la définition d'un format via une table des données et un test en utilisant le format, soit l'utilisation de la table des modalités dans un hash.


    cordialement

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/04/2007, 09h34
  2. Recherche d'enregistrements sur base d'une liste
    Par michel baily dans le forum SQL
    Réponses: 4
    Dernier message: 31/08/2006, 09h59
  3. Problème sur évènement d'une liste déroulante
    Par krfa1 dans le forum Access
    Réponses: 7
    Dernier message: 05/05/2006, 08h03
  4. Réponses: 16
    Dernier message: 19/11/2005, 16h47
  5. Réactiver un bouton sur afterMaj d'une liste !
    Par samlepiratepaddy dans le forum Access
    Réponses: 5
    Dernier message: 12/09/2005, 13h20

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