Reports

Reports in Koha are a way to gather data. Reports are used to generate statistics, member lists, shelving lists, or any list of data in your database.

  • Get there: More > Reports

Custom reports

Koha’s data is stored in a MySQL database which means that librarians can generate nearly any report they would like by either using the guided reports wizard or writing their own SQL query.

Add custom report

Guided report wizard

Der Geführte Reports-Assistent führt Sie in sechs Schritten durch die Generierung eines Reports.

Step 1: Choose the module you want to report on. This will determine what tables and fields are available for you to query.

‚Report is public‘ should be left to the default of ‚No‘ in most cases especially if the report contains patron or other sensitive information. A public report can be accessed using the JSON reports services by anyone and without authentication.

First step of creating a guided report - choosing which module to work on and whether report is public or not

Hinweis

If your system administrator has set up memcache on your server you might see one more option for the Cache expiry. This is related to your public reports. If you make the report public then it’s constantly running and will cause a large load on your system. Setting this value prevents that.

Creating a guided report - define the cache expiry time

Step 2: Choose a report type. For now, Tabular is the only option available.

Second step of creating a guided report - choosing type

Step 3: Choose the fields you want in your report. You can select multiple fields and add them all at once by using CTRL+click on each item you want to add before clicking the Add button.

Third step of creating a guided report - select columns for display

Step 4: Choose any limits you might want to apply to your report (such as item types or branches). If you don’t want to apply any limits, simply click ‚Next‘ instead of choosing an option.

Fourth step of creating a guided report - select criteria to limit on

Step 5: Perform math functions. If you don’t want to do any calculations, simply click ‚Next‘ instead of choosing an option.

Fifth step of creating a guided report - pick column to total

Step 6: Choose data order. If you want the data to print out in the order it’s found in the database, simply click ‚Finish‘.

Sixth step of creating a guided report - Choose how you want the report ordered

When you are finished you will be presented with the SQL generated by the report wizard. From here you can choose to save the report by clicking ‚Finish‘ or copy the SQL and make edits to it by hand.

Confirm custom report

Wenn Sie entscheiden den Report zu speichern, werden Sie aufgefordert einen Namen für den Bericht einzugeben sowie die Gruppe und Untergruppe zu wählen, in denen der Report einsortiert werden soll.

Save custom report

Once your report is saved it will appear on the ‚Use saved‘ page with all other saved reports.

List of saved reports, "All" tab is selected

Hinweis

  • You can customize the columns of this table in the ‚Table settings‘ section of the Administration module (table id: table_reports).

Von hier aus können Sie den Report bearbeiten, ausführen oder eine Zeit festlegen, an dem er automatisch ausgeführt wird. Um den Report zu finden, den Sie angelegt haben, können Sie die verschiedenen Spalten durch Anklicken der Spaltenüberschrift sortieren (über das Erstellungsdatum finden Sie neu angelegte Reports am schnellsten). Sie können die Liste der Reports auch über die Filter auf der linken Seite einschränken oder über Reiter zwischen verschiedenen benutzerdefinierten Gruppen auswählen.

SQL-Report

In addition to the report wizard, you have the option to write your own queries using SQL. To find reports written by other Koha users, visit the Koha wiki: http://wiki.koha-community.org/wiki/SQL_Reports_Library. You can also find your database structure in /installer/data/mysql/kohastructure.sql or online at: http://schema.koha-community.org.

To add your query, click the link to ‚Create from SQL‘ on the main reports module

Reports main page

or the ‚New report‘ button at the top of the ‚Saved reports‘ page.

New report button is pressed and the options are New guided report and New SQL report

Füllen Sie das angezeigte Formular aus

New report from SQL form

  • Report name: the name is what will appear on the ‚Saved reports‘ page to help you identify the report later. It will also be searchable using the filters found on the left of the ‚Saved reports‘ page.

  • Report group: you can use the ‚Report group‘ to organize your reports in tabs on the ‚Saved reports‘ page. You can choose from the list of existing groups, or create one on the fly by choosing the ‚or create‘ radio button.

    New report from SQL form, the group drop-down menu is open

    Report groups are set in the REPORT_GROUP authorized value category.

    Warnung

    If you’re adding a report group on the fly, the code should not include special characters or spaces.

  • Report subgroup: if you chose a report group, this field will appear to further organize your reports. Choose a subgroup from the list, or create one on the fly by choosing the ‚or create‘ radio button.

    Report subgroups are set in the REPORT_SUBGROUP authorized value category.

    Bemerkung

    Report subgroups need to have unique values in ‚Authorized value‘ and ‚Description‘. The ‚Description (OPAC)‘ field needs to contain the authorized value for the report group that the subgroup falls under.

    Warnung

    If you’re adding a report subgroup on the fly, the code should not include special characters or spaces.

  • Report is public: this should be left to the default of ‚No‘ in most cases, especially if the report contains patron or other sensitive information. A public report can be accessed using the JSON reports services by anyone and without authentication.

  • Cache expiry: this field will only appear if your system administrator has set up memcache on your server. This is related to public reports. If you make the report public, it’s constantly running and will cause a large load on your system. Setting this value prevents that.

  • Notes: notes will appear on the ‚Saved reports‘ page, and can be used to provide more details about the report or tips on how to enter values when it runs.

  • SQL: type or paste the SQL for the report (see report writing tips below).

Once everything is entered click the ‚Save report‘ button and you’ll be presented with options to run it. From here, you can also edit it, duplicate it, or schedule it to be run later.

Once a report is saved, you do not have to recreate it, it will appear on the ‚Saved reports‘ page with all other saved reports.

List of saved reports, "All" tab is selected

Bemerkung

You can customize the columns of this table in the ‚Table settings‘ section of the Administration module (table id: table_reports).

From the ‚Saved reports‘ page, you can make edits, run the report, or schedule a time to run the report later. To find the report you created, you can sort by any of the columns by clicking on the column header (creation date is the best to find the report you just added). You can also filter your results using the filter menu on the left or use the tabs to find reports based on your custom groups.

Report writing tips

Autocomplete

When you start typing in the SQL field, autocomplete options will be displayed.

SQL field when creating a report from SQL, in the box, SEL is typed and a suggestion for SELECT is displayed

Use the arrows on your keyboard to choose the correct option and press ‚Enter‘ or ‚Tab‘ to insert it into your report, or simply click on the option to insert it.

Autocomplete options include:

  • SQL keywords such as SELECT, FROM, WHERE, etc.

  • table names

  • column names

    Bemerkung

    To have suggestions for column names, you must type the table name first, followed by a period, then start typing the column name.

    For example, to have the suggestion for cardnumber, you must type borrowers.ca.

    SQL field when creating a report from SQL, in the box, SELECT borrowers.ca is typed and suggestions for borrowers.cardnumber and borrowers.categorycode are displayed

Runtime parameters

If you feel that your report might be too resource intensive you might want to consider using runtime parameters to your query. Runtime parameters basically make a filter appear before the report is run to save your system resources.

Click the button ‚Insert runtime parameter‘ and choose which parameter to add.

The Insert runtime parameter button is pressed and the different options are shown

  • Authorized value: will display a drop down menu of the value descriptions from the chosen authorized value category. The authorized value code will be inserted in the report when it is run.

  • Bibliographic framework: will display a drop down menu of MARC bibliographic frameworks. The framework code will be inserted in the report when it is run.

  • Classification sources: will display a drop down menu of classification sources. The classification code will be inserted in the report when it is run.

  • Date: will display a calendar to pick a date. The date in YYYY-MM-DD format will be inserted in the report when it is run.

  • Item types: will display a drop down menu of item types. The item type code will be inserted in the report when it is run.

  • Libraries: will display a drop down menu of libraries. The library code (branchcode) will be inserted in the report when it is run.

  • List: will display a large text box in which the user can enter many values, one per line. Those values will be inserted in the report, separated by commas, when it is run.

    Warnung

    In the case of the list parameter, users must write one value per line.

  • Patron categories: will display a drop down menu of patron categories. The category code will be inserted in the report when it is run.

  • Cash registers: will display a drop down menu of cash registers. The cash register’s internal id will be inserted in the report when it is run.

  • Debit types: will display a drop down menu of debit types. The debit type code will be inserted in the report when it is run.

  • Credit types: will display a drop down menu of credit types. The credit type code will be inserted in the report when it is run.

  • Text field: will display an empty text field in which the user can enter any text.

    Bemerkung

    You have to put „%“ in a text box to ‚leave it blank‘. Otherwise, it literally looks for „“ (empty string) as the value for the field.

    For example entering nothing for: „title=<<Enter title>>“ will display results with title=‘‘ (no title).

    If you want to have to have something not mandatory, use „title like <<Enter title>>“ and enter a % at run time instead of nothing.

After you choose the type of runtime parameter, it will ask you for the parameter label. This is what the user will see as the label for the choice they have to make or text they have to enter.

The syntax inserted into the report is <<Label|authorized_value>>.

  • The << and >> are just delimiters to indicate the start and end of the runtime parameter.

  • The label will be displayed on the left of the choice or value to enter.

  • The authorized_value can be omitted if not applicable. If it is absent, a free text field will be displayed. If it contains an authorized code (see table below), a drop down of the values will be displayed.

Bemerkung

You can write those in manually as well, you don’t have to go through the ‚Insert runtime parameter‘ button. As long as the syntax is correct, Koha will interpret it as a runtime parameter.

List of parameters that can be used in runtime parameters

Parameter

What the user sees

What gets inserted in query

date

date picker

validly formatted date

branches

drop down of branch names

branch code

itemtypes

drop down of item type names

item type

categorycode

drop down of patron category descriptions

borrower category code

biblio_framework

drop down of MARC bibliographic frameworks

framework code

list

large text box

comma separated values

(auth-value-category)

drop down of auth-value descriptions in category

authorized value

(nothing)

text box

entered text

Bemerkung

You can have more than one runtime parameter in a given SQL query.

Example 1

SELECT surname,
       firstname
FROM borrowers
WHERE branchcode = <<Enter patrons library|branches>>
    AND surname LIKE <<Enter filter for patron surname (% if none)>>

When running the report, the user is asked to choose a library from a drop-down menu and enter a surname in an input text field

Example 2

SELECT *
FROM items
WHERE homebranch = <<Pick your branch|branches>>
    AND barcode LIKE <<Partial barcode value here>>

When running the report, the user is asked to choose a library from a drop-down menu and enter a barcode in an input text field

Example 3

SELECT title,
       author
FROM biblio
WHERE frameworkcode = <<Enter the frameworkcode|biblio_framework>>

When running the report, the user is asked to choose a bibliographic framework from a drop-down menu

Example 4

SELECT cardnumber,
       surname,
       firstname
FROM borrowers
WHERE dateexpiry <= <<Expiry date|date>>

When running the report, the user is asked to pick a date in the calendar (date picker)

Example 5

SELECT *
FROM items
WHERE itemnumber IN <<List of itemnumbers (one per line)|list>>

When running the report, the user is asked to enter a list of values

Warnung

In the case of the list parameter, users must write one value per line.

SQL report from Mana

In the „Create report from SQL“, you can search Mana KB for pre-made reports by clicking on „New report“ and choosing „New SQL from Mana“.

image1428

Hinweis

This option will only appear if you’ve configured Mana KB in the administration module.

You will be prompted to enter keywords to search the knowledge base.

image1429

In the search results, you will see

  • the details of the report (name, notes and type)

  • how many people have used this entry (# of users)

  • when it was used for the last time (last import)

  • additional comments made by other Koha users (comments)

image1430

Click on „Import“ to import a copy of the report in your own saved reports.

You can then edit it, duplicate it, delete it, run it as you would any of your own reports.

Duplicate report

Reports can also be added by duplicating an existing report. Visit the ‚Saved reports‘ page to see all of the reports listed on your system already.

image895

Auf der rechten Seite jeden Reports finden Sie ein Menü ‚Aktionen‘. Klicken Sie auf dieses und wählen Sie ‚Duplizieren‘ um einen existierenden Report als Ausgangspunkt für einen neuen Report zu nutzen. Sie können dann das SQL entsprechend anpassen und abspeichern.

Edit custom reports

Every report can be edited from the reports lists. To see the list of reports already stored in Koha, click ‚Use saved.‘

List of saved reports, "All" tab is selected

Hinweis

  • You can customize the columns of this table in the ‚Table settings‘ section of the Administration module (table id: table_reports).

Um den Report zu finden können Sie die Tabelle über einen Klick auf die Spaltenüberschriften sortieren. Sie können die Liste der angezeigten Reports auch über die Filter auf der linken Seite einschränken oder über die Reiter zwischen verschiedenen benutzerdefinierten Gruppen wechseln.

Aus dieser Liste heraus können Sie Ihren benutzerdefinierten Report bearbeiten, indem Sie auf ‚Aktionen‘ rechts neben dem Report klicken und ‚Bearbeiten‘ aus dem Menü auswählen.

"Edit" option of the report action button

The form to edit the report will appear. Use the „update button“ to save your modifications or click on „update and run SQL“ to save and display the report results.

The edit report form with the 'update' button and 'save and run sql' button

Running custom reports

Wenn ein benutzerdefinierter Report in Koha gespeichert wurde, können Sie diesen unter ‚Gespeicherte Reports‘ finden und über den Eintrag ‚Ausführen‘ im Menü ‚Aktionen‘ starten.

image899

When you report runs you will either be asked for some values

image900

or you will see the results right away

image901

Von der Ergebnisseite aus können Sie über die Schaltflächen am Seitenanfang den Report erneut ausführen, ihn bearbeiten oder einen neuen Report anlegen. Sie können das Ergebnis der Abfrage auch herunterladen indem Sie einen Dateityp wählen und dann ‚Download‘ anklicken.

Hinweis

A comma separated text file is a CSV file and it can be opened by any spreadsheet application.

Send report output to batch modification tools

After running a report that contains itemnumbers, biblionumbers and/or patron cardnumbers the list of numbers can be imported directly into the relevant batch modification tool by clicking the ‚Batch operations with X visible records‘ button in the report results. The X depends on the number of records you have chosen to display on screen (up to 1000).

image1343

Statistics reports

Statistic reports will show you counts and sums. These reports are all about numbers and statistics, for reports that return more detailed data, use the guided report wizard. These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Acquisitions statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Using the form provided, choose which value you would like to appear in the column and which will appear in the row.

Using the form provided, choose which value you would like to appear in the column and which will appear in the row.

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image903

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Wenn Sie einen Report erstellen, können Sie zwischen der Anzahl und der Summe von Werten wählen.

image904

Wenn Sie Summe wählen, werden in der Trefferliste die Summen der gezahlten Gebühren angezeigt.

image905

Patron statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Using the form provided, choose which value you would like to appear in the column and which will appear in the row.

View of patron form for patron statistics

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image907

Ausgehend von Ihrer Auswahl werden Ihnen Informationen über der Ergebnistabelle angezeigt. Sie können sich auch entscheiden, die Datei zu exportieren und in einem anderen Programm weiter zu bearbeiten.

Catalog statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Using the form provided, choose which value you would like to appear in the column and which will appear in the row.

image908

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image909

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Circulation statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Using the form provided, choose which value you would like to appear in the column and which will appear in the row.

Circulation statistics reporting wizard, with options to select the report parameters

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image911

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Hinweis

To get a complete picture of your monthly or daily circulation, you can run the report twice, once for ‚Type‘ of ‚Checkout‘ and again for ‚Renewal.‘

This report uses ‚Period,‘ or date, filtering that allows you to limit to a month by simply selecting the first day of the first month through the first day of the next month. For example, 10/1 to 11/1 to find statistics for the month of October.

  • To find daily statistics, set your date range.</br> Example: „I want circulation data starting with date XXX up to, but not including, date XXX.“

  • Für einen ganzen Monat, wäre ein Datumsbereich zum Beispiel: 01/11/2009 bis 01/12/2009

  • Für ein ganzes Jahr, wäre der Datumsbereich zum Beispiel 01/01/2009 bis 01/01/2010

  • Für einen einzelnen Tag geben Sie z.B. 15/11/2009 bis 16/11/2009 an, um herauszufinden, was am 15. ausgeliehen wurde

Tracking in house use

Using the Circulation statistics reporting wizard you can run reports on in house usage of items simply by choosing ‚Local use‘ from the ‚Type‘ pull down:

Circulation statistics reporting wizard with Type drop-down menu open and "Local use" highlighted.

Serials statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Verwenden Sie das Formular um festzulegen, wie die Zeitschriften in Ihrem System aufgelistet werden sollen.

serialsform

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image914

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Holds statistics

Hinweis

These reports are limited in what data they can look at, so it’s often recommended to use custom reports for official end of the year statistics.

Wenn Sie das Statistikformular verwenden, können Sie Statistiken über gesetzte, erfüllte und stornierte Vormerkungen und weiteres erstellen. Wählen Sie, welche Information in den Zeilen und welche in den Spalten angezeigt werden soll. Sie können außerdem die Filter auf der rechten Seite des Formulars verwenden.

Form for holds statistics

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image916

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Benutzer mit den meisten Ausleihen

Dieser Report zeigt Ihnen, welche Benutzer die meisten Exemplare ausgeliehen haben.

Form to select parameters to run Top checkouts report

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image918

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Most circulated items

Dieser Report zeigt Ihnen, welche Exemplare am häufigsten ausgeliehen wurden.

image919

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image920

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Benutzer ohne Ausleihen

Dieser Report zeigt an, welche Benutzer zur Zeit nichts entliehen haben.

Report form for creating a report of patrons who have never checked out items

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image922

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Exemplare ohne Ausleihen

Dieser Report listet alle Exemplare in Bestand, die noch nie ausgeliehen wurden.

Form for the report of items with no checkouts

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image924

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Catalog by item type

This report will list the total number of items of each item type per branch.

Catalog by item type

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

Catalog by item type results

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Lost items

This report will allow you to generate a list of items that have been marked as Lost within the system

Input for lost item report

Once you have chosen parameters, you will see the corresponding list of items.

Results of lost item report

Hinweis

  • You can customize the columns of this table in the ‚Table settings‘ section of the Administration module (table id: lostitems-table).

Orders by fund

If you use the Acquisitions module, you will be able to see all the items that were ordered in each fund.

image1499

Once you choose the fund you wish to view, you can export the results or view them in the browser. If you choose to view them directly, you will be shown the list of orders.

Example of a report result of Orders by fund

Hinweis

  • You can customize the columns of this table in the ‚Table settings‘ section of the Administration module (table id: funds-table).

Average loan time

This report will list the average time items are out on loan based on the criteria you enter:

Wizard to generate report for average loan time, with options to select the report parameters (checkout date, patron category, item type...)

Wenn Sie sich für die Ausgabe im Browser entscheiden, werden die Ergebnisse direkt angezeigt.

image929

Sie können auch eine Datei exportieren und dann mit anderen Werkzeugen weiter bearbeiten.

Report dictionary

The report dictionary is a way to pre-define common filters you’d like to apply to your reports. This is a good way to add in filters that the report wizard doesn’t include by default. To add a new definition, or filter, click ‚New definition‘ on the reports dictionary page and follow the 4 step process.

Schritt 1: Benennen Sie die Definition und erfassen Sie eine Beschreibung

image930

Schritt 2: Modul auswählen

image931

Schritt 3: Wählen Sie die Spalten für den Report aus den angezeigten Tabellen

image932

Schritt 4: Wählen Sie die Werte der Felder. Diese werden automatisch mit Werten aus Ihrer Datenbank gefüllt.

image933

Bestätigen Sie Ihre Auswahl um die Definition zu speichern.

image934

Ihre Definitionen werden auf der Wörterbuchseite angezeigt

image935

Wenn Sie dann einen neuen Report erstellen, wird Ihnen im Modul für welches die Definition erstellt wurde, diese in der Liste der Filter angeboten.

image936

Report plugins

Some plugins that are available can be used to make or enhance reports.

  • Get there: More > Reports > Report plugins > Report plugins

From this page, you will see only report-type plugins.

See the managing plugins section of this manual to learn how to manage your report-type plugins.