Observeret problem ved ibrugtagning af nyt år.
Oprettet af kimgru
2019-11-26 18:06:14
Forfatter | Indlæg |
---|---|
Skrevet af kimgru
2019-11-26 18:06:14
|
Hej alle Jeg har i forbindelse med rettelser af begravelser, hvor dødsdato mangler, konstateret at f.eks i forbindelse med tastningen af 1880, side 7 nr. 31: Claus Hansen: dødsdato 29-12-som retteligt må være 1879, da det ligger først i protokollen, så den er tastet rigtig. Men der er også tastet en 1879, side 7 nr. 31: Georg Trelde: Dødsdato 29-12- som retteligt må være 1878, da den ligger først i protokollen. Jeg kan godt se at vi kan have et stort problem her, men har ikke pt. en løsning på hvordan vi kan finde disse døde frem - men evt. en søgning på de første 50 numre i en årgang, sammenholdt med døds måned, kunne være en løsning. Jeg har lavet en søgning på År: 1879 løbenr. 31, se herunder og læg mærke til Begravelsesprotokollernes årgang: https://www.kbharkiv.dk/sog-i-arkivet/sog-i-indtastede-kilder#/results?q1.f=record_number&q1.op=eq&q1.t=31&q2.f=yearOfDeath&q2.op=eq&q2.t=1879&sortField=lastname&sortDirection=asc&postsPrPage=10&collections=1&type=advanced Venlig hilsen Kim |
Skrevet af jeppec
2019-11-27 08:20:35
|
Hej Kim. Godt du har fundet denne fejlrisiko. Sig til hvis der er brug for udtræk som den normale søgning ikke kan give.
Mange hilsner fra Jeppe Digitalarkivar ved Københavns Stadsarkiv |
Skrevet af bjørn enemark
2019-11-27 13:47:58
|
Vi kunne finde de fleste ved at kikke efter dubletter, sådan som Kim har gjort med sit eksempel. Vi fanger så ikke 1) dem hvor starten af året ikke er forrest (protokoller over flere år) 2) dem hvor "makkeren" mangler, fordi løbenummeret er fejltastet eller posten ikke skulle tastes men det er dog et fåtal. Her er et forslag til sql, det skal naturligvis justeres med de rigtige datanavne: select p.årstal, p.lbnr, p.protokol, p.fornavne, p.efternavn, p.link from søgebasen p, (select lbnr, dødsår, count(*) as ct from søgebasen where lbnr < 100 group by lbnr, dødsår) s where ct>1 and p.lbnr = s.lbnr and p.dødsår = s.dødsår order by p.dødsår, p.lbnr |
Skrevet af kimgru
2019-11-28 08:51:29
|
Hej i 2 jeg venter lidt med at bestille nye udtræk, jeg har stadig en del tilbage på det udtræk jeg fik af Jeppe, for flere måneder siden :-) Venlig hilsen Kim |
Skrevet af kimgru
2019-12-02 05:23:20
|
Hej så Jeppe Du må godt lave det udtræk som Bjørn har beskrevet. Du kan bare lægge udtrækket ind i det sheet jeg har i forvejen Venlig hilsen Kim |
Skrevet af jeppec
2019-12-02 12:27:58
|
Hej Bjørn. Jeg forsøger mig med din anvisning. Men den fejler for mig. Med: 'Every derived table must have its own alias' SELECT SUBSTR(description,1,4) AS "Protokolår", YEAR(dateofdeath) as "p_year", MONTH(dateofdeath),DAY(dateofdeath),burial_burials.number,firstnames,lastname,CONCAT("https://www.kbharkiv.dk/kildetaster/#/task/1/page/",apacs_posts.pages_id,"/post/", apacs_entries.posts_id) AS "Link" FROM kbharkiv.burial_persons p, (SELECT number, YEAR(dateofdeath) as "s_year", COUNT(*) as "ct" FROM kbharkiv.burial_persons LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id) WHERE number<100 GROUP BY number, YEAR(dateofdeath)) LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id LEFT JOIN kbharkiv.apacs_entries ON apacs_entries.concrete_entries_id = burial_persons.id LEFT JOIN kbharkiv.apacs_posts ON apacs_entries.posts_id=apacs_posts.id LEFT JOIN kbharkiv.apacs_pages ON apacs_posts.pages_id = apacs_pages.id LEFT JOIN kbharkiv.apacs_units ON apacs_pages.unit_id = apacs_units.id LEFT JOIN kbharkiv.apacs_users ON apacs_entries.users_id = apacs_users.id WHERE ct>1 AND p.number=s.number AND p.p_year = s.s_year ORDER BY p.number, p.p_year Mange hilsner fra Jeppe Digitalarkivar ved Københavns Stadsarkiv |
Skrevet af bjørn enemark
2019-12-02 20:58:30
|
Der mangler i hvert fald et s … GROUP BY number, YEAR(dateofdeath)) s … |
Skrevet af jeppec
2019-12-03 13:41:10
|
Hej Kim og Bjørn Jeg fik ikke Bjørns SQL til at virke, men har trukket en liste over løbenumre som optræder 2 eller flere gange indenfor samme protokol. Se her: https://docs.google.com/spreadsheets/d/1JK6xs4yb8j4vV1DbbR9ttf64X1St2O-71OcBcQEXcsA/edit?usp=sharing Prøv lige at se om det kan bruges… :) Mange hilsner fra Jeppe Digitalarkivar ved Københavns Stadsarkiv |
Skrevet af bjørn enemark
2019-12-03 15:35:37
|
1) det er også en interessant liste, du har trukket: fejl i løbenumre – men den løser ikke det oprindelige problem: at finde poster hvor dødsåret er forkert 2) jeg har kikket mere på din SQL. Først og fremmest manglede et s til at identificere den indre SQL, men der er også syntaksfejl - der mangler en slut-dobbeltapostrof efter sts.pages_id " www.kbharkiv.dk/kildetaster/#/task/1/pag...sts.pages_id,"/post/ ", apacs_entries.posts_id) AS "Link" - der skal ikke være en slutparentes efter LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id |
Skrevet af jeppec
2019-12-06 13:14:55
|
Hej BJørn Jeg får stadig fejl på denne her: SELECT SUBSTR(description,1,4) AS "Protokolår", YEAR(dateofdeath) as "p_year", MONTH(dateofdeath),DAY(dateofdeath),b.number,firstnames,lastname,CONCAT("https://www.kbharkiv.dk/kildetaster/#/task/1/page/",apacs_posts.pages_id,"/post/", apacs_entries.posts_id) AS "Link" FROM kbharkiv.burial_persons p, (SELECT number, YEAR(dateofdeath) as "s_year", COUNT(*) as "ct" FROM kbharkiv.burial_persons LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id WHERE number<100 GROUP BY number, YEAR(dateofdeath)) s LEFT JOIN kbharkiv.burial_burials b ON burial_burials.persons_id=burial_persons.id LEFT JOIN kbharkiv.apacs_entries ON apacs_entries.concrete_entries_id = burial_persons.id LEFT JOIN kbharkiv.apacs_posts ON apacs_entries.posts_id=apacs_posts.id LEFT JOIN kbharkiv.apacs_pages ON apacs_posts.pages_id = apacs_pages.id LEFT JOIN kbharkiv.apacs_units ON apacs_pages.unit_id = apacs_units.id LEFT JOIN kbharkiv.apacs_users ON apacs_entries.users_id = apacs_users.id WHERE ct>1 AND b.number=s.number AND p.p_year = s.s_year ORDER BY b.number, p.p_year FEjl: Error Code: 1054. Unknown column 'p.p_year' in 'where clause' 0.016 sec Jeg må have en simplere må¨de måske med to trin til at kører den SQL. Som jeg forstår det vil vi gerne se på alle løbenumre under 100, hvor dødsåret ikke er det samme som protokolåret. Jeg har forsøgt med dette udtræk. Prøv at se om det kan bruges: https://docs.google.com/spreadsheets/d/1JK6xs4yb8j4vV1DbbR9ttf64X1St2O-71OcBcQEXcsA/edit?usp=sharing Mange hilsner fra Jeppe Digitalarkivar ved Københavns Stadsarkiv |
Skrevet af kimgru
2019-12-07 06:35:10
|
Hej Jeppe Jeg har kigget på dit nye udtræk, og uden at have været samtlige poster igennem, virker det som om, at de der har tastet disse poster, har været opmærksom på at taste årstallet for året før, og ikke protokol året, altså er de tastet korrekt. Jeg mener at vi skal have et udtræk, som går på: Løbenumre <100 måned: december (12) så må vi fange dem, der kan være tastet med forkert årstal, hvis tasteren ikke har været opmærksom Venlig hilsen Kim |
Skrevet af bjørn enemark
2019-12-07 14:12:23
|
Tanken med den sql er at fange personer, der står med samme nr i to forskellige protokoller med samme dødsår, som i Kims oprindelige eksempel: protokol 1880, nr. 31, Claus Hansen, 17-12-1879, protokol 1879, nr. 31, Georg Trelde, 29-12-1879 en af dem må være forkert Fejlen i sql er i de to sidste linier (p_year kan ikke bruges i WHERE) AND p.p_year = s.s_year ORDER BY b.number, p.p_year som skal være AND YEAR(p.dateofdeath) = s.s_year ORDER BY b.number, YEAR(p.dateofdeath) Og så er jeg ikke sikker på, at alle dine LEFT JOINs er nødvendige (for jeg kender ikke kolonnerne i tabellerne). men de skulle heller ikke give problemer, højst ekstra arbejde til sql. Måske nødvendige til protokolår og link. Jeg ville gerne til fremtidigt brug have en mail med et dokument med samtlige tabeller og deres kolonner |