Een boek kwijt, een uitlening die al heel lang open staat? Geef een exemplaar de status LOST en het exemplaar kan niet meer worden aangevraagd of gereserveerd. Wordt het exemplaar weer ingenomen, dan wordt automatisch de status LOST verwijderd.
Met het onderstaande rapport kun je snel zien welke exemplaren de status LOST hebben:
SELECT items.itemnumber,items.biblionumber,CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblioitems.biblioitemnumber,'\">',title,'</a>') AS Titel,items.itemcallnumber AS Siso,items.barcode,items.itemlost_on AS 'Zoek sinds',items.homebranch AS Bibliotheek
FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
WHERE items.homebranch=<<homebranch|branches>> AND items.itemlost='1'
ORDER BY items.itemcallnumber asc
In dit voorbeeld is er gesorteerd op plaatsnummer (items.itemcallnumber), maar dat kan bijv. ook op datum. Gebruik dan ‘ORDER BY items.itemlost_on DESC’ voor een overzicht met de meeste recente melding eerst.
Het onderstaande rapport is een snelle manier om te zien welke berichten, zoals aanmaningen, in een bepaalde periode zijn verzonden.
SELECT CONCAT('<a href=\"/cgi-bin/koha/members/notices.pl?borrowernumber=',message_queue.borrowernumber,'\" target=blank>', message_queue.borrowernumber, '</a>') AS Lenernummer,
message_queue.letter_code AS 'Soort bericht',
monthname(message_queue.time_queued) AS Maand,
year(message_queue.time_queued) AS Jaar
FROM message_queue
WHERE message_queue.time_queued between <<Verstuurd tussen|date>> and <<en|date>>
AND message_queue.letter_code LIKE <<Gebruik ODUE, ODUE_2, ODUE_3, HOLD, PREDUE (gebruik % als wildcard)>>
AND status = 'sent'
Met het rapport kun je selecteren op de verschillende typen berichten, zoals die gedefinieerd zijn onder Hulpmiddelen – Berichten en bonnen:
Bij het uitvoeren van het rapport kun je een datumbereik opgeven en het berichttype. Je kunt % als wildcard gebruiken, bijv., ODUE% voor alle aanmaningen.
Het resultaat is een lijst met aanklikbare lenernummers met vermelding van het type bericht en in welke maand het bericht is verzonden.
De link met het lenernummer stuurt je door naar de pagina met lenergegevens en dan specifiek naar het overzicht van reeds verzonden berichten.
Klik op een bericht voor de details en de optie om het bericht opnieuw te verzenden.
Voor een snel overzicht van openstaande reserveringen kun je het onderstaande rapport gebruiken. Onder openstaande reserveringen vallen ook de boeken die voor de lener klaar staan om afgehaald te worden, de reservering is immers nog niet volledig afgehandeld tot het moment van uitlenen.
SELECT
CONCAT(
'<a href=\"/cgi-bin/koha/circ/circulation.pl?borrowernumber=',
borrowernumber,
'\">',
surname,
', ',
firstname,
'</a>'
) AS Lener,
borrowers.cardnumber as Lenernummer, reserves.reservedate AS 'Datum reservering', biblio.title as Titel, IF(itemnumber IS NULL, 'Eerst beschikbare',barcode) AS 'Specifiek Exemplaar'
FROM reserves
LEFT JOIN borrowers USING (borrowernumber)
LEFT JOIN biblio USING (biblionumber)
LEFT JOIN biblioitems USING (biblionumber)
LEFT JOIN items USING (itemnumber)
WHERE reserves.branchcode=<<Bibliotheek|branches>>
ORDER BY reserves.reservedate desc
Er is een rapport waarmee de uitleencijfers per maand kunnen worden uitgelezen. Per maand worden de cijfers verzameld van uitleningen, verlengingen en het aantal ingeleverde boeken (issue, renew, return).
SELECT DISTINCT
CONCAT('<strong>',s.type,'</strong>') AS ' ',
CONCAT('<em>',b.branchname,'</em>') AS 'Bibliotheek',
SUM(IF(MONTHNAME(s.datetime) = 'January', 1, 0)) AS 'Januari',
SUM(IF(MONTHNAME(s.datetime) = 'February', 1, 0)) AS 'Februari',
SUM(IF(MONTHNAME(s.datetime) = 'March', 1, 0)) AS 'Maart',
SUM(IF(MONTHNAME(s.datetime) = 'April', 1, 0)) AS 'April',
SUM(IF(MONTHNAME(s.datetime) = 'May', 1, 0)) AS 'Mei',
SUM(IF(MONTHNAME(s.datetime) = 'June', 1, 0)) AS 'Juni',
SUM(IF(MONTHNAME(s.datetime) = 'July', 1, 0)) AS 'Juli',
SUM(IF(MONTHNAME(s.datetime) = 'August', 1, 0)) AS 'Augustus',
SUM(IF(MONTHNAME(s.datetime) = 'September', 1, 0)) AS 'September',
SUM(IF(MONTHNAME(s.datetime) = 'October', 1, 0)) AS 'Oktober',
SUM(IF(MONTHNAME(s.datetime) = 'November', 1, 0)) AS 'November',
SUM(IF(MONTHNAME(s.datetime) = 'December', 1, 0)) AS 'December',
COUNT(*) AS 'Totaal',
CONCAT('<strong>',s.type,'</strong>') AS ' '
FROM statistics s, branches b
WHERE s.branch = b.branchcode
AND s.type IN ('renew', 'return', 'issue')
AND YEAR(s.datetime)=@CurrentYear:=<<Jaar>>
GROUP BY b.branchname, s.type
UNION
SELECT
NULL AS ' ',
NULL AS 'BRANCH',
NULL AS 'January',
NULL AS 'February',
NULL AS 'March',
NULL AS 'April',
NULL AS 'May',
NULL AS 'June',
NULL AS 'July',
NULL AS 'August',
NULL AS 'September',
NULL AS 'October',
NULL AS 'November',
NULL AS 'December',
NULL AS 'Totaal',
NULL AS ' '
UNION
SELECT DISTINCT
CONCAT('<strong>',c.type,'</strong>') AS ' ',
'<em>ALL BRANCHES</em>' AS 'BRANCH',
SUM(IF(MONTHNAME(c.datetime) = 'January', 1, 0)) AS 'Januari',
SUM(IF(MONTHNAME(c.datetime) = 'February', 1, 0)) AS 'Februari',
SUM(IF(MONTHNAME(c.datetime) = 'March', 1, 0)) AS 'Maart',
SUM(IF(MONTHNAME(c.datetime) = 'April', 1, 0)) AS 'April',
SUM(IF(MONTHNAME(c.datetime) = 'May', 1, 0)) AS 'Mei',
SUM(IF(MONTHNAME(c.datetime) = 'June', 1, 0)) AS 'Juni',
SUM(IF(MONTHNAME(c.datetime) = 'July', 1, 0)) AS 'Juli',
SUM(IF(MONTHNAME(c.datetime) = 'August', 1, 0)) AS 'Augustus',
SUM(IF(MONTHNAME(c.datetime) = 'September', 1, 0)) AS 'September',
SUM(IF(MONTHNAME(c.datetime) = 'October', 1, 0)) AS 'Oktober',
SUM(IF(MONTHNAME(c.datetime) = 'November', 1, 0)) AS 'November',
SUM(IF(MONTHNAME(c.datetime) = 'December', 1, 0)) AS 'December',
CONCAT('<strong>',COUNT(*),'</strong>') AS 'Totaal',
CONCAT('<strong>',c.type,'</strong>') AS ' '
FROM statistics c
WHERE c.type IN ('renew', 'return', 'issue')
AND YEAR(c.datetime) = @CurrentYear
GROUP BY c.type
Er zijn meerdere manieren om exemplaargegevens in batch te wijzigen.
Je kunt via Hulpmiddelen kiezen voor Meerdere exemplaren wijzigen.
Er wordt dan gevraagd om een bestand met barcodes of exemplaarnummers (itemnummers). Je kunt ook barcodes scannen of gewoon een lijst barcodes knippen en plakken.
Een andere manier werkt via het draaien van een rapport.
Met het onderstaande rapport kun je snel een selectie van exemplaren maken:
SELECT items.itemnumber,items.homebranch as Thuisbibliotheek,items.barcode as Barcode,biblio.title as Titel
FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
WHERE items.itype=<<Itemtype|itemtypes>> AND items.homebranch=<<Thuisbibliotheek|branches>> AND items.ccode=<<Collectiecode|ccode>>
ORDER BY items.itemnumber asc
Maak een keuze voor het itemtype in combinatie met de thuisbibliotheek en de collectiecode.
Het resultaat met boven aan het rapport de optie voor het in batch aanpassen of verwijderen van exemplaren. Rechts staat de optie om het aantal zichtbare records aan te passen.
Het rapport kan eenvoudig aangepast worden, als bijv. de thuisbibliotheek niet geselecteerd hoeft te worden of wanneer je alleen maar een lijst met itemnummers of barcodes wilt om deze verder te gebruiken bij het in batch aanpassen van exemplaargegevens.
Rapport zonder Thuisbibliotheek
SELECT items.itemnumber,items.barcode as Barcode,biblio.title as Titel
FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
WHERE items.itype=<<Itemtype|itemtypes>> AND items.ccode=<<Collectiecode|ccode>>
ORDER BY items.itemnumber asc
Of alleen de itemnummers
SELECT items.itemnumber
FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
WHERE items.itype=<<Itemtype|itemtypes>> AND items.ccode=<<Collectiecode|ccode>>
ORDER BY items.itemnumber asc
Nadat je de records/itemnummer/barcodes geselecteerd hebt en het wijzigen gaat starten, krijg je een overzicht te zien van de records/exemplaren die je gaat wijzigen, waarbij je nog records kunt deselecteren. Onderaan staan alle opties die voor de exemplaren zijn aan te passen, bijv. een collectiecode aanpassen of de mogelijkheid om een tekst toe te voegen.
Kies vervolgens voor Opslaan om de verwerking te starten.
Voor een overzicht van nieuwe records en/of items die zijn toegevoegd aan de collectie in een bepaalde periode kun je de volgende rapporten gebruiken:
Nieuwe records
SELECT biblio.biblionumber, CONCAT ('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.title,' </a>') as Titel,biblio.subtitle as Subtitel, biblio.author as Auteur, biblio.datecreated as 'Datum invoer'
FROM biblio
where date (datecreated) BETWEEN <<From date|date>> AND <<To date|date>>
ORDER BY biblio.datecreated desc
Nieuwe items/exemplaren
SELECT items.biblionumber, CONCAT ('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.title,' </a>') as Titel, biblio.subtitle as Subtitel, biblio.author as Auteur, biblio.datecreated as 'Datum invoer'
FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
where date (datecreated) BETWEEN <<From date|date>> AND <<To date|date>>
ORDER BY biblio.datecreated desc
Bij het saneren van titels kan het gebeuren dat wel de exemplaren worden verwijderd, maar niet het record zelf. Ook kan er bewust gekozen worden om records zonder exemplaren in te voeren, bijv. bij een beschrijving van een website of andere digitale online bron.
Deze records kunnen geselecteerd worden met het onderstaande SQL-rapport, waarbij op een willekeurig veld uit de MARC-beschrijving gezocht kan worden:
SELECT biblio.biblionumber, CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.biblionumber,'</a>') AS biblionumber_link, biblio.title as Titel, biblio.author as Auteur
FROM biblio_metadata
JOIN biblio USING (biblionumber)
LEFT JOIN items USING(biblionumber)
WHERE ExtractValue(metadata, "//datafield[@tag=<< Marc-veld (XXX)>>]/subfield[@code=<<Subveld(Y)>>]")
LIKE <<Zoekterm (gebruik % als wildcard)>>
AND items.biblionumber IS NULL
In dit geval wordt er gezocht op de waarde ‘DRS’ in veld 942$c, het subveld waarin het Koha Item Type is vermeld.
Met een kleine aanpassing in de eerste regel van het rapport is de link bij het biblionumber aan te passen en verwijst deze direct naar het scherm voor het invoeren van een exemplaar:
SELECT biblio.biblionumber,CONCAT('<a href=\"/cgi-bin/koha/cataloguing/additem.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.biblionumber,'</a>') AS 'Link voor Item toevoegen', biblio.title, biblio.author
FROM biblio_metadata
JOIN biblio USING (biblionumber)
LEFT JOIN items USING(biblionumber)
WHERE ExtractValue(metadata, "//datafield[@tag=<< Marc-veld (XXX)>>]/subfield[@code=<<Subveld(Y)>>]")
LIKE <<Zoekterm (gebruik % als wildcard)>>
AND items.biblionumber IS NULL
Tip!
Je kunt hetzelfde rapport gebruiken om juist die records zonder exemplaar te selecteren waar je geen nog waarde hebt toegevoegd aan subveld 2 van veld 856. Daarmee kun je zien welke records nog verwerkt moeten worden. Vul in dat geval niks in bij de zoekterm
En omgekeerd kun je ook zoeken naar de records waar je al wel een waarde hebt toegevoegd.
Met een eenvoudig rapport kun je zien op welke titels uit de collectie meerdere reserveringen zijn geplaatst. Het kan een aanleiding zijn om een extra exemplaar aan te schaffen.
SELECT biblio.biblionumber AS Biblionummer, CONCAT ('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.title,' </a>') as Titel, author AS Auteur, count(h.reservedate) AS 'Aantal reserveringen'
FROM biblio
LEFT JOIN biblio_metadata m USING (biblionumber)
LEFT JOIN reserves h ON (biblio.biblionumber=h.biblionumber)
GROUP BY biblio.biblionumber
HAVING count(h.reservedate) >= <<Minimaal aantal reserveringen>>
Met dit rapport genereer je een overzicht van het gebruik van je online bronnen in de catalogus in een periode naar keuze.
Vergeet niet om bij de systeeminstellingen Trackclicks te activeren:
SELECT
count(linktracker.timeclicked) AS Aantal,
CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.title,' </a>') AS Titel,
CONCAT('<a href=\"',url,'\">',url,'</a>') AS url,
CONCAT(biblio.biblionumber) AS ID
FROM
linktracker
JOIN biblio_metadata ON biblio_metadata.biblionumber = linktracker.biblionumber
JOIN biblio ON biblio.biblionumber = linktracker.biblionumber
WHERE
timeclicked > DATE_SUB(now(), INTERVAL 1 YEAR)
AND date(timeclicked) BETWEEN <<Tussen (dd/mm/jjjj)|date>> AND <<en (dd/mm/jjjj)|date>>
GROUP BY url
ORDER BY
Aantal desc, url asc
Voor een totaal overzicht van het aantal kliks, kun je het onderstaande rapport gebruiken:
SELECT SUM(Aantal) AS Totaal
FROM (
SELECT
count(linktracker.timeclicked) AS Aantal,
CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblio.biblionumber,'\" target=new>',biblio.title,' </a>') AS Titel,
CONCAT('<a href=\"',url,'\">',url,'</a>') AS url
FROM
linktracker
JOIN biblio_metadata ON biblio_metadata.biblionumber = linktracker.biblionumber
JOIN biblio ON biblio.biblionumber = linktracker.biblionumber
WHERE
timeclicked > DATE_SUB(now(), INTERVAL 1 YEAR)
AND date(timeclicked) BETWEEN <<Tussen (dd/mm/jjjj)|date>> AND <<en (dd/mm/jjjj)|date>>
GROUP BY url
ORDER BY
Aantal desc, url asc
) s
Een handig rapport om snel te zoeken op een deel van een URL (wildcard niet nodig) in het exemplaarblok. Biblionumber en itemnumber zijn in extra kolom opgenomen en na het uitvoeren van het rapport heb je de optie om meteen exemplaren in batch te bewerken.
SELECT biblio.title AS Titel, itemcallnumber AS Plaatsnummer, CONCAT('<a href=\"/cgi-bin/koha/catalogue/detail.pl?biblionumber=',biblionumber,'\">',biblionumber,'</a>') AS Link_Record, uri AS URL, biblionumber, itemnumber
FROM items
INNER JOIN biblio using (biblionumber)
WHERE homebranch = <<Locatie|branches>> AND uri LIKE CONCAT ('%', <<Zoekterm>>,'%')
ORDER by biblionumber ASC