Paweł W.

Paweł W. java developer at
https://rozwoj-oprog
ramowania.pl

Temat: rozdzielenie danych adresowych z jednego pola do trzech

czesc,
mam w tabeli w jednym polu ulice z numerem domu i lokalu. rekordow jest duzo i oczywiscie sa rozne formaty tych danych. chce z automatu rozdzielic te dane do osobnych pol(ulica,nr domu,nr lokalu) czy jest moze gdzies dostepne jakies darmowe rozwiazanie ktore moze pomoc w wykonaniu tego czy musze sobie sam cos takiego napisac?

dzieki za pomoc
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Kupa roboty. Może to Ci trochę pomoże:

http://www.sqlservercentral.com/articles/Miscellaneous...

A tu żyjąca, ale droga koncepcja: http://www-03.ibm.com/certify/downloads/IS_03.Prepare.ppt

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Paweł Wtorek:
czesc,
mam w tabeli w jednym polu ulice z numerem domu i lokalu. rekordow jest duzo i oczywiscie sa rozne formaty tych danych. chce z automatu rozdzielic te dane do osobnych pol(ulica,nr domu,nr lokalu) czy jest moze gdzies dostepne jakies darmowe rozwiazanie ktore moze pomoc w wykonaniu tego czy musze sobie sam cos takiego napisac?

dzieki za pomoc

o jakiej bazie danych mowa?
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Szczerze mowiac, gdybym mial to robic dla swojej firmy to poprosilbym o udostepnienie 'interfejsu manualnego' w postaci ekipy ktora to przeklepie recznie. Tego sie nie da w calosci zrobic z automatu, a samo szukanie odpowiednich rozwiazan, czyszczenie danych, zapuszczanei skryptow, sprawdzanie wynikow, wylapywanie bledow itd zajmuje duzo cennego czasu, ktory mozna poswiecic na bardziej wartosciowego zadania. Chyba ze akurat nie ma nic ciekawszego do zrobienia, wtedy mozna sie pobawic w takie akademickie lamiglowki :)

Lukasz podal linka do rozwiazania IBM, dodam od siebie ze w najnowszej wersji Business Objects (pakiet XI 3.0) istnieje podobna funkcjonalnosc.Bartosz Ślepowroński edytował(a) ten post dnia 21.05.08 o godzinie 11:44
Rafał K.

Rafał K. Technical Architect,
IG

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Bartosz Ślepowroński:
Szczerze mowiac, gdybym mial to robic dla swojej firmy to poprosilbym o udostepnienie 'interfejsu manualnego' w postaci ekipy ktora to przeklepie recznie.
Łatwo wyobrazić sobie przykład w którym byłoby to zupełnie nieopłacalne. Autor pisze, że ma tych wpisów "dużo", dla mnie dużo to powiedzmy 10 mln przyrównując do polskich realiów :) Idąc dalej, ręczne przepisanie rekordu szacowałbym na 5 sekund, czyli sumarycznie wychodzi prawie 14 tysięcy godzin(!). Dodatkowo nie ma pewności, że jakość transformacji wynosi 100%, kto to zweryfikuje? Życzę powodzenia i odwagi pokazania się 'interfejsowi manualnemu' który to zrobi :)
Tego sie nie da w calosci zrobic z automatu, a samo szukanie odpowiednich rozwiazan, czyszczenie danych, zapuszczanei skryptow, sprawdzanie wynikow, wylapywanie bledow itd zajmuje duzo cennego czasu, ktory mozna poswiecic na bardziej wartosciowego zadania. Chyba ze akurat nie ma nic ciekawszego do zrobienia, wtedy mozna sie pobawic w takie akademickie lamiglowki :)
Chyba najlepszym rozwiązaniem będzie hybryda powyższych rozwiązań, ręcznie modyfikujemy tylko te, z którymi automat sobie nie poradzi. Oczywiście automat też wypada sprawdzić na losowych danych. Rozumiem gdyby w bazie były adresy z całego świata w różnych formatach, wtedy byłoby to jakieś wyzwanie :)
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Nie wierze w 10 milionow nieposegregowanych rekordow, stawiam raczej na kilka, gora kilkaset tysiecy.

Dla miliona rekordow bedza to troche ponad dwa miesiace pracy dwudziestu osob - ot taki maly 'projekt'. W praktyce tak jak piszesz, przejechanie danych skryptem, jakas automatyczna validacja, wszystko co nie przechodzi walidacji do rozpracowania manualnego.
Krzysztof Turniak

Krzysztof Turniak analityk baz danych,
Cegedim Group Poland

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Polecam napisanie funckji, ktora znak po znaku przejrzy lancuch znakow i odesparuje: przedrostek ulicy, nazwe ulicy i numery. Trzeba zwrocic uwage na to ze w nazwach ulic moga wystapic cyfry np. ul. 1000-lecia oraz skroty nazw z . Zadanie bardzo wymagajace.Krzysztof Turniak edytował(a) ten post dnia 23.05.08 o godzinie 10:45
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Moim zdaniem to o wiele bardziej skomplikowana sprawa niż jedna funkcja. Oprócz "zwykłych" ulic mogą wystąpić place, skwery, osiedla itp. Poza tym dużo ulic ma nazwy wieloczłonowe. Również numeracja domów, mieszkań, posesji wydaje się rządzić swoimi prawami; wie to ten kto choć raz pracował jako akwizytor ;D
Ja obstawał bym przy koncepcji o której pisał Bartek i Rafał, czyli interfejs pół-automatyczny (czy jak kto woli pól-manualny ;).Łukasz Schabek edytował(a) ten post dnia 23.05.08 o godzinie 10:57
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Krzysztof Turniak:
Polecam napisanie funckji, ktora znak po znaku przejrzy lancuch znakow i odesparuje: przedrostek ulicy, nazwe ulicy i numery. Trzeba zwrocic uwage na to ze w nazwach ulic moga wystapic cyfry np. ul. 1000-lecia oraz skroty nazw z . Zadanie bardzo wymagajace.

"-Panie, szybko, jak dostac sie do filharmonii!?
-Uuu, lata praktyki prosze pana, lata praktyki"

Nie ma to jak dobra, konkretna rada :)Bartosz Ślepowroński edytował(a) ten post dnia 23.05.08 o godzinie 11:35

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Nie jest to banalny problem. Każdy z członów adresu ma swoje reguły:
- przedrostek ulicy może być lub nie
- na szczęście lista możliwych przedrostków jest skończona
- w nazwie ulicy mogą być numery
- separatory w numerach mogą być dowolne, ale najczęściej ('/', '\' lub 'm')
- mogą być nawet 3 lub nawet 4 sekcje numerów
- numery mogą być nawet 4-cyfrowe (w Warszawie sam widziałem tylko 3 cyfrowe)
- "numery" mogą zawierać litery, połączone lub nie z cyframi

Słyszałem o kimś kto zrobił to w COBOL-u. Myślę, że było to niezłe wyzwanie, ale:
- automat na pewno trzeba zweryfikować
- może być niezbędne zatrudnienie ludzi do wklepania wyjątków
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Piotr Likus:
- numery mogą być nawet 4-cyfrowe (w Warszawie sam widziałem tylko 3 cyfrowe)

Zalezy czego, numery mieszkan na os za zelazna brama dobijaja chyba do 1500 :)

Przyjmujecie oczywiscie zalozenie, ze adresy sa tylko polskie. I takie jest zalozenie projektujacych aplikacje w Polsce, co prowadzi do zabawnych sytuacji, np jak podawalem swoj irlandzki adres do faktury u lekarza w wawie, to system odmowil wspolpracy.

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Piotr Likus:
Słyszałem o kimś kto zrobił to w COBOL-u.
Jeśli tak, to może zamiast dublować czyjąś pracę, lepiej dać ogłoszenie na http://www.zlecenia.przez.net/kategoria,3 - o ile temat jest ciągle aktualny. Zawsze to taniej, niż zatrudniać 20 osób przez 2 miesiące.
A jeszcze taniej byłoby ogłosić konkurs dla młodych pasjonatów programowania z atrakcyjną nagrodą główną. A przy okazji jaka reklama dla firmy.
Ja robiłbym to metodą "sita". Opracować procedurę dla dominującego wzorca i wyszukać w bazie rekordy pasujące do tego wzorca i je przetworzyć. Dla pozostałych rekordów opracować kolejny popularny wzorzec itd. Po kilkunastu iteracjach pozostałoby chyba niewiele rekordów.
Bartosz Ślepowronski

Bartosz Ślepowronski Problem? Jaki
problem?

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Wojciech Błoński:
Piotr Likus:
Słyszałem o kimś kto zrobił to w COBOL-u.
Jeśli tak, to może zamiast dublować czyjąś pracę, lepiej dać ogłoszenie na http://www.zlecenia.przez.net/kategoria,3 - o ile temat jest ciągle aktualny. Zawsze to taniej, niż zatrudniać 20 osób przez 2 miesiące.

Taniej to pojecie wzglednie, sa sytuacje w ktorych przesuniecie 100 osob z jednego zadania do drugiego nie powoduje zadnych dodatkowych kosztow (finansowych), za to zalatwienie wszystkich formalnosci koniecznych do zlecenia pracy specjaliscie tak. Logika korporacyjna bywa pokrętna :)

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

też słyszałem o człowieku, który zrobił to w cobol'u ;)

Rekordów było kilka milionów, a projekt odpowiednio drogi ;)

pozdr.
P.
Rafał Korszuń

Rafał Korszuń co-owner @ Kleder

Temat: rozdzielenie danych adresowych z jednego pola do trzech

można posegregować dane wg podobieństwa i rozdzielać na podstawie dopasowań do wyrażeń regularnych zazwyczaj można w ten sposób przy niskim współczynniku błędów uporać się z 98-99% danych reszta zazwyczaj ręcznie.

Przynajmniej mi się tak udało w przeszłości to zrobić.

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Rafał Korszuń:
można posegregować dane wg podobieństwa i rozdzielać na podstawie dopasowań do wyrażeń regularnych zazwyczaj można w ten sposób przy niskim współczynniku błędów uporać się z 98-99% danych reszta zazwyczaj ręcznie.

Przynajmniej mi się tak udało w przeszłości to zrobić.


Nawiązują do problemu ja mam problem ze skojarzeniem klientow z 2 baz. Glownie kojarze po NIPie oraz adresie. Zaciekawil mnie twoj wpis o podobienstwach. Moglbys to troche rozwinac jak cos takiego zrobic. Z gory dziekuje

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Paweł K.:
też słyszałem o człowieku, który zrobił to w cobol'u ;)

Rekordów było kilka milionów, a projekt odpowiednio drogi ;)

Witamy wśród żywych :)
Bronisław Dec

Bronisław Dec IT Specialist, FiLC
Corp.

Temat: rozdzielenie danych adresowych z jednego pola do trzech

Bez przesady problem zależy od tego jakie dane są w bazie, bo jeśli dane były wprowadzane od Sasa do lasa to żadna metoda nie pomoże, po za organoleptyczną. Np. ul. Drętwa 10/12 - konia z rzędem temu co jednoznacznie stwierdzi czy 10/12 to numer posesji czy to jednak nr 10 mieszkania 12.
Rafał Korszuń

Rafał Korszuń co-owner @ Kleder

Temat: rozdzielenie danych adresowych z jednego pola do trzech

możesz wyrażenia regularne użyć dla group by, dzięki czemu tworzysz klasy podobieństwa a następnie dla każdej klasy robisz update, to jest de fakto ręczna-seryjna zmiana.

konto usunięte

Temat: rozdzielenie danych adresowych z jednego pola do trzech

W sumie nie wiem pewnie Ci się nie przyda ale :

Pola alfanumeryczne np. numery domów, akt i lokali. Dopuszczalne znaki to litery, cyfry, slash, myślnik, kropka, gwiazdka, znak < Ciąg znaków musi zaczynać się od cyfry albo litery.
Na numer domu przeznaczonych jest 9 znaków, lokal - 8

Następna dyskusja:

Procedura przeniesienia baz...




Wyślij zaproszenie do