Pour préparer vos statistiques annuelles, certaines données doivent être extraites le 30 juin de chaque année.
En effet, le 13 septembre par exemple, il n’est pas possible de savoir dans Koha, combien il y avait des notices au 30 juin de la même année car des ajouts ou des suppressions ont été faites entre le 30 juin et le 13 septembre.
Il faut alors extraire des statistiques le 30 juin chaque année ou une autre journée proche de cette date.
Voici les requêtes SQL à exécuter sur vos instances pour avoir ces données.
Il faut vous rendre dans la section Bilans et statistiques puis cliquer sur Créer à partir de SQL
Dans la nouvelle page, inscrire un nom de rapport et dans le pavé SQL, copier-coller le code de la requête mise à disposition.
Cliquer ensuite sur Exécuter le rapport
Ce rapport vous donnera le nombre de notices par type de document inscrit dans la zone 942$c. Si ce champ n’est pas rempli il y aura une ligne blanche avec un total correspondant à ces notices sans type de document. Les types de documents sont les mêmes que ceux définis dans le module Administration > Type de documents. Ce rapport ne peut pas être tout à fait exact si la majorité des notices ne contiennent pas de 942$c.
Ce rapport vous sera utile surtout si vous avez beaucoup de notices qui n’ont pas d’exemplaires physiques.
SELECT count(biblioitems.biblionumber) as "Total au jour de l’exécution du rapport", biblioitems.itemtype as 'Code type de document' FROM biblioitems group by biblioitems.itemtype
Exemple de résultat
Cette requête comporte un filtre à l’exécution qui vous demandera de choisir un site
SELECT count(DISTINCT biblioitems.biblionumber) as "Total au jour de l’exécution du rapport", biblioitems.itemtype as 'Code type de document' FROM biblioitems left join items on items.biblionumber=biblioitems.biblionumber where items.homebranch = <<Site|branches>> group by biblioitems.itemtype limit 1000
Si le rapport précédent ne vous donne pas des résultats satisfaisant, dans le cas surtout si la 942$c n’est pas rempli, vous pouvez utiliser le code suivant qui va chercher l’information dans la zone 000
SELECT SUBSTR(metadata,INSTR(metadata, "<leader>")+8+6,2) as 'Code 000', CASE SUBSTR(metadata,INSTR(metadata, "<leader>")+8+6,2) WHEN 'am' THEN 'Livre' WHEN 'ab' THEN 'Partie composante publication série' WHEN 'ai' THEN 'Livre ressource intégrée' WHEN 'as' THEN 'Périodiques' WHEN 'aa' THEN 'Partie composante monographie' WHEN 'cm' THEN 'Musique notée' WHEN 'dm' THEN 'Musique manuscrite' WHEN 'em' THEN 'Carte' WHEN 'es' THEN 'Carte périodique' WHEN 'fm' THEN 'Carte manuscrite' WHEN 'gm' THEN 'Média projeté' WHEN 'gi' THEN 'Média projeté ressource intégrée' WHEN 'ga' THEN 'Média projeté partie composante monographie' WHEN 'im' THEN 'Enregistrement non-musical' WHEN 'ia' THEN 'Enregistrement non-musical partie composante' WHEN 'ja' THEN 'Enregistrement musical partie composante' WHEN 'jm' THEN 'Enregistrement musical' WHEN 'ji' THEN 'Enregistrement musical ressource intégrée' WHEN 'mm' THEN 'Fichier informatique' WHEN 'ma' THEN 'Fichier informatique partie composante monographie' WHEN 'mi' THEN 'Fichier informatique ressource intégrée' WHEN 'ms' THEN 'Fichier informatique périodiques' WHEN 'oa' THEN 'Ensemble multisupport partie composante monographie' WHEN 'rm' THEN 'Artefact 3D' WHEN 'ri' THEN 'Artefact 3D Ressource intégrée' WHEN 'om' THEN 'Ensemble multisupport' WHEN 'tm' THEN 'Manuscrit' WHEN 'km' THEN 'Image 2D' WHEN 'pm' THEN 'Document de genre multiple' ELSE 'Type inconnu' END AS Type, count(DISTINCT biblionumber) AS 'Nombre de notices' FROM biblio_metadata group by type limit 1000
Exemple de résultat
Cette requête comporte un filtre à l’exécution qui vous demandera de choisir un site
SELECT SUBSTR(metadata,INSTR(metadata, "<leader>")+8+6,2) as 'Code 000', CASE SUBSTR(metadata,INSTR(metadata, "<leader>")+8+6,2) WHEN 'am' THEN 'Livre' WHEN 'ab' THEN 'Partie composante publication série' WHEN 'ai' THEN 'Livre ressource intégrée' WHEN 'as' THEN 'Périodiques' WHEN 'aa' THEN 'Partie composante monographie' WHEN 'cm' THEN 'Musique notée' WHEN 'dm' THEN 'Musique manuscrite' WHEN 'em' THEN 'Carte' WHEN 'es' THEN 'Carte périodique' WHEN 'fm' THEN 'Carte manuscrite' WHEN 'gm' THEN 'Média projeté' WHEN 'gi' THEN 'Média projeté ressource intégrée' WHEN 'ga' THEN 'Média projeté partie composante monographie' WHEN 'im' THEN 'Enregistrement non-musical' WHEN 'ia' THEN 'Enregistrement non-musical partie composante' WHEN 'ja' THEN 'Enregistrement musical partie composante' WHEN 'jm' THEN 'Enregistrement musical' WHEN 'ji' THEN 'Enregistrement musical ressource intégrée' WHEN 'mm' THEN 'Fichier informatique' WHEN 'ma' THEN 'Fichier informatique partie composante monographie' WHEN 'mi' THEN 'Fichier informatique ressource integrée' WHEN 'ms' THEN 'Fichier informatique périodiques' WHEN 'oa' THEN 'Ensemble multisupport partie composante monographie' WHEN 'rm' THEN 'Artefact 3D' WHEN 'ri' THEN 'Artefact 3D Ressource intégrée' WHEN 'om' THEN 'Ensemble multisupport' WHEN 'tm' THEN 'Manuscrit' WHEN 'km' THEN 'Image 2D' WHEN 'pm' THEN 'Document de genre multiple' ELSE 'Type inconnu' END AS Type, count(DISTINCT biblio_metadata.biblionumber) AS 'Nombre de notices' FROM biblio_metadata left join items on items.biblionumber=biblio_metadata.biblionumber where items.homebranch = <<Site|branches>> group by type limit 1000
Vous pouvez également vous baser sur le type de document dans l’exemplaire, cependant, le nombre total de notices pourra différer avec ce rapport car si vous avez deux types de document dans la même notice, la notice sera compté deux fois.
SELECT count(distinct biblio.biblionumber) as "nombre total de notices", items.itype as 'Type de document' FROM biblio left join items using (biblionumber) group by items.itypelimit 100
Exemple de résultat
SELECT count(distinct biblio.biblionumber) as "nombre total de notices", items.itype as 'Type de document' FROM biblio left join items using (biblionumber) where items.homebranch = <<Site|branches>> group by items.itypelimit 100
select count(*) as Total,itype from items group by itypelimit 100
Exemple de résultat
select count(*) as Total,itype from items where items.homebranch = <<Site|branches>> group by itypelimit 100