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
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
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).
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...
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...
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
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 ....
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
Nikel, je test ça....
Bonjour,
Si je dois savoir si j'ai des doublons dans une table de dimension je tapeSi 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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select count(*) from <matable>;select count(*) from (select distinct * from <matable>) as foo
a+, =)
-=Clement=-
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager