Rapporten

Overzicht materiaal met status LOST

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.

|

Een type bericht selecteren

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.

|

Overzicht leners met reserveringen

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
|

Uitleencijfers

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
|

Exemplaargegevens wijzigen

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.

|

Overzicht nieuwe records – nieuwe items

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
|

Records zonder exemplaren selecteren

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.

| |

Hoeveel reserveringen zijn er voor een titel?

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>>

Resultaat:

Titels met meer dan X reserveringen

Overzicht van titels met 2 of meer reserveringen.

Overzicht van aangeklikte links in een periode.

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

Zoeken in url van exemplaar

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

End of content

End of content