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 :

Identifier si une ligne dans une table est doublon ou pas


Sujet :

SAS Base

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2019
    Messages : 13
    Par défaut Identifier si une ligne dans une table est doublon ou pas
    Bonjour,
    j'ai créée une requête SQL pour détecter les lignes doublons dans un tableau(comparaison entre les lignes ) j'ai trouvé un résultat mais n'a pas donné la vrai sortie !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    proc sql;
     
    SELECT   COUNT(*) AS nbr_doublon, DT_IMAGE,LB_BO,ID_CONTRAT,CD_PRODUIT,LB_PRODUIT,CD_PRODUIT_SAP,CD_SITE,CD_ASSUREUR,CD_RESEAU,CD_GAR,
    			LB_GAR,CD_GAR_SAP,CD_RISQ,CD_MT_GAR,ID_GAR_CONTRAT,ID_PREST,CD_TYPE_COMBI_BO ,CD_TYPE_INV,CD_TYPE_MT,DT_CPTA,
    			CD_STATUT_CALCUL,MT_INV,LB_INFOCENTRE,LB_PROG_SOURCE,DT_HEURE_EXTRACT,CD_UTILISATEUR  
    FROM     Exig_TPROV
    GROUP BY DT_IMAGE,LB_BO,ID_CONTRAT,CD_PRODUIT,LB_PRODUIT,CD_PRODUIT_SAP,CD_SITE,CD_ASSUREUR,CD_RESEAU,CD_GAR,
    			LB_GAR,CD_GAR_SAP,CD_RISQ,CD_MT_GAR,ID_GAR_CONTRAT,ID_PREST,CD_TYPE_COMBI_BO ,CD_TYPE_INV,CD_TYPE_MT,DT_CPTA,
    			CD_STATUT_CALCUL,MT_INV,LB_INFOCENTRE,LB_PROG_SOURCE,DT_HEURE_EXTRACT,CD_UTILISATEUR  
    HAVING   COUNT(*) > 1;
    quit;

  2. #2
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut Identifier si une ligne dans une table est doublon ou pas
    Bonjour,

    Pouvez-vous donner une étape data pour montrer le problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    data test;
      input V1 V2 V3;
      cards;
    0 1 1
    1 0 1
    1 0 1
    ;
    run;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    proc sql;
      select count(*) as count, * from test
        group by V1, V2, V3
        having count(*) > 1;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    count        V1        V2        V3
        2         1         0         1
    Vous pouvez automatiser le programme en créant une macro-variable contenant la liste des variables (voir ce message) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    proc contents data=test out=listvar noprint;
    run;
     
    proc sql noprint; 
      select name 
        into:listvar separated by ","
        from listvar;
     
    proc sql;
      select count(*) as count, * from test
        group by &listvar
        having count(*) > 1;
    Cordialement,

Discussions similaires

  1. [WD17] position d'une ligne dans une table est faussée par les tris
    Par droliprane dans le forum WinDev
    Réponses: 18
    Dernier message: 19/09/2012, 17h15
  2. Réponses: 5
    Dernier message: 28/11/2011, 14h47
  3. language SQL - Copier une ligne dans autre table
    Par fxd dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/10/2005, 18h16
  4. savoir si une table est masquée ou pas
    Par scully2501 dans le forum Access
    Réponses: 13
    Dernier message: 22/09/2005, 12h19
  5. Effacer une ligne dans la table nat
    Par vbcasimir dans le forum Sécurité
    Réponses: 2
    Dernier message: 11/01/2004, 00h15

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