|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 120 ![]() |
Bonjour,
Je suis désolé de ce qui va suivre, mais je ne voyait pas d'autres moyens de vous montrer mon problème sans vous présenter l'ensemble de ce que je voulais faire !!! clients: id rs adresse cp ville Je créer ue procédure pour dédoublonner ma table clients, en utilisant l'idée du matchcode - La création du matchcode sur 12 charactères se passe bien. Le découpage du matchcode charactère/ charactère dans 12 champs de clients fonctionne parfaitement. Après cette étape je me retrouve donc avec une table clients comprenant: clients id rs adresse cp ville matchcode N1... N12. Le but de ce decoupage est de vérifier l'existence dans ma table que pour la ligne 1 (table clients) N1 il n'existe pas de N1 identique. Si c'est le cas les champs R1.... R12 que je crée à ce moment là prend la valeur 1 sinon la valeur 0 Après un premier passage je compte R1+...+R12 et en fonction d'un certain lambda je sors les lignes correspondantes. Voilà le but et le fonctionnement théorique de ma fonction !!!! Thecniquement mon code se présente ainsi Code :
clients: 2 lignes de données id adresse rs cp ville matchcode N1..N12 ..... 1213 12 Test : TATA TOTO J'utilise toujours mes 2 boucles de la même facon, sauf que je fais sauter mes tests sur les variables et que j'utilise juste les syntaxes de boucles. J'insert ensuite id et rs dans test Code :
1213 12 1213 12 C'est comme si chaque boucle était exécuté 2 fois !! Quelqu'un aurait-il une idée comment cela arrive ? est-ce normal ? |
||||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 120 ![]() |
Je vois que très peu ont eu le courage de se poser sur ce petit problème !!
Si il y a des courageux !!! Merci à vous |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
c'est quoi "l'idée du matchcode" ?
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 120 ![]() |
Je suis partie d'un site datalgo.fr qui explique diverses méthodes pour dédoublonner des données clientes:
par rs, par adresse, par combinaison rs+cp par utilisation du Soundex par mise au norme des données ( 3 PL de la REP devient 3 PLACE DE LA REPUBLIQUE) Le matchcode lui, est une concaténation de certains charactères choisies sur les champs rs ville cp adresse .... Libre a chacun de définir ce matchcode. ainsi par exemple: TOTO 3 PLACE DE LA REPUBLIQUE 37150 BEAUJEU -> TOCE DE37BEAU TOTA 4 PLACE DE LA REPUBLIQUE 36150 BEAUJEU -> TOCE DE36BEAU En définissant un taux lambda (75%), on peut ainsi recoupler des données qui n'auraient pas été reconnu comme doublon sur les Test du soundex(adresse), ou simplement par combinaison Adresse Ville, C'est une méthode supplémentaire pour dédoublonner les données. |
|
|
00
|
|
|
#5 | |||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 120 ![]() |
J'y avais pensé mais dans ce cas je en gère que les matchcodes identiques alors que mon but est de traité l'existence d'un matchcode à 75% minimum identique
Identique au niveau des caractères et au niveau de leurs places dans le matchcode !!! La différence est là ! C'est pourquoi je souhaite travailler sur 2 boucles et comparer chaque caractères du matchcode |
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 120 ![]() |
Citation:
C'est pourquoi j'ai besoin de marquer le pas sur chacune des implémentations de la boucle 2 et le mieux reste le curseur. |
|
|
|
00
|
|
|
#9 | ||||
|
Membre chevronné
![]() Inscription : avril 2006 Messages : 833 ![]() |
Est ce que tu as toujours besoin d'aide sur ce probleme ?
parce que je viens d'avoir un peu le meme probleme avec un curseur. En gros ma structure etait : Code :
en fait, quand il rentre dans la boucle une seconde fois, la condition du while est toujours passante car le FETCH n'a pas encore été effectué mais si tu fais ceci ca marche : Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com