Als je lenerberichten wilt opschonen die in de loop der tijd zijn geplaatst bij individuele leners, gebruik dan onderstaand rapport.
SELECT messages.message_date AS Datum,
CONCAT('<a target="_blank" href=\"/cgi-bin/koha/circ/circulation.pl?borrowernumber=',borrowers.borrowernumber,'\">',borrowers.surname,', ',borrowers.firstname,'</a>') AS Naam,
messages.message AS Bericht,
CONCAT('<a target="_blank" href=\"/cgi-bin/koha/circ/del_message.pl?message_id=',messages.message_id,'&borrowernumber=',borrowers.borrowernumber,'\">Verwijder</a>') AS `Bericht verwijderen`
FROM borrowers, messages
WHERE borrowers.borrowernumber = messages.borrowernumber
AND messages.message LIKE CONCAT( '%', <<Zoek>>, '%')
AND messages.message_date BETWEEN <<Startdatum|date>> AND <<Einddatum|date>>
ORDER BY Datum
Om meer inzicht te krijgen in de collectie van een bibliotheek is het handig om een overzicht te hebben van alle exemplaren in de collectie. Met behulp van dit rapport kunnen je op plaatscode/signatuur, locatie én jaar van uitgave een selectie maken.
SELECT
biblio.biblionumber,
biblio.title AS Titel,
author AS Auteur,
biblioitems.publishercode AS Uitgever,
biblio.copyrightdate AS JvU,
items.itemcallnumber AS Plaatsnr,
items.barcode AS Barcode,
items.datelastborrowed AS Laatstgeleend
FROM
items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
WHERE
itemcallnumber BETWEEN <<Plaatsnr. van >> AND <<tot >> AND copyrightdate BETWEEN <<Jaar van uitgave van >> AND <<tot en met >> AND items.homebranch=<<Bibliotheek|branches>>
ORDER BY
itemcallnumber asc
Je kunt het overzicht aanpassen of aanvullen met aanvullende gegevens, bijv. de aanduiding van de thuislocatie en huidige locatie. Voeg dan bij SELECT de volgende code toe:
SELECT
biblio.biblionumber,
biblio.title AS Titel,
author AS Auteur,
biblioitems.publishercode AS Uitgever,
biblio.copyrightdate AS JvU,
items.itemcallnumber AS Plaatsnr,
items.barcode AS Barcode,
items.datelastborrowed AS Laatstgeleend,
items.homebranch AS 'Thuislocatie',
items.holdingbranch AS 'Huidige locatie'
Om lenergegevens in bulk (batch) aan te passen heb je pasnummers of lenernummers nodig. Een pasnummer is het nummer of de naam waarmee een gebruiker kan inloggen in het bibliotheeksysteem. Dat kan een studentnummer zijn of een (unieke) naam. Het lenernummer is hetzelfde als het ‘borrowernumber’, het recordnummer van de lener in Koha.
Onder Hulpmiddelen – Bulkaanpassing kun je beginnen met het aanpassen.
Klik op Doorgaan en je krijgt een overzicht gepresenteerd van de leners die je wilt wijzigen met onder het overzicht alle mogelijke opties zoals je die bij een normale lener te zien krijgt.
De handigste methode om leners in bulk te verwijderen is door de lener(s) eerst in een andere lenercategorie te zetten. Lenercategorieën kun je aanmaken onder Administratie – Leners en uitleen.
Maak daar een nieuwe categorie aan ‘Te verwijderen leners’
Kies voor te verwijderen leners in het bulkoverzicht voor de juiste categorie.
Als je vervolgens naar Hulpmiddelen – Bulkverwijdering en anonimisatie leners gaat, dan kun je daar simpel alle leners die je aan de categorie ‘Te verwijderen leners’ hebt toegevoegd, in één keer verwijderen.
Je krijgt nog een scherm met de te verwijderen leners, waar je eventueel nog leners kunt uitsluiten van verwijdering.
Teksten en opmerkingen die bij leners geplaatst kunnen worden, bijv. over een probleem met boetes, nota’s etc., worden niet automatisch verwijderd. Om een snelle selectie te maken van deze leners, kun je onderstaand rapport gebruiken.
SELECT
b.cardnumber as Lenernummer,
b.surname as Achternaam,
b.firstname as Voornaam,
b.opacnote as OPAC_tekst,
b.borrowernotes as Leneropmerking,
m.message_date as Datum,
group_concat(DISTINCT m.message separator ', ') AS Uitleenbericht
FROM
borrowers b
LEFT JOIN
messages m USING (borrowernumber)
WHERE
b.branchcode=<<Branch|branches>> AND ((b.opacnote IS NOT NULL AND b.opacnote != '') OR (b.borrowernotes IS NOT NULL AND b.borrowernotes != '') OR (m.message IS NOT NULL AND m.message != '')) GROUP BY b.borrowernumber
ORDER BY m.message_date DESC, b.surname ASC, b.firstname ASC
Met het onderstaande rapport kun je snel een overzicht krijgen van leners met een vervaldatum in een bepaalde periode.
SELECT
borrowernumber,
email AS "E-mail",
cardnumber AS "Lenernummer",
surname AS "Achternaam",
firstname AS "Voornaam",
dateexpiry AS "Vervaldatum",
CONCAT('<a href=\"/cgi-bin/koha/members/moremember.pl?borrowernumber=', borrowernumber, '\">Bekijk lenergegevens</a>' ) AS "Link lenergegevens"
FROM
borrowers
WHERE
(dateexpiry BETWEEN <<Verlopen tussen |date>> AND <<en|date>>) and (borrowers.categorycode=<<Type lener|categorycode>>)
Met een kleine aanpassing krijg je hetzelfde overzicht, maar dan alleen met de lenersnummers (‘cardnumber’), wat weer handig is voor verdere batchverwerking van leners.
SELECT
cardnumber AS "Lenernummer"
FROM
borrowers
WHERE
(dateexpiry BETWEEN <<Verlopen tussen |date>> AND <<en|date>>) and (borrowers.categorycode=<<Type lener|categorycode>>)
Vervang ‘cardnumber’ in de SQL door ‘email’ voor een overzicht van alleen e-mailadressen van de leners.
Met het onderstaande rapport krijg je snel een overzicht van het aantal actieve gebruikers van het bibliotheeksysteem in een bepaalde periode per categorie.
SELECT count(*) AS Aantal,categorycode as Lenertype
FROM borrowers
WHERE borrowernumber IN
(
SELECT borrowernumber
FROM statistics
WHERE DATE( datetime ) BETWEEN <<Actief tussen (YYYY-MM-dd)|date>> AND <<en|date>>
)
GROUP BY categorycode
Als je wilt weten hoeveel nieuwe leners aan Koha zijn toegevoegd in een bepaalde periode, kun je onderstaand rapport gebruiken.
SELECT cardnumber AS Lenernummer, concat(surname,', ',firstname) AS Naam , CONCAT ('<a href=\"/cgi-bin/koha/circ/circulation.pl?borrowernumber=',borrowernumber,'\" target=blank>',borrowernumber,'</a>') AS Koharecord, borrowers.dateenrolled AS Invoerdatum
FROM borrowers
WHERE dateenrolled BETWEEN <<Toegevoegd tussen (yyyy-mm-dd)|date>>
AND <<en (yyyy-mm-dd)|date>> AND branchcode=<<Locatie|branches>>
ORDER BY cardnumber DESC
Met een uitgeklede versie van dit rapport krijg je alleen een overzicht van de e-mailadressen van de lener. Die zou je vervolgens kunnen gebruiken om nieuwe leners te verwelkomen en tekst en uitleg te geven over de bibliotheek.
SELECT email
FROM borrowers
WHERE dateenrolled BETWEEN <<Toegevoegd tussen (yyyy-mm-dd)|date>>
AND <<en (yyyy-mm-dd)|date>> AND branchcode=<<Locatie|branches>>
ORDER BY email ASC
Met het onderstaande rapport krijg je een overzicht in een bepaalde periode van de gebruikte zoektermen die geen resultaat hebben opgeleverd. Dat kan helpen om ‘gaten’ in de collectie te dichten.
SELECT COUNT(*) AS Aantal,
RIGHT(
query_desc,
Length(query_desc) - Instr(query_desc, ':')
) AS 'Gezocht op', total
FROM search_history
WHERE Total= 0
AND time BETWEEN <<Tussen (yyyy-mm-dd)|date>> AND <<en (yyyy-mm-dd)|date>>
GROUP BY RIGHT(query_desc, Length(query_desc) - Instr(query_desc, ':'))
ORDER BY COUNT(*) DESC
Koha kent een aantal standaard thesauri en de mogelijkheid om zelf een thesaurus toe te voegen.
Onder Administratie – Thesaurustypes kun je zien welke thesauri in gebruik zijn, welke thesauruscode gebruikt wordt en ook welk veld wordt uitgelezen uit het bibliorecord. Ook de naamgeving kan hier worden aangepast.
Om alle termen uit een thesaurus op te vragen kun je altijd op de thesauruspagina de gewenste thesaurus selecteren en vervolgens op zoeken klikken. Je krijgt dan alle termen in een lijst, met daarbij aangegeven in hoeveel records de term wordt gebruikt. Je kunt daar termen samenvoegen, verwijderen of aanpassen.
Met een rapport kun je op een andere manier informatie uit je thesauri halen. Hier volgen enkele voorbeelden.
Een lijst met alle termen in de thesaurus persoonsnamen:
Rapport voor Persoonsnamen
SELECT authid,(ExtractValue(marcxml,'//datafield[\@tag=\"100\"]/*')) AS Term
FROM auth_header
WHERE authtypecode='PERSO_NAME'
ORDER BY term ASC
Rapport voor Trefwoorden
SELECT authid,(ExtractValue(marcxml,'//datafield[\@tag=\"150\"]/*')) AS Term
FROM auth_header
WHERE authtypecode='TOPIC_TERM'
ORDER BY term ASC
Met rapporten kun je ook lijsten maken van termen die niet in de thesaurus zijn opgenomen, maar die wel aan bibliorecords zijn toegevoegd, bijv. na een conversie. Aangezien elke thesaurustype andere velden in een bibliorecord gebruikt, is er ook per type een rapport.
Auteurs NIET in de thesaurus – velden 100, 110, 111, 130
SELECT DISTINCT biblionumber, Auteur FROM (
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="9"]')) = 0
) AS heads
ORDER BY Auteur
Trefwoorden NIET in de thesaurus – veld 650
SELECT biblionumber, ExtractValue(metadata,'//datafield[@tag="650"]/subfield[@code="a"]') AS Trefwoord
FROM biblio_metadata
WHERE length(ExtractValue(metadata, '//datafield[@tag="650"]/subfield[@code="a"]')) != 0
AND length(ExtractValue(metadata, '//datafield[@tag="650"]/subfield[@code="9"]')) = 0
ORDER BY Trefwoord
Lokaal toegevoegde trefwoorden (NIET in de thesaurus) – veld 690
SELECT biblionumber, ExtractValue(metadata,'//datafield[@tag="690"]/subfield[@code="a"]') AS heading
FROM biblio_metadata
WHERE length(ExtractValue(metadata, '//datafield[@tag="690"]/subfield[@code="a"]')) != 0
AND length(ExtractValue(metadata, '//datafield[@tag="690"]/subfield[@code="9"]')) = 0
ORDER BY heading
Deze rapporten kunnen eenvoudig worden aangepast door het juiste veld te kiezen bij @tag=”123″
Als je veel rapporten gebruikt in Koha, kan het op een gegeven moment wat onoverzichtelijk worden. Je kunt rapporten in groepen onderverdelen voor wat meer structuur. De groepen kun je aanmaken op het moment dat je een rapport gaat maken of bewerken.
Het kan zijn dat je deze groepen op een later moment wil verwijderen of van naam veranderen. Dat kan via Administratie – Geautoriseerde waarden.
Hier kun je de gegevens aanpassen en indien nodig verwijderen.