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 à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2019
    Messages : 13
    Points : 15
    Points
    15
    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 expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    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, 18h15
  2. Réponses: 5
    Dernier message: 28/11/2011, 15h47
  3. language SQL - Copier une ligne dans autre table
    Par fxd dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/10/2005, 19h16
  4. savoir si une table est masquée ou pas
    Par scully2501 dans le forum Access
    Réponses: 13
    Dernier message: 22/09/2005, 13h19
  5. Effacer une ligne dans la table nat
    Par vbcasimir dans le forum Sécurité
    Réponses: 2
    Dernier message: 11/01/2004, 01h15

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