Palaute - Koha-Suomi - Support #1510 Tukipyynnöt: Kohan raportit 04.11.2016 08:24 - Christer Skog Tila: New Alkupäivämäärä: 04.11.2016 Prioriteetti: Normal Määräaika: 31.12.2016 Nimetty: Johanna Räisä % tehty: 0% Luokka: Raportit ja tilastot Arvioitu aika: 0.00 tunti Kohdeversio: Käytetty aika: 1.87 tunti Issue Owner: Christer Skog Kuvaus Tähän voi laittaa Kohan raporttitarpeet, joita ei itse ole saanut tehtyä. Kuvaa raportti lyhyesti, mutta tarkasti. Jos olet jo laatinut sql-kyselyn, mutta se ei toimi, niin liitä mukaan myös kysely. Historia #1-15.11.2016 09:50 - Leena Sareskorpi Kyyti-Kohassa on tullut koko marraskuun ajan ainakin Haminassa 'Gateway Time out' valmiissa "Lainat, uusinnat ja palautukset" -raportissa. Eli toimiessa ohjeen mukaan seuraavasti: Raportit -> Käytä tallennettua raporttia -> Mene Lainaus-välilehdelle. -> Klikkaa Lainat, uusinnat ja palautukset -raportin kohdalla Toiminnot-valikkoa ja sieltä Käynnistä. -> Anna raportille alku- ja päättymispäivämäärät. Valitse päivämäärät kalenterista tai syötä ne käsin muodossa VVVV-KK-PP. Jos haluat tiedot vain yhdeltä päivältä, laita molempiin laatikoihin sama päivämäärä. -> Klikkaa Aja raportti. #2-15.11.2016 09:52 - Leena Sareskorpi En tiedä, miksi tuo osa tekstistä näkyy yliviivattuna. Ei ole tarkoitus. #3-15.11.2016 10:01 - Christer Skog Leena Sareskorpi kirjoitti: En tiedä, miksi tuo osa tekstistä näkyy yliviivattuna. Ei ole tarkoitus. pre-tägillä voi syöttää esimuotoiltua tekstiä. Millaisella aikavälillä tuo raportti on ajettu? #4-15.11.2016 10:13 - Leena Sareskorpi 1.10.-31.10.2016 22.09.2017 1/7
#5-15.11.2016 10:20 - Christer Skog - Nimetty muutettiin tästä Christer Skog tähän Johanna Räisä Saan toistettua virheen ja timeout tulee vastaan jo erittäin lyhyellä aikavälillä: sql_params=2016-11-14&sql_params=2016-11-15 Jos sama kysely on aiemmin toiminut, niin mikähän kannassa on muuttunut? Nyt kysely jää junnaamaan. SELECT LEFT(s.branch,6) AS "Kirjasto", SUM(IF(s.type = 'issue', 1, 0)) AS Lainat, SUM(IF(s.type = 'renew', 1, 0)) AS Uusinnat, SUM(IF((s.type = 'renew' OR s.type='issue'), 1, 0)) AS YHTEENSÄ, SUM(IF(s.type = 'return', 1, 0)) AS Palautukset i LEFT JOIN statistics s ON i.itemnumber=s.itemnumber WHERE date(datetime) BETWEEN AND GROUP BY s.branch #6-15.11.2016 11:21 - Christer Skog Johannan ehdotuksesta korjattu muotoon: SELECT LEFT(s.branch,6) AS "Kirjasto", SUM(IF(s.type = 'issue', 1, 0)) AS Lainat, SUM(IF(s.type = 'renew', 1, 0)) AS Uusinnat, SUM(IF((s.type = 'renew' OR s.type='issue'), 1, 0)) AS YHTEENSÄ, SUM(IF(s.type = 'return', 1, 0)) AS Palautukset FROM statistics s WHERE date(datetime) BETWEEN AND GROUP BY s.branch #7-15.11.2016 11:26 - Christer Skog Johanna suositteli, että kyselyt ajettaisiin aamulla ennen suurempaa liikennettä. Maanantai ja tiistai voi myös olla aika huonoja päiviä. #8-19.12.2016 15:02 - Tuomas Kunttu - Tiedosto niteenlainamäärät.png lisättiin Minulle on esitetty toive saada listattua Kyyti-kirjastojen 100 lainatuinta dekkaria. Tämä liittyy toisaalta jokavuotisiin Kouvolan dekkaripäiviin ja toisaalta Suomi100-juhlavuoteen. Ehdot: aineistolaji:kirja, hyllypaikka:a+n+na, kokoelmakoodi:jän, luokka 84.2. Toki vielä jää käsityötä, että saa tuloksesta dekkarit eroteltua muusta jännityksestä. Siksi listaan pitäisi saada ehkä 500 teosta, jotta voi karsia sataan. Kokeilein kahdella eri raporttikirjastosta löytyneellä koodilla, mutta ne eivät tuottaneet haluttua lopputulosta. Näytti siltä, että nämä raportit tuottavat lainamääriä vain Kohan ajalta, ainakin kaikki kirjat olivat uusia. Kuitenkin Niteet-välilehden alta löytyy nidekohtaiset yhteensä lainassa -luvut. Miten sitä saisi hyödynnettyä? Kaikki saman tietueen niteiden yhteensä lainassa -luvut siis pitäisi laskea yhteen. 22.09.2017 2/7
SELECT count(s.datetime) AS circs, b.title, b.author, i.ccode FROM statistics s JOIN items i ON (i.itemnumber=s.itemnumber) LEFT JOIN biblio b ON (b.biblionumber=i.biblionumber) WHERE DATE(s.datetime) > DATE_SUB(CURRENT_DATE(),INTERVAL 24 MONTH) AND DATE(s.datetime)<=CURRENT_DATE() AND s.itemnumber IS NOT NULL AND s.type IN ('issue','renew') AND i.itype= 'KIRJA' AND i.location='a' AND i.ccode='jän' AND i.itemcallnumber BETWEEN '84.2' AND '84.3' GROUP BY b.biblionumber ORDER BY circs DESC LIMIT 500 Ei tämä kaikkein tärkein asia ole, mutta tarvitsisin tiedon ennen työryhmän kokousta 12.1., jos tätä ei ole mahdollista/järkevää saada toteutettua. #9-19.12.2016 15:14 - Saara Leskinen Minulle on esitetty toive saada listattua Kyyti-kirjastojen 100 lainatuinta dekkaria. Tämä liittyy toisaalta jokavuotisiin Kouvolan dekkaripäiviin ja toisaalta Suomi100-juhlavuoteen. Tuo esimerkki laskee lainauksia statistics-taulusta. Kokeile laittaa raportti laskemaan items-taulusta kohdat issues ja renewals. #10-19.12.2016 15:22 - Johanna Räisä Saara Leskinen kirjoitti: Minulle on esitetty toive saada listattua Kyyti-kirjastojen 100 lainatuinta dekkaria. Tämä liittyy toisaalta jokavuotisiin Kouvolan dekkaripäiviin ja toisaalta Suomi100-juhlavuoteen. Tuo esimerkki laskee lainauksia statistics-taulusta. Kokeile laittaa raportti laskemaan items-taulusta kohdat issues ja renewals. Ja lisää N ja NA tuohon OR-komennolla..AND (i.location= 'A' OR i.location = 'NA' OR i.location = 'N') AND... 22.09.2017 3/7
#11-20.12.2016 11:02 - Tuomas Kunttu Kiitos vinkeistä. Nyt sain raporttiin items-taulun lainat ja uusinnat, mutta ne ovat yksittäisen niteen lainat. Miten saan laskettua tietyn nimekkeen (biblionumber) kaikkien niteitten lainat ja uusinnat yhteen? SELECT CONCAT( '<a href=\"/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=', biblio.biblionumber,'\">', biblio.title, '</a>' ) AS 'Nimeke', biblio.author AS 'Tekijä', items.ccode AS 'Kokoelma', biblio.copyrightdate AS 'Vuosi', items.itype AS 'aineistolaji', items.issues AS 'Lainoja', items.renewals AS 'Uusintoja', (IFNULL(items.issues, 0)+IFNULL(items.renewals, 0)) AS 'Lainoja_yht.' LEFT JOIN biblioitems ON (items.biblioitemnumber=biblioitems.biblioitemnumber) LEFT JOIN biblio ON (biblioitems.biblionumber=biblio.biblionumber) WHERE items.itype= <<Aineistolaji itemtypes>> AND items.location=<<hyllypaikka LOC>> AND items.ccode=<<kokoelma CCODE>> AND items.itemcallnumber BETWEEN <<Luokka välillä>> AND <<ja>> ORDER BY items.issues DESC Nuo rajaukset eivät ole vielä kunnossa, kun testaisin pienemmillä otoksilla. Ne eivät ole ongelma. #12-20.12.2016 11:23 - Johanna Räisä Kiitos vinkeistä. Nyt sain raporttiin items-taulun lainat ja uusinnat, mutta ne ovat yksittäisen niteen lainat. Miten saan laskettua tietyn nimekkeen (biblionumber) kaikkien niteitten lainat ja uusinnat yhteen? Lisätään GROUP BY items.biblionumber ja sitten noille lainoille ja uusinnoille laitetaan sum()-komento, joka laskee yhteen niderivien luvut vaikka tuloksena näyttää vain yhden nimekerivin. SELECT CONCAT( '<a href=\"/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=', biblio.biblionumber,'\">', biblio.title, '</a>' ) AS 'Nimeke', biblio.author AS 'Tekijä', items.ccode AS 'Kokoelma', biblio.copyrightdate AS 'Vuosi', items.itype AS 'aineistolaji', sum(items.issues) AS 'Lainoja', sum(items.renewals) AS 'Uusintoja', (IFNULL(sum(items.issues), 0)+IFNULL(sum(items.renewals), 0)) AS 'Lainoja_yht.' LEFT JOIN biblioitems ON (items.biblioitemnumber=biblioitems.biblioitemnumber) LEFT JOIN biblio ON (biblioitems.biblionumber=biblio.biblionumber) WHERE items.itype= <<Aineistolaji itemtypes>> AND items.location=<<hyllypaikka LOC>> AND items.ccode=<<kokoelma CCODE>> AND items.itemcallnumber BETWEEN <<Luokka välillä>> AND <<ja>> GROUP BY items.biblionumber ORDER BY items.issues DESC 22.09.2017 4/7
#13-22.12.2016 14:48 - Tuomas Kunttu Kiitos. Näillä sai aika hyvänoloisen raportin tehtyä. Eivät lainamäärät täysin vastaa sitä, kun laskee Niteet-välilehdeltä kaikkien niteitten Yhteensä lainassa -luvut yhteen, mutta aika lähelle pääsee. Tämä riittää meille. #14-24.02.2017 10:57 - Tuomas Kunttu Hei Miten saisi raportin, joka hakee tietueet, joissa on niteiden aineistolajina käytetty eri kirjastoissa useampaa kuin yhtä aineistolajia? Tavoittaana meillä on että saman tietueen alla kaikki käyttävät niteissä samaa aineistolajia, mutta jotkut ovat voineet muuttaa oman kirjastonsa niteen aineistolajin. Raportti voisi tulostaa tietuenumeron ja tietueen aineistolajin (942c). Sitten nämä pääsisi korjaamaan. Haen nimenomaan niteiden aineistolajien keskinäistä eroavaisuutta, en niteiden ja tietueen aineistolajien eroavaisuutta. #15-24.02.2017 11:37 - Saara Leskinen Hei Miten saisi raportin, joka hakee tietueet, joissa on niteiden aineistolajina käytetty eri kirjastoissa useampaa kuin yhtä aineistolajia? Tavoittaana meillä on että saman tietueen alla kaikki käyttävät niteissä samaa aineistolajia, mutta jotkut ovat voineet muuttaa oman kirjastonsa niteen aineistolajin. Raportti voisi tulostaa tietuenumeron ja tietueen aineistolajin (942c). Sitten nämä pääsisi korjaamaan. Haen nimenomaan niteiden aineistolajien keskinäistä eroavaisuutta, en niteiden ja tietueen aineistolajien eroavaisuutta. SQL reports libraryssa on tällaiset https://wiki.koha-community.org/wiki/sql_reports_library#bibs_with_different_item_types ja https://wiki.koha-community.org/wiki/sql_reports_library#bibs_with_diff_item_types_attached. Niillä voisi päästä alkuun. #16-24.02.2017 15:07 - Johanna Räisä Saara Leskinen kirjoitti: SQL reports libraryssa on tällaiset https://wiki.koha-community.org/wiki/sql_reports_library#bibs_with_different_item_types ja https://wiki.koha-community.org/wiki/sql_reports_library#bibs_with_diff_item_types_attached. Niillä voisi päästä alkuun. SELECT b.title, b.biblionumber, count(distinct itype) AS types FROM biblio b LEFT JOIN items i USING (biblionumber) GROUP BY i.biblionumber HAVING count(distinct itype) > 1 Tämä on lähes suoraan sellainen jonka tarvitsette. Siihen vain joinaa myös biblioitems taulun ja tekee sen ExtractValuen 22.09.2017 5/7
#17-24.02.2017 15:13 - Tuomas Kunttu Johanna Räisä kirjoitti: Saara Leskinen kirjoitti: Kiitokset teille. Näillä pärjään. #18-12.04.2017 15:54 - Christer Skog tilauksessa', 'koko hankinta' WHERE (date(aqorders.datereceived) BETWEEN (@AloitusPvm:= <<AloitusPvm date>>) AND (@LopetusPvm:= <<LopetusPvm date>>)) AND items.homebranch=(@targetbranch:= <<Pick your branch branches>>) UNION ALL tilauksessa', 'A-hyllypaikka' WHERE date(aqorders.datereceived) BETWEEN @AloitusPvm AND @LopetusPvm AND items.location="a" AND items.homebranch=@targetbranch UNION ALL tilauksessa', 'N-hyllypaikka' WHERE date(aqorders.datereceived) BETWEEN @AloitusPvm AND @LopetusPvm AND items.location="n" AND items.homebranch=@targetbranch UNION ALL tilauksessa', 'M-hyllypaikka' WHERE date(aqorders.datereceived) BETWEEN @AloitusPvm AND @LopetusPvm AND items.location="m" AND items.homebranch=@targetbranch Ei mene läpi Kohassa, antaa Can't use an undefined value as an ARRAY reference -errorin. Pari typoa bongasin ja Johanna löysi vielä yhden typon, mutta mitähän muuta? http://sqlfiddle.com/ -editori ei sekään tykännyt tästä. Katsoin OKM-raporttipohjia pikaisesti, ehkä niistä voisi ottaa mallia tämän laatimiseen uudestaan. 22.09.2017 6/7
Powered by TCPDF (www.tcpdf.org) #19-12.04.2017 15:55 - Christer Skog Testailin esituotannossa, löytyy Hankinnat-raporteista nimellä testi2 tms. Tiedostot niteenlainamäärät.png 20 KB 19.12.2016 Tuomas Kunttu 22.09.2017 7/7