Reporting App Part 1: Using the App

Reporting App Part 1: Using the App

This page document covers the basics of using the Reporting app to build queries within the app. For information on connecting a repository and building reports, check out Reporting App Part 2: Connecting a Repository for Reports.

Getting Started

The Reporting app provides a FOLIO interface for interacting with a MetaDB database.

image-20250929-172214.png
The Reporting App interface within FOLIO

FOLIO Docs

Consult the FOLIO docs for your version of FOLIO to learn more about Reporting App permissions and functionality.

Structure

The Reporting App utilizes a typical database structure where FOLIO data is included in tables that include columns for fields and rows for records. Given the large number FOLIO apps and records, tables are grouped into schema, typically by app or function. Here are some examples

Schema

Tables

Schema

Tables

folio_derived

This is a good place to start as the schema includes a number of tables commonly used for reports.

NOTE: These tables are refreshed daily so may not be sufficient for some reports.

folio_finance

budget, expense_class, fund, ledger, transaction, etc.

folio_inventory

holdings_record, instance, item, location, etc.

folio_users

groups, proxyfor, users, etc.

Running Queries and Exporting Data

Queries come in three flavors:

  • Build: Build a query within the Reporting App. This has the severe limitation that you cannot join tables. You can only query a single table.

    • The issue with not being able to join tables quickly becomes apparent when you start seeing UUIDs in columns where you are expecting text values and then remember that FOLIO data is a very large set of linked tables.

  • Load: This allows you to load and run a saved query.

  • Run report: This is the more common way to use the Reporting App. After connecting a GitHub or GitLab repository through Reporting Settings, you can select and run queries contained in the repository. Check out Reporting App Part 2: Connecting a Repository for Reports for more information.

Building Queries

Selecting Build query in the Navigation pane will allow you to start building a query. Icons in the builder pane will let you start a new query, save query (to be loaded later) or copy query. To build your query:

  • Select your schema and table. Remember that you cannot join tables using the query builder.

    • A good place to start is the folio_derived schema as this includes tables commonly needed for reports.

  • Once you’ve selected your table, you can select fields to include/exclude records.

    • The Reporting App is limited to comparison operators. LIKE and ILIKE operators are not supported.

    • You can use multiple parameters using AND (OR is not supported).

  • Then select the columns you want to display.

  • You can select a field column for sorting purposes (ascending or descending).

  • You can set a results limit.

  • Click Submit to review results. When viewing results, you can export via CSV.

  • You can save or copy the query if needed.

Example

The query in the screenshot below is to retrieve item records with “On order” status and to sort by barcode. Only 10 records will be retrieved.

image-20250929-181925.png
Reporting App query to retrieve on order status items

And here are the results after hitting Submit:

image-20250929-182030.png
Query results

In the results pane, you can export to CSV by clicking the CSV button in the upper right.

The CSV export will export all the records, not just those you’ve limited to display in the app.

Load Query

  • Saved queries are available using Load query. Select the query you want, make any needed changes to the parameters, and then Submit to get results.

  • Making changes and then saving the record will overwrite the original query so if you want to save as a different query, use the copy query feature.