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

kettle/PDI Discussion :

Recherche dans une BDD : gestion des doublons ?


Sujet :

kettle/PDI

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Recherche dans une BDD : gestion des doublons ?
    Bonjour,

    Je souhaite supprimer les doublons sur les noms des clients dans une table d'une BDD MySQL et envoyer vers un fichier Excel la liste des clients dont le noms aurait été trouvé en doublons. Pour cela, j'utilise le composant "Dedoublonnage" sur le libelle client puis "filtrage" sur le compteur créé supérieur à 1 : j'obtiens en sortie du flux principal les lignes sans les doublons, et vers un fichier de Rejet Client le resultat du filtre.

    Pour récupérer les lignes éliminées du flux, je fais une "Recherche dans BDD" à partir du fichier de Rejet précédent, or j'obtiens seulement 1 ligne sur les 2 doublons (le premier enregistrement trouvé apparemment correspondant à la clé de recherche). En testant en requête SQL, j'obtiens pourtant bien à chaque fois les 2 enregistrements de chaque ligne du fichier de Rejet.

    VOIR FICHIER JOINT AVEC COPIE ECRAN DE LA TRANSFORMATION.

    Avez-vous une autre solution ?
    Merci de votre aide....
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    Bonjour,

    l'étape "Recherche dans BDD" renverra une ligne (pour la clé de recherche spécifiée).
    Dans votre cas, utilisez plutôt l'étape ''jointure lignes''

    http://wiki.pentaho.com/display/COM/...tion+in+Kettle (Database Join)

    Samatar

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Au final, je suis obligée d'utiliser le composant "Comparaison triée de lignes" pour comparer mon flux (filtré sans les doublons) avec ma table du départ mais je trouve cela un peu fastidieux...

    Autrement, à quoi sert d'utiliser le composant "Recherche dans BDD" : dans le cas où l'on ne souhaite récupérer qu'une seule valeur qlq soit la requête ?

    Merci pour ton aide Samatar...toujours là pour rendre service on dirait !

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    Le composant ''recherche dans BdD" permet d'effectuer une recherche (retourner un enregistrement) suivant des clés de recherche

    Ce n'est pas la seule étape de recherche de données.
    Suivant les besoins, il y a d'autres étapes.

    Sinon pour votre problème, je pense qu'on peut faire plus simple (voir fichier attaché).

    Samatar
    Fichiers attachés Fichiers attachés

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 41
    Points : 35
    Points
    35
    Par défaut Ma solution !
    Samatar,

    Je viens seulement de voir ta réponse....en fait j'avais trouvé une solution à mon problème, et en comparaison avec ta solution, la mienne permet en plus d'identifier les lignes qui ont été éliminées du flux (fichier rejet client 2) alors que sinon avec un seul filtre comme dans ta solution on n'obtient seulement que les noms en doublons mais pas l'intégralité des enregistrements correspondant dans le flux de départ !

    C'est un reproche que je pourrais faire à PDI : pour obtenir ce type de résultat on est obligé de faire beaucoup de manip alors que j'ai vu que dans d'autres logiciels (ex : ETL de SAS) il n'y avait qu'une option à choisir pour obtenir directement les lignes rejettés dans un fichier ( au lieu de faire 2 filtres successifs).

    Ci-joint ma transformation en .XML.

    NB : Matt Casters t'a cité hier (je n'ai pas bien compris pourquoi) dans une discussion à propos de la disparition du composant "Selection de valeurs" en 3.1 que j'ai finallement retrouvé cf http://forums.pentaho.org/showthread.php?t=70086
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    447
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 447
    Points : 546
    Points
    546
    Par défaut
    OK :-)
    En fait Matt a répondu sur le forum car je m'occupe de la traduction (entre autre) de PDI en français (avec une autre personne).
    On a changé la dénomination du composant.

    En effectuant des traductions non littérale afin de coller le plus possible au sens (plus précisemment aux fonctions des étapes).

    A ce propos s'il y a des points que tu souhaites soulever, no pb

    Pour ce qui concerne notre point, effectivement il serait pertinent de faciliter la redirection des doublons. Il y a déjà un jira ouvert :

    http://jira.pentaho.com/browse/PDI-2349

    n'hésites pas à faire une piqure de rappel.

    Plus généralement depuis la version 3.2, une étape ''Dédoublonnage de lignes (HashSet)'' est disponible dans la rubrique transformation.
    Cette étape contrairement à l'étape ''Dédoublonnage de lignes'' ne nécéssite pas le tri préalable des données :-)




    Merci

    Samatar

Discussions similaires

  1. [MySQL] PHP script pour recherche dans une bdd mysql
    Par stone144 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/12/2010, 12h06
  2. Recherche dans une BDD - Affichage
    Par lifeislife dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/09/2010, 16h54
  3. Recherche dans une BdD
    Par chlebta*tsotsi dans le forum Bases de données
    Réponses: 19
    Dernier message: 02/05/2009, 09h41
  4. Recherche dans une BDD
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/02/2007, 08h16
  5. [Thread] Recherche dans une BDD
    Par Pedro dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/05/2005, 14h03

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