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

SSIS Discussion :

[SSIS][2k5] Détecter et supprimer les doublons dans une entité du datawarehouse


Sujet :

SSIS

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 80
    Points
    80
    Par défaut [SSIS][2k5] Détecter et supprimer les doublons dans une entité du datawarehouse
    Bonjour à tou(te)s,

    Quelle est selon vous la méthode la plus performante (en terme de temps d'exécution) pour détecter et supprimer les doublons qui peuvent exister dans une entité du datawarehouse (ou datamart) ?

    Merci pour votre contribution

  2. #2
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Bonjour,

    C'est quelque chose que tu veux faire lors de l'intégration de tes données? Après l'intégration lors d'une opération de contrôle et de consolidation?

    Personnellement, je le fais lors de l'intégration car le faire après obligera peut être à revenir sur d'autres données.
    Sous SSIS, je le fais soit au moment de la sélection des données dans les bases de production (distinct sur du SQL par exemple).... soit grâce à la procédure Sort sur SSIS (avec ce que cela implique en terme de performance : les opérations de tri sont à proscrire au maximum).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 80
    Points
    80
    Par défaut
    Je suis tout à fait d'accord avec toi patriceharel.

    Je pense aussi qu'il vaut mieux faire cette étape de "filtrage" lors de la phase de sélection des données sources.

    Maintenant pour la méthode optimale à suivre, je m'y perds un peu car si j'applique comme tu dis un "distinct" SQL, cela ne va pas régler le problème d'une saisie erronée (par exemple : Paris et Pariis). Et personnellement, je considère ces 2 entrées comme étant des doublons...

  4. #4
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    A ce moment là, Paris et Pariis représente un doublon du point de vue de la sémantique, pas d'un point de vue informatique... c'est très difficile de traiter ce genre d'erreur... parce que les utilisateurs ont pu saisir Pari, Pariss, Pris... les possibilités sont multiples...
    Tu peux essayé avec un fuzzylookup, puis remplacer les valeurs qui se ressemblent mais je pense qu'il faut le faire au cas par cas...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 80
    Points
    80
    Par défaut
    Ok merci, je vais voir de mon côté si j'aboutis à une solution aussi performante qu'efficace.

    En attendant, je vous passe ce lien assez intéressant qui traite des opérations de type "Fuzzy" sous SQL Server.

    Bonne journée

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 107
    Points : 99
    Points
    99
    Par défaut [SSIS][2k5] Détecter et supprimer les doublons dans une entité du datawarehouse
    Bonjour,
    Me concernant, je le fais également lors de l'intégration des données ...
    Généralement, je créé une table _temp dans laquelle je dépose les données à intégrer , ensuite j'appelle une proc stockée qui vérifie les doublons sur la table Temp puis par rapport à la table finale de l'entrepôt (via un petit curseur).
    Si je détecte un doublons, je le charge dans une table log puis le supprime de la table _temp puis je charge la table Temp dans mon DW ....

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 82
    Points : 80
    Points
    80
    Par défaut
    Bonjour tout le monde,

    Pour la gestion des doublons, Microsoft a prévu le coup et propose un composant dédié qui porte le nom de "RemoveDuplicates".

    Ce composant est à la base une DLL qu'il faudra, tout d'abord, générer à partir du code C# (ou VB) correspondant, puis, l'ajouter au Global Assembly Cache (ou GAC) afin qu'il soit accessible à partir de la boîte à outils de SSIS 2005.

    Plus d'infos (description + installation) sur ce lien MSDN.

    Côté pratique, j'ai testé le contrôle en question et j'avoue ne pas avoir rencontré de difficultés particulières ou de désagréments notables.

    J'attends vos commentaires avant de mettre ce sujet à [Résolu].

    Bonne journée

  8. #8
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Nikel, je test ça....

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    Si je dois savoir si j'ai des doublons dans une table de dimension je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from <matable>;select count(*) from (select distinct * from <matable>) as foo
    Si les 2 chiffres sont différents j'ai des doublons. Ensuite tu peux faire pareil avec un RTRIM(LTRIM(monchamp)) VS. monchamp si tu veux vérifier les doublons à cause d'espaces, puis un LOWER(monchamp) VS monchamp si tu veux vérifier les doublons à causes de majuscules dans le cas où tu as configuré ton SGBD en case sensitive, etc.

    a+, =)
    -=Clement=-

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Merci bcp sam3oul pour ce composant

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Supprimer les doublons dans une vue
    Par Le Marlou dans le forum SQL
    Réponses: 3
    Dernier message: 29/08/2008, 15h53
  3. Supprimer les doublons dans une table!
    Par Kirou dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/06/2008, 15h37
  4. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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