Statistikk i Mikromarc 2 - Egendefinerte: Forskjell mellom sideversjoner
Fra Mikromarc Wiki
Hopp til navigeringHopp til søk
Ingen redigeringsforklaring |
Ingen redigeringsforklaring |
||
(13 mellomliggende versjoner av 2 brukere er ikke vist) | |||
Linje 1: | Linje 1: | ||
I modulen Mikromarc 2 Utlånsstatistikk ligger det mange ferdigdefinerte statistikker. Det er også mulig å legge inn nye statistikker i tillegg til å kopiere og endre de eksisterende statistikkene. | |||
Statistikkprogrammet har to forskjellige måter å definere statistikkene på. Den ene er via skjema, den andre er å legge inn SQL-skript. Begge definisjonsmåtene støtter avgrensnings-/filterfunksjonalitet fra og med versjon 2.7.0. | |||
Nedenfor er det lagt ut noen statistikker som er et tilleg til standardstatistikkene i MM2. Dette er SQL-statistikker. | |||
Gjør slik for å legge inn en av statistikkene nedenfor: | |||
# Start modulen '''Mikromarc 2 Utlånsstatistikk''' fra utlånsprogrammet eller programgruppen til Mikromarc 2 (Mikromarc-verktøy) | |||
# Trykk på knappen '''Statistikkdefinisjon''' i stolpemenyen til venstre for å åpne vinduet '''Statistikkdefinisjoner''' | |||
# Trykk på knappen '''Ny''', så åpnes et nytt vindu – '''Statistikkdefinisjon''' | |||
# Skriv inn navnet på statistikken i feltet '''Statistikknavn''' | |||
# Fyll evt. inn det du ønsker å gruppere statistikken på i feltet '''Type''' | |||
# Aktiver fanen '''Skriv inn SQL-kode''' | |||
# Trykk på '''Endre SQL-kode''', så åpnes vinduet '''SQL-definisjon''' | |||
# Kopier ønsket SQL-skript nedenfor, og lim det inn i vinduet '''Skriv inn SQL SELECT-setning'''. Alt som står innenfor firkanten med stiplet ramme skal kopieres | |||
# Trykk '''OK'''. Merk at det ikke går an å bruke knappen '''Åpne/utfør SQL-forespørsel...''' for SQL-skript som bruker filtre (:AddFilter etc) i vinduet | |||
# Trykk '''OK''' i de neste to bildene for å gå tilbake til startbildet | |||
# Statistikken skal nå kunne kjøres ved å gå på '''Velg statistikk''' og deretter trykke '''Beregn''' | |||
===Utlån (inkl. fornyelser) på topp - Titler (> 50 lån)=== | ===Utlån (inkl. fornyelser) på topp - Titler (> 50 lån)=== | ||
Linje 12: | Linje 35: | ||
HAVING "Utlån" > 50 | HAVING "Utlån" > 50 | ||
ORDER BY "Utlån" DESC | 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 | |||
*/ | |||
</pre></code> | </pre></code> | ||
===Utlån (inkl. fornyelser) på topp - Forfatter (> 50 lån)=== | ===Utlån (inkl. fornyelser) på topp - Forfatter (> 50 lån)=== | ||
Linje 23: | Linje 55: | ||
HAVING "Utlån" > 50 | HAVING "Utlån" > 50 | ||
ORDER BY "Utlån" DESC | 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 | |||
*/ | |||
</pre></code> | </pre></code> | ||
===Utlån (inkl. fornyelser) på annen enhet - Interne fjernlån=== | |||
<code><pre> | |||
//select 1 top 1 from service_history -- La denne utkommenterte linjen være for å velge AddFilter mot service_history | |||
select | |||
(Case | |||
when (select dept from unit where name = belong_to_unit_name) = 1 and (select isill from unit where name = belong_to_unit_name) = 0 Then (select name from unit where unit_id = (select parent_unit_id from unit where name = belong_to_unit_name)) | |||
else belong_to_unit_name | |||
end) as "Tilhører", | |||
(Case | |||
when (select dept from unit where name = service_at_unit_name) = 1 and (select isill from unit where name = service_at_unit_name) = 0 Then (select name from unit where unit_id = (select parent_unit_id from unit where name = service_at_unit_name)) | |||
else service_at_unit_name | |||
end) as "Utlånt på", | |||
(Case service_code | |||
when '8' then 'Utlån' | |||
when '9' then 'Fornyelse' | |||
else 'Feil?' | |||
end )as "Type", | |||
count(1) as "Antall" | |||
from service_history | |||
where | |||
service_code in (8,9) | |||
and "Tilhører" not like "Utlånt på" | |||
:AddFilter | |||
group by "Tilhører", "Utlånt på", "Type" | |||
order by "Tilhører", "Utlånt på", "Type" desc | |||
/* | |||
Denne statistikken gir en oversikt over antall eksemplar som er lånt ut på annen enhet enn der de er fast plassert. | |||
Avdelinger telles sammen med overordnet enhet. | |||
Det forutsettes at avdelinger kun er på nederste nivå i enhetshierarkiet. | |||
*/ | |||
</pre></code> | |||
===Hyllevarmere - Titler uten utlån i perioden=== | ===Hyllevarmere - Titler uten utlån i perioden=== | ||
Linje 36: | Linje 109: | ||
:AddFilterUnit :AddFilter | :AddFilterUnit :AddFilter | ||
ORDER BY "Hylle", "Tittel", "Forfatter" , "Utgitt" | 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. | |||
*/ | |||
</pre></code> | </pre></code> | ||
Linje 41: | Linje 120: | ||
===Hyllevarmere - Eksemplar uten utlån i perioden=== | ===Hyllevarmere - Eksemplar uten utlån i perioden=== | ||
<code><pre> | <code><pre> | ||
SELECT (select pm_value1 from marc_record | SELECT (select pm_value1 from marc_record where marc_id = c.marc_id) AS Tittel | ||
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, | , Pm_Value2 AS Forfatter, Pm_Value4 AS Utgitt, | ||
getshelfmark(C.ex_id) as Hylle, | getshelfmark(C.ex_id) as Hylle, | ||
C.bar_code AS Strekkode, | C.bar_code AS Strekkode, | ||
C.Reg_date as "Reg dato", | C.Reg_date as "Reg dato", | ||
(SELECT Description FROM Copy_status WHERE Code = C.Status_code) | (SELECT Description FROM Copy_status WHERE Code = C.Status_code) AS Status, | ||
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 date(max(service_time)) from service_history | (select count(1) from service_history where service_code in (8) and service_history.ex_id = c.ex_id) as "Antall utlån" | ||
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 | FROM Marc_Record KEY JOIN Copy C | ||
WHERE Marc_record.IsScrapped = 0 | WHERE Marc_record.IsScrapped = 0 | ||
Linje 63: | Linje 135: | ||
AND C.Is_scrapped = 0 | AND C.Is_scrapped = 0 | ||
AND C.status_code <> 2 | AND C.status_code <> 2 | ||
AND NOT EXISTS (SELECT 1 FROM Service_History | 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) | ||
WHERE service_code = 8 and Service_Time > ':AddFilterFromDate' | |||
AND Service_Time <= ':AddFilterToDate' AND ex_id = c.ex_id) | |||
:AddFilterUnit :AddFilter | :AddFilterUnit :AddFilter | ||
Order by Hylle, Forfatter, Tittel, marc_record.marc_id, "Antall utlån" | 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. | |||
*/ | |||
</pre></code> | </pre></code> | ||
===Lånere - Antall nye lånere i perioden=== | |||
===Lånere - Antall nye lånere i perioden fordelt på lånergruppe=== | |||
<code><pre> | <code><pre> | ||
SELECT | SELECT lg.grp_code as "Lånergruppe", | ||
lg.grp_code as "Lånergruppe", | |||
count(*) as Antall | count(*) as Antall | ||
FROM loaner key join loaner_group lg | FROM loaner key join loaner_group lg | ||
Linje 80: | Linje 157: | ||
group by "Lånergruppe" | group by "Lånergruppe" | ||
order by "Lånergruppe" | order by "Lånergruppe" | ||
/* | |||
Merk at det ikke er mulig å velge ut kun enkelte lånergrupper, alle må vises. | |||
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. | |||
*/ | |||
</pre></code> | </pre></code> | ||
[[Category:Mikromarc 2]] |
Siste sideversjon per 7. feb. 2011 kl. 14:58
I modulen Mikromarc 2 Utlånsstatistikk ligger det mange ferdigdefinerte statistikker. Det er også mulig å legge inn nye statistikker i tillegg til å kopiere og endre de eksisterende statistikkene.
Statistikkprogrammet har to forskjellige måter å definere statistikkene på. Den ene er via skjema, den andre er å legge inn SQL-skript. Begge definisjonsmåtene støtter avgrensnings-/filterfunksjonalitet fra og med versjon 2.7.0.
Nedenfor er det lagt ut noen statistikker som er et tilleg til standardstatistikkene i MM2. Dette er SQL-statistikker.
Gjør slik for å legge inn en av statistikkene nedenfor:
- Start modulen Mikromarc 2 Utlånsstatistikk fra utlånsprogrammet eller programgruppen til Mikromarc 2 (Mikromarc-verktøy)
- Trykk på knappen Statistikkdefinisjon i stolpemenyen til venstre for å åpne vinduet Statistikkdefinisjoner
- Trykk på knappen Ny, så åpnes et nytt vindu – Statistikkdefinisjon
- Skriv inn navnet på statistikken i feltet Statistikknavn
- Fyll evt. inn det du ønsker å gruppere statistikken på i feltet Type
- Aktiver fanen Skriv inn SQL-kode
- Trykk på Endre SQL-kode, så åpnes vinduet SQL-definisjon
- Kopier ønsket SQL-skript nedenfor, og lim det inn i vinduet Skriv inn SQL SELECT-setning. Alt som står innenfor firkanten med stiplet ramme skal kopieres
- Trykk OK. Merk at det ikke går an å bruke knappen Åpne/utfør SQL-forespørsel... for SQL-skript som bruker filtre (:AddFilter etc) i vinduet
- Trykk OK i de neste to bildene for å gå tilbake til startbildet
- Statistikken skal nå kunne kjøres ved å gå på Velg statistikk og deretter trykke Beregn
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
*/
Utlån (inkl. fornyelser) på annen enhet - Interne fjernlån
//select 1 top 1 from service_history -- La denne utkommenterte linjen være for å velge AddFilter mot service_history
select
(Case
when (select dept from unit where name = belong_to_unit_name) = 1 and (select isill from unit where name = belong_to_unit_name) = 0 Then (select name from unit where unit_id = (select parent_unit_id from unit where name = belong_to_unit_name))
else belong_to_unit_name
end) as "Tilhører",
(Case
when (select dept from unit where name = service_at_unit_name) = 1 and (select isill from unit where name = service_at_unit_name) = 0 Then (select name from unit where unit_id = (select parent_unit_id from unit where name = service_at_unit_name))
else service_at_unit_name
end) as "Utlånt på",
(Case service_code
when '8' then 'Utlån'
when '9' then 'Fornyelse'
else 'Feil?'
end )as "Type",
count(1) as "Antall"
from service_history
where
service_code in (8,9)
and "Tilhører" not like "Utlånt på"
:AddFilter
group by "Tilhører", "Utlånt på", "Type"
order by "Tilhører", "Utlånt på", "Type" desc
/*
Denne statistikken gir en oversikt over antall eksemplar som er lånt ut på annen enhet enn der de er fast plassert.
Avdelinger telles sammen med overordnet enhet.
Det forutsettes at avdelinger kun er på nederste nivå i enhetshierarkiet.
*/
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.
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.
*/