BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Може ли акъл за record matching?
CPPlus
Публикувано на: 07-01-2017, 22:16
Quote Post



Име: Людмил Григоров
Група: Потребител
Ранг: Почетен член

Мнения: 1069
Регистриран на: 22.06.11



Здравейте!

Имам да правя match на records от два източника (реда на записите не е гарантирано да е един и същ), които в идеалния случай трябва да са еднакви.

Идеята ми е:
1) На всеки запис от двата източника му слепвам полетата и генерирам един hash с md5.
2) Разкарвам от картинката записите, които имат един и същи hash в двете таблици.

На този етап имам два набора от записи, които не се съдържат един в друг. Трудното е да разбера кой запис кой е (и частта, за която ще се радвам на най-много критика).

Мисля си да ползвам алгоритъм, който ми пресмята колко символа трябва да се променят в един string, за да стане равен на втори string. На всеки запис от първия източник ще му слепя текстовите полета и ще ги сравня чрез алгоритъма с всеки запис от втория източник. Този, който изисква най-малко промени, е нашия човек. Сега сигурно ще има няколко съвпадения - тогава ще гледам тази двойка записи, чиято сума от числовите полета е най-близка.

Как бихте подходили вие?

Това мнение е било редактирано от CPPlus на 07-01-2017, 22:19


--------------------
Нищо не е свършило, докато не е свършило! Не се предавай и ще постигнеш целта си!
PMEmail Poster
Top
Bender
Публикувано на: 07-01-2017, 22:36
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4663
Регистриран на: 19.06.14



така си го обяснил, че нищо не можах да разбера


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
CPPlus
Публикувано на: 07-01-2017, 22:59
Quote Post



Име: Людмил Григоров
Група: Потребител
Ранг: Почетен член

Мнения: 1069
Регистриран на: 22.06.11



Имам две таблици, които трябва да са едни и същи, но не са (някои записи са изпочупени). Записите са И разбъркани. Тая комбинация е много кофти, защото не знаеш кой запис кой е, че да кажеш какво му не е наред. Търся критерий, по който да познавам кой запис кой е. За сега първо гледам колко близки са string полетата им, а след това гледам колко са близки и числовите им полета. Можеш ли да ми изкритикуваш логиката, която съм измайсторил до сега?


--------------------
Нищо не е свършило, докато не е свършило! Не се предавай и ще постигнеш целта си!
PMEmail Poster
Top
ivan84
Публикувано на: 07-01-2017, 23:07
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Ако е толкова важно да се знаят съвпадащите записи, то би следвало да има уникални идентификатори. В потивен случай е по-удачно да търсиш логика с която да обработваш само пълните съвпадения тъй като всичко останало си е чиста проба налучкване.
PMEmail Poster
Top
CPPlus
Публикувано на: 07-01-2017, 23:12
Quote Post



Име: Людмил Григоров
Група: Потребител
Ранг: Почетен член

Мнения: 1069
Регистриран на: 22.06.11



Де да имаше идентификатори... icon_lol.gif . Знам, че е налучкване, но такова нещо се иска. Въпроса е това ли е най-ефикасният начин, независимо от естеството на проблема?

Edit: има somewhat подреденост на записите, но не е 100%това гаранцията. Това ми звучи като нещо, което може да се използва?

Това мнение е било редактирано от CPPlus на 07-01-2017, 23:14


--------------------
Нищо не е свършило, докато не е свършило! Не се предавай и ще постигнеш целта си!
PMEmail Poster
Top
ivan84
Публикувано на: 07-01-2017, 23:16
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Ми зависи какво представляват данните. Ако те са контролни стойности измервани от независими източници е логично да търсиш най-близките. Но остава въпросът, няма ли поле по което да може да се подредят хронологично тия данни.
PMEmail Poster
Top
CPPlus
Публикувано на: 07-01-2017, 23:21
Quote Post



Име: Людмил Григоров
Група: Потребител
Ранг: Почетен член

Мнения: 1069
Регистриран на: 22.06.11



Eдни и същи entity-та описват - да. До сега подреждах по всички полета и това работи в някаква степен. Ако всичко е ОК ще се види (тогава ще се подредят по еднакъв начин). Сега ако има разлики, то колкото по надясно са в колоните, толкова по-малко се чупи сравнението, но ако има разлика в първата колона... заминава icon_lol.gif. Иначе няма такава колона, по която като подредиш и да стане работата. Пък и става въпрос за автоматизация на около 50 такива таблици, които се поправят непрекъснато, и не е много сигурно това с конкретната колона, дори и да го имаше, тъй като тя може да бъде променена на следващото сравнение.

Това мнение е било редактирано от CPPlus на 07-01-2017, 23:22


--------------------
Нищо не е свършило, докато не е свършило! Не се предавай и ще постигнеш целта си!
PMEmail Poster
Top
ivan84
Публикувано на: 07-01-2017, 23:23
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Е добре де - тия данни нали описват някакво моментно състояние на нещо. Състоянието го имаш, а моментът към който се отнася?
PMEmail Poster
Top
Stilgar
Публикувано на: 07-01-2017, 23:30
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 11327
Регистриран на: 13.05.08



Колко горе-долу са записите дето не се напасват идеално?


--------------------
Опитахме се да го направим както трябва, но стана както винаги.
PMEmail PosterUsers Website
Top
CPPlus
Публикувано на: 07-01-2017, 23:33
Quote Post



Име: Людмил Григоров
Група: Потребител
Ранг: Почетен член

Мнения: 1069
Регистриран на: 22.06.11



@ivan
user posted image
Eто един такъв chunk. Всички дати са еднакви..

@Stilgar
Варират от 0 до хиляди в зависимост от файловете. Най-често са в най-долната част на стотиците.

Това мнение е било редактирано от CPPlus на 07-01-2017, 23:36


--------------------
Нищо не е свършило, докато не е свършило! Не се предавай и ще постигнеш целта си!
PMEmail Poster
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0