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

Débutez Discussion :

Supprimer les variables à une modalité


Sujet :

Débutez

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Par défaut Supprimer les variables à une modalité
    Bonjour,
    je dispose d'une table à 400 variables et 100000 ligne environ,
    je cherche un moyen pour supprimer les variables à une modalité sans devoir les chercher à la main


    Merci pour vos réponses

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 99
    Par défaut
    Hello,

    tu peux essayer ça :

    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
    21
    22
    23
    24
     
    %macro plurimodalites(table);
    /*liste des variables de table*/
    proc contents data=&table out=tabvar (keep=name) noprint;
    run;
    proc sql noprint;
    select distinct name into:list_var separated by "-"
    from tabvar;
    drop table tabvar;
    quit;
    	%do i=1 %to 400;
    		proc sql noprint;
    		select count(distinct %scan(&liste_var,&i)) into: nbmod /*nb de modalités de la i-ème variable de table*/
    		from &table;
    		quit;
    		%if &nbmod=1 %then %do;
    		data &table (drop= %scan(&liste_var,&i));
    		set &table;
    		run;
    		%end;
    	%end;
    %mend;
     
    %plurimodalites(maTable);

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Par défaut
    merci pour ta repose
    j'ai aussi cherché de mon coté et j'ai trouver ça :
    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
     
    ODS OUTPUT nLevels = work.cardinalites ;
    PROC FREQ DATA=work.test NLEVELS ;
    	TABLE _ALL_ / NOPRINT ;
    RUN ;
     
    proc sort data=cardinalites;
    by Nlevels;
    run;
     
     
    PROC SQL NOPRINT ;
    	SELECT STRIP(tableVar) INTO : listeDrop SEPARATED BY ","
    	FROM work.cardinalites
    	WHERE NLevels = 1 /**/
    	;
    	ALTER TABLE work.test DROP &listeDrop ;
    QUIT ;

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/12/2011, 08h46
  2. VS 2008 supprimer les variables non utilisé
    Par zalalus dans le forum Visual Studio
    Réponses: 1
    Dernier message: 31/08/2009, 16h42
  3. [PHP 5.2] Supprimer les variables de session lorsqu'un onglet est fermé
    Par beegees dans le forum Langage
    Réponses: 5
    Dernier message: 16/06/2009, 01h16
  4. Access supprimer les données une fois envoyer par messagerie
    Par lolocdm dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/10/2008, 08h30
  5. Réponses: 6
    Dernier message: 12/03/2008, 10h28

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