Statistikk i Mikromarc 2 - Egendefinerte
Fra Mikromarc Wiki
Hopp til navigeringHopp til søk
Her finner du en del script som kan legges inn for å hente ut en statistikk for blant annet å markedsføre biblioteket. Disse scriptene kan kun kjøres fra Utlånsstatistikk.
Utlån (inkl. fornyelser) på topp - Titler (> 50 lån)
SELECT Title AS "Tittel", Author AS "Forfatter",
Doctype AS "Materialbetegnelse", count(*) AS "Utlån"
FROM marchist
WHERE Service_Code in (8,9)
:AddFilter
GROUP BY "Tittel", "Forfatter", "Materialbetegnelse"
HAVING "Utlån" > 50
ORDER BY "Utlån" DESC
/*
Denne rapporten gir en liste over de titlene som er mest utlånt (inkludert fornyet) i tidsperioden.
Titlene grupperes på tittel, forfatter og materialtype, slik at forskjellige utgivelser av samme verk vil summeres.
Kun de med mer enn 50 lån blir vist. Dette kan endres i linjen HAVING "Utlån" > 50
Linjen WHERE Service_Code in (8,9) kan erstattes med WHERE Service_Code = 8 for å kun telle utlån
Utvalg går på viewet MarcHist, som er et utdrag av en kombinasjon av Service_History og Marc_Record.
Datoene er for utlånstid, enhetene er hvor utlåner/fornyelsen skjedde
*/
Utlån (inkl. fornyelser) på topp - Forfatter (> 50 lån)
SELECT Author AS "Forfatter", count(*) AS "Utlån"
FROM marchist
WHERE Service_Code in (8,9)
:AddFilter
GROUP BY "Forfatter"
HAVING "Utlån" > 50
ORDER BY "Utlån" DESC
/*
Denne rapporten gir en liste over de forfatterne som er mest utlånt (inkludert fornyet) i tidsperioden.
Kun de med mer enn 50 lån blir vist. Dette kan endres i linjen HAVING "Utlån" > 50
Linjen WHERE Service_Code in (8,9) kan erstattes med WHERE Service_Code = 8 for å kun telle utlån
Utvalg går på viewet MarcHist, som er et utdrag av en kombinasjon av Service_History og Marc_Record.
Datoene er for utlånstid, enhetene er hvor utlåner/fornyelsen skjedde
*/
Hyllevarmere - Titler uten utlån i perioden
SELECT pm_value11 as "Hylle", Pm_Value2 AS "Forfatter",
Pm_Value1 AS "Tittel", Pm_Value4 AS Utgitt
FROM Marc_Record
WHERE Marc_Record.isscrapped = 0
and Marc_Record.Marc_id NOT IN (SELECT Marc_id FROM
Service_History WHERE Service_Time >= ':AddFilterFromDate'
AND Service_Time <= ':AddFilterToDate' and service_code in (8,9))
:AddFilterUnit :AddFilter
ORDER BY "Hylle", "Tittel", "Forfatter" , "Utgitt"
/*
Denne rapporten gir en oversikt over titler som ikke har hatt noen eksemplar på utlån i perioden.
Slettede (slettemerkede) poster vises ikke.
Ved å sette perioden frem i tid vil alle poster komme med på rapporten hvis det er ønskelig
Datofilteret går mot utlånsdato, øvrige filtere går mot eksemplar og post.
*/
Hyllevarmere - Eksemplar uten utlån i perioden
SELECT (select pm_value1 from marc_record where marc_id = c.marc_id) AS Tittel
-- Merk at den Tittel hentes som sub-select kun for å få brukt marc_record i første select. Det er for at :AddFilter skal slå inn på denne og ikke på første egentlige (sub-)select som er mot service_history lenger ned.
, Pm_Value2 AS Forfatter, Pm_Value4 AS Utgitt,
getshelfmark(C.ex_id) as Hylle,
C.bar_code AS Strekkode,
C.Reg_date as "Reg dato",
(SELECT Description FROM Copy_status WHERE Code = C.Status_code) AS Status,
(select date(max(service_time)) from service_history where service_code = 8 and service_history.ex_id = c.ex_id) as "Sist utlånt",
(select count(1) from service_history where service_code in (8) and service_history.ex_id = c.ex_id) as "Antall utlån"
FROM Marc_Record KEY JOIN Copy C
WHERE Marc_record.IsScrapped = 0
AND Marc_record.Reg_Date < GetDate() - 365
AND C.Permit_Loan = 1
AND C.Is_scrapped = 0
AND C.status_code <> 2
AND NOT EXISTS (SELECT 1 FROM Service_History WHERE service_code = 8 and Service_Time > ':AddFilterFromDate' AND Service_Time <= ':AddFilterToDate' AND ex_id = c.ex_id)
:AddFilterUnit :AddFilter
Order by Hylle, Forfatter, Tittel, marc_record.marc_id, "Antall utlån"
/*
Denne rapporten gir en oversikt over eksemplar som ikke har vært utlånt i perioden.
Eksemplar på slettede (slettemerkede) poster og kasserte eksemplar vises ikke.
Eksemplar på poster registrert siste 365 dager vises ikke, heller ikke eksemplar under innkjøpskontroll
Ved å sette perioden på utvalg frem i tid vil alle eksemplar unntatt slettede og nyregistrerte komme med på rapporten hvis det er ønskelig.
Datofilteret går mot utlånsdato, øvrige filtere går mot eksemplar og post.
*/
Lånere - Antall nye lånere i perioden fordelt på lånergruppe
SELECT lg.grp_code as "Lånergruppe",
count(*) as Antall
FROM loaner key join loaner_group lg
WHERE reg_date >= ':AddFilterFromDate' and reg_date <= ':AddFilterToDate'
:AddFilter
group by "Lånergruppe"
order by "Lånergruppe"
/*
Merk at det ikke er mulig å velge ut kun enkelte lånergrupper, alle må vises.
Og statistikken kan kun kjøre når det ikke er noen kryss for lånergrupper, ellers blir det en feilmelding
Når ingen kryss er valgt, vil likevel alle gruppene telles med.
*/