<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>FOLIO Documentation – Reporting with Metadb</title>
    <link>https://trillium.docs.folio.org/docs/reporting/</link>
    <description>Recent content in Reporting with Metadb on FOLIO Documentation</description>
    <generator>Hugo -- gohugo.io</generator>
    <lastBuildDate>Wed, 04 Dec 2024 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://trillium.docs.folio.org/docs/reporting/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Reporting App</title>
      <link>https://trillium.docs.folio.org/docs/reporting/reporting-app/</link>
      <pubDate>Wed, 13 Nov 2024 00:00:00 +0000</pubDate>
      
      <guid>https://trillium.docs.folio.org/docs/reporting/reporting-app/</guid>
      <description>
        
        
        &lt;p&gt;The Reporting app provides a FOLIO interface for interacting with a Metadb database. There are two section to the app, the &lt;strong&gt;Query builder&lt;/strong&gt; and &lt;strong&gt;Saved queries&lt;/strong&gt;. The &lt;strong&gt;Query builder&lt;/strong&gt; allows you to build a query with the option to save it for later use. &lt;strong&gt;Saved queries&lt;/strong&gt; allows you to load a previous query into the &lt;strong&gt;Query builder&lt;/strong&gt; to start editing or run.&lt;/p&gt;
&lt;h2 id=&#34;permissions-and-capabilities&#34;&gt;Permissions and Capabilities&lt;/h2&gt;
&lt;p&gt;The permissions/capabilities listed below allow you to set user permissions to interact with the Reporting app. You can assign permissions to users in the Users app. If none of these permissions/capabilities are assigned to a user, they are unable to see the Reporting app or any related information. The “Reporting: all permissions” or “UI-Ldp” permission/capability for the Reporting App are either all enabled or all disabled when you are assigning them to a user.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Permission Display Name (OKAPI)&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Resource (EUREKA)&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Type&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Action&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Reporting: all permissions&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;UI-Ldp&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Data&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Manage&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This permission allows the user to see and use the Reporting app.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): browse and load Reporting saved queries&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Ui-Ldp Saved Queries&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;View&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to browse and load queries that they or other users have saved using the Reporting app’s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): Can modify default record limits&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;UI-Ldp Settings Record-Limits&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;View&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to set the amount of records/rows that can be returned and exported to a CSV (can be different values) when running a query in the Reporting app.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): Can modify reporting database connection details&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;UI-Ldp Settings Dbinfo&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;View&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to configure the Reporting app’s connection to an LDP/Metadb instance including the username and password used to query the LDP/Metadb reporting database.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): Can modify templated-query repos configuration&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;UI-Ldp Settings Tqrepos&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;View&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to create new or modify existing connections to GitHub repositories for the purpose of accessing parameterized SQL queries via the Reporting app.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): Can select which tables are available to search&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;UI-Ldp Settings Table-Availability&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;View&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to select/remove which tables will appear in the “Table” dropdown while using the Reporting app’s “Build query” feature.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Settings (Reporting): create and update Reporting saved queries&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;Mod-Settings Global Write Ui-Ldp Queries&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Settings&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Manage&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;This capability allows a user to save queries they’ve created using the Reporting app’s “Build query” feature as well as edit and overwrite existing queries (whether they are the report’s creator or not).&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;schema&#34;&gt;Schema&lt;/h3&gt;
&lt;p&gt;Think of schema as the “buckets” in which data tables live. The schema drop-down menu allows you to select one schema at a time to use in your query. Three types of schemas are available: public, folio_reporting, and local. For a fuller explanation of schemas and examples of some defaults included see &lt;a href=&#34;../metadb/#using-schemas&#34;&gt;Metadb - Using schemas&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;table&#34;&gt;Table&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;Table&lt;/strong&gt; drop-down menu allows you to select a data table from the schema you have selected to use in your query. Tables are where related data lives. Tables belong to a specific schema. With the schema and table selected, the other fields will unlock and update based on the selection.&lt;/p&gt;
&lt;h2 id=&#34;filter-by-column&#34;&gt;Filter by column&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Filter by column&lt;/strong&gt; drop-down menu allows you to refine your results by selecting a column and applying constraints. You can create multiple filters using the Add Filter button. When you use multiple filters, results are generated using the AND operator. Once you select a column to filter on, you may select equality and inequality operations in combination with a numeric value (e.g., a date or a count), TRUE, or FALSE. Operators include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;equal to (=)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;not equal to (&amp;lt;&amp;gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;less than (&amp;lt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;less than or equal to (&amp;lt;=)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;greater than (&amp;gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;greater than or equal to (&amp;gt;=)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TRUE (not case sensitive)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FALSE (not case sensitive)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are some examples for filtering by column:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;find where previously_held = TRUE&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;find where _version &amp;gt; 1&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When entering date ranges, both YYYY-MM-DD and MM/DD/YYYY are supported. The LIKE and ILIKE operators, which allow pattern matching within character-based column data, will be included in a future release. LIKE is case-sensitive, while ILIKE is case-insensitive.&lt;/p&gt;
&lt;h3 id=&#34;show-columns&#34;&gt;Show columns&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;Show columns&lt;/strong&gt; drop-down menu allows you to select one or more fields from the schema and table you have selected to show in your query results. By default all columns will be present. The list of columns you wish to include will build as you select each column from the drop-down menu.&lt;/p&gt;
&lt;p&gt;To limit, simply click on the &lt;strong&gt;Show Columns&lt;/strong&gt; drop-down and click on the listed fields.
To remove added fields you can either click on the &lt;strong&gt;x&lt;/strong&gt; next to the field name in the box or from the drop-down list, click on the field again to deselect it.&lt;/p&gt;
&lt;h3 id=&#34;order-by-column&#34;&gt;Order by column&lt;/h3&gt;
&lt;p&gt;You can click the &lt;strong&gt;Add ordering criterion&lt;/strong&gt; button to add one or more columns to use to order your results. Options such as &lt;strong&gt;ascending&lt;/strong&gt; in the next field to the right will appear in a drop-down menu, which you may combine with additional options, such as &lt;strong&gt;Nulls at end&lt;/strong&gt; in the third field to the right. If you wish to order on multiple columns you can click the &lt;strong&gt;Add ordering criterion&lt;/strong&gt; button again. To remove a column sort click the trashcan icon.&lt;/p&gt;
&lt;h3 id=&#34;limit-number-of-results&#34;&gt;Limit number of results&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;Limit number of results&lt;/strong&gt; drop-down menu allows you to restrict the number of rows returned in your query results to 1, 10, 100, or 1000. This is useful if you just want to see a sample of the full results set, especially if you expect the number of rows returned to be particularly large.&lt;/p&gt;
&lt;h3 id=&#34;new-icon&#34;&gt;New icon&lt;/h3&gt;
&lt;p&gt;The New icon at the top right of the Query builder allows you to start a new query. Any query currently in progress will be cleared and any unsaved work will be lost.&lt;/p&gt;
&lt;h3 id=&#34;save-icon&#34;&gt;Save icon&lt;/h3&gt;
&lt;p&gt;The Save icon at the top right of the Query builder allows you to save a query once you have built it. Once saved, queries will appear in the list in the &lt;strong&gt;Saved queries&lt;/strong&gt; section of the Reporting app.&lt;/p&gt;
&lt;h3 id=&#34;copy-icon&#34;&gt;Copy icon&lt;/h3&gt;
&lt;p&gt;The Copy icon at the top right of the Query builder allows you to create an editable copy of any existing, saved query.&lt;/p&gt;
&lt;h3 id=&#34;saved-queries&#34;&gt;Saved queries&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;Saved queries&lt;/strong&gt; section of the Reporting app lists queries that have been saved by Reporting app users by clicking the Save icon in the &lt;strong&gt;Query builder&lt;/strong&gt; section of the Reporting app. Anyone with access to the Reporting app may click and run the queries in the Saved queries list. Queries may be removed from this list by clicking the trash can icon next to the individual query on the right end of the list.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Metadb</title>
      <link>https://trillium.docs.folio.org/docs/reporting/metadb/</link>
      <pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate>
      
      <guid>https://trillium.docs.folio.org/docs/reporting/metadb/</guid>
      <description>
        
        
        &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This &lt;a href=&#34;https://youtu.be/ACBBSZ6Lx_s?feature=shared&#34;&gt;WOLFcon 2024 presentation&lt;/a&gt; gives an overview of the Metadb platform.&lt;/p&gt;
&lt;p&gt;In order for the Metadb software to connect to FOLIO, it needs a &lt;a href=&#34;https://d1f3dtrg62pav.cloudfront.net/doc/#_configuring_a_kafka_data_source&#34;&gt;Kafka data source&lt;/a&gt; streaming the changes made in the FOLIO database. The Metadb reporting database can be hosted and administered locally by an institution&amp;rsquo;s own staff or can be contracted out to a third party hosting service. You can find specific &lt;a href=&#34;https://d1f3dtrg62pav.cloudfront.net/doc/#_system_requirements&#34;&gt;system requirements&lt;/a&gt; in the Metadb documentation.&lt;/p&gt;
&lt;h2 id=&#34;installing-and-configuring-the-metadb-software&#34;&gt;Installing and configuring the Metadb software*&lt;/h2&gt;
&lt;p&gt;There are three main software components to install for your Metadb implementation: Metadb, marct, and Folio Analytics. In general, install the latest production release for the Metadb and marct software components, which do not have a dependency on FOLIO (flower) software release versions. For FOLIO Analytics, see &lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/README.md&#34;&gt;https://github.com/folio-org/folio-analytics/blob/main/README.md&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;documentation&#34;&gt;Documentation&lt;/h3&gt;
&lt;p&gt;For detailed information about how to set up and configure the Metadb software, please review this &lt;a href=&#34;https://github.com/library-data-platform/ldp#readme&#34;&gt;link&lt;/a&gt; to access individual links to guides in the Metadb repository. There you also will find the latest versions and fixes of the Metadb software.&lt;/p&gt;
&lt;h2 id=&#34;setting-up-derived-tables&#34;&gt;Setting up derived tables&lt;/h2&gt;
&lt;p&gt;To let report users take full advantage of the community-developed &lt;a href=&#34;../folio-analytics/#using-queries-from-the-folio-analytics-repository&#34;&gt;report queries&lt;/a&gt; as well as having a good starting point for &lt;a href=&#34;../folio-analytics/#ad-hoc-querying-using-ldp-tables&#34;&gt;ad hoc querying&lt;/a&gt;, it is strongly recommended to set up a nightly update on &lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables/README.md&#34;&gt;derived tables&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Use of &lt;em&gt;views&lt;/em&gt; and &lt;em&gt;materialized views&lt;/em&gt; is not supported in Metadb databases and may cause the software to be unable to perform data updates.&lt;/p&gt;
&lt;p&gt;You can find instructions in Github on how to set up &lt;a href=&#34;https://github.com/folio-org/folio-analytics/tree/main/sql/derived_tables#folio-reporting-derived-tables&#34;&gt;FOLIO Reporting Derived Tables&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;data-privacy&#34;&gt;Data privacy&lt;/h2&gt;
&lt;p&gt;The Metadb software is designed to support GDPR and other data privacy requirements. Administrators can exclude a predefined set of tables.&lt;/p&gt;
&lt;p&gt;See the &lt;a href=&#34;https://github.com/library-data-platform/ldp/blob/main/doc/Admin_Guide.md#6-data-privacy&#34;&gt;Anonymization Guide&lt;/a&gt; for information on how to activate and configure these features.&lt;/p&gt;
&lt;p&gt;The pages linked below list attributes that contain potential personal data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.folio.org/display/RPT/Potential+personal+data%3A+List+of+FOLIO+attributes?src=contextnavpagetreemode&#34;&gt;Users module&lt;/a&gt;: tables that will not loaded in Metadb software when anonymization is turned on&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://wiki.folio.org/display/RPT/Potential+personal+data+in+mod-organizations-storage?src=contextnavpagetreemode&#34;&gt;Organizations module&lt;/a&gt;: potential personal data in organizations module&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Metadb software currently does not support anonymization. The above information is for LDP software only.&lt;/p&gt;
&lt;h2 id=&#34;adding-local-data&#34;&gt;Adding local data&lt;/h2&gt;
&lt;p&gt;As documented in the &lt;a href=&#34;https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#4-local-tables&#34;&gt;user guide&lt;/a&gt;, it is also possible to load and create local data into your Metadb reporting database.&lt;/p&gt;
&lt;h3 id=&#34;using-schemas&#34;&gt;Using schemas&lt;/h3&gt;
&lt;p&gt;The concept of schemas allows you to organize tables and permissions within one database. In Metadb, we have separate schemas for each FOLIO application area:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;public: contains all extracted tables and its current data from the bound FOLIO tenant&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#6-historical-data&#34;&gt;history&lt;/a&gt;: stores data that have been updated in the past or may no longer exist&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables/README.md&#34;&gt;folio_reporting&lt;/a&gt;: contains all &lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/sql/derived_tables&#34;&gt;derived tables&lt;/a&gt; created and supported by the community&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/library-data-platform/ldp/blob/main/doc/User_Guide.md#4-local-tables&#34;&gt;local&lt;/a&gt;: common area for report users to create or import own data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Besides using the local schema, you might consider setting up separate schemas for different report user groups or purposes. You are free to create more schemas for your local needs (e.g., to provide data for different departments or to separate and protect sensitive data).&lt;/p&gt;
&lt;p&gt;Learn more about the schema concept and how to configure schemas using &lt;a href=&#34;https://www.postgresql.org/docs/current/ddl-schemas.html&#34;&gt;Postgres&amp;rsquo;s Schema Documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a granular setup of permissions, see also the built-in &lt;a href=&#34;https://www.postgresql.org/docs/current/user-manag.html&#34;&gt;Roles&lt;/a&gt; and &lt;a href=&#34;https://www.postgresql.org/docs/current/ddl-priv.html&#34;&gt;Privileges&lt;/a&gt; concepts of Postgres.&lt;/p&gt;
&lt;h3 id=&#34;moving-and-loading-data&#34;&gt;Moving and loading data&lt;/h3&gt;
&lt;p&gt;Loading and moving data into a Metadb reporting database is as simple as it is for databases in general.&lt;/p&gt;
&lt;p&gt;For Postgres there are two common approaches:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.postgresql.org/docs/current/sql-copy.html&#34;&gt;COPY&lt;/a&gt;: SQL command for moving table data via csv files&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.postgresql.org/docs/current/app-pgdump.html&#34;&gt;pg_dump&lt;/a&gt; / &lt;a href=&#34;https://www.postgresql.org/docs/current/app-pgrestore.html&#34;&gt;pg_restore&lt;/a&gt;: Postgres command line tools for importing and exporting data&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installing-and-configuring-the-metadb-software-1&#34;&gt;Installing and configuring the Metadb software&lt;/h2&gt;
&lt;p&gt;For installing and configuring Metadb follow the &lt;em&gt;Metadb Documentation&lt;/em&gt; at the &lt;a href=&#34;https://librarydataplatform.org/resources/&#34;&gt;Library Data Platform - resources site&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: MARC Transformation</title>
      <link>https://trillium.docs.folio.org/docs/reporting/marc-transformation/</link>
      <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://trillium.docs.folio.org/docs/reporting/marc-transformation/</guid>
      <description>
        
        
        &lt;h2 id=&#34;marc-transformation-for-metadb&#34;&gt;MARC Transformation for Metadb&lt;/h2&gt;
&lt;p&gt;Metadb converts SRS/MARC records from JSON to tabular format. SRS stands for Source Record Storage. MARC stands for Machine-Readable Cataloging, which is a standard format for storing data elements within bibliographic records in computer systems. Metadb reads the SRS MARC data from the database tables marc_records_lb and records_lb in schema folio_source_record. Next, it transforms only the current versions of the records from these tables into tabular data. The transformed records are written to the folio_source_record.marc__t table.&lt;/p&gt;
&lt;p&gt;Once the MARC data is transformed, the folio_source_record.marc__t table is ready to be used in queries that require MARC data from the reporting database. For example, the query below shows the contents of the MARC 008 field, which captures general bibliographic information about a library item.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT
    sm.instance_hrid,
    sm.field,
    sm.content
FROM folio_source_record.marc__t AS sm
WHERE (sm.field = &#39;008&#39;)    
LIMIT 10
;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For more information about how MARC data is transformed in Metadb, please review the guide linked below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://d1f3dtrg62pav.cloudfront.net/doc/#_marc_transform&#34;&gt;MARC Transformation Guide for Metadb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: FOLIO Analytics</title>
      <link>https://trillium.docs.folio.org/docs/reporting/folio-analytics/</link>
      <pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://trillium.docs.folio.org/docs/reporting/folio-analytics/</guid>
      <description>
        
        
        &lt;h2 id=&#34;what-is-the-folio-analytics-repository&#34;&gt;What is the FOLIO Analytics repository&lt;/h2&gt;
&lt;p&gt;The FOLIO Analytics repository contains reports and other analytics developed for FOLIO and designed to run on a reporting database running the Metadb software. Reports developed for FOLIO are stored as code written in Structured Query Language (SQL). The SQL queries can be opened inside of database querying software to pull data out of the reporting database.&lt;/p&gt;
&lt;p&gt;You can read an introduction to the repository at its &lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/README.md&#34;&gt;overarching README file&lt;/a&gt; on GitHub.  The file describes the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The two types of SQL queries to be found in the repository:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Report queries&lt;/strong&gt;, which you can copy and paste to run on your Metadb reporting database.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Derived table queries&lt;/strong&gt;, which simplify and speed up report queries. A &lt;em&gt;derived table&lt;/em&gt; is simply a table created using data from one or more other tables. These queries are managed behind the scenes through reporting database administration so that they run automatically and generate the derived tables in the database.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Documentation for the queries.&lt;/li&gt;
&lt;li&gt;Examples of reporting applications that can be used to run the queries.&lt;/li&gt;
&lt;li&gt;How the queries are organized in the repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The first section below outlines how to make use of the report queries in the FOLIO Analytics repository to generate reports on FOLIO data. Other sections of the documentation cover &lt;a href=&#34;../metadb/#setting-up-derived-tables&#34;&gt;administration of derived tables&lt;/a&gt; and &lt;a href=&#34;#metadb-specific-query-guidance&#34;&gt;use of derived tables for ad hoc querying&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;using-queries-from-the-folio-analytics-repository&#34;&gt;Using queries from the FOLIO Analytics repository&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;FOLIO Analytics has releases aligned with FOLIO flower releases as well as monthly rolling releases. This allows institutions to match the FOLIO Analytics version to the FOLIO flower release that they’re running.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Report queries in the FOLIO Analytics repository are laid out in a particular structure that will make it easy for you to find the various areas you need as you build your knowledge of SQL.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Introductory comments.&lt;/strong&gt; Queries may start with a short block of text that is not part of the query. These &amp;ldquo;comments&amp;rdquo; often describe basic components of the query and give a brief description of the purpose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parameters.&lt;/strong&gt; To make things easier for the user, queries typically include a &amp;ldquo;parameters&amp;rdquo; section at the top that allows one to easily specify the values needed for filtering on a field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subqueries.&lt;/strong&gt; Queries may include several groups of smaller queries, which may be referred to as subqueries. These subqueries help simplify and rearrange different parts of the database to make the final query easier. (Note: The official term for these parts of the query is &lt;em&gt;common table expressions&lt;/em&gt;, or &lt;em&gt;CTEs&lt;/em&gt;. Calling them subqueries is meant to emphasize the role they play in the larger query.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Main query.&lt;/strong&gt; The main query determines the final look of the report. Under the keyword &lt;code&gt;SELECT&lt;/code&gt;, you will see a list of the fields that will show up in the final report. After the keyword &lt;code&gt;FROM&lt;/code&gt;, there is a list of the tables the fields are coming from. The keyword &lt;code&gt;WHERE&lt;/code&gt; specifies the filters that should be applied to limit the rows in the report. Additional keywords may appear after the &lt;code&gt;WHERE&lt;/code&gt; keyword to further customize the output of the report. Comments can appear throughout the query to provide instructions or clarifications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;locating-queries-in-the-repository&#34;&gt;Locating queries in the repository&lt;/h3&gt;
&lt;p&gt;Report queries for Metadb are stored in the &lt;a href=&#34;https://github.com/folio-org/folio-analytics/tree/main/sql_metadb/report_queries&#34;&gt;sql_metadb/report_queries&lt;/a&gt; folder of the repository. Each subdirectory contains one or more SQL queries, along with documentation that describes the purpose and output of the queries.&lt;/p&gt;
&lt;h3 id=&#34;running-queries-in-a-database-query-tool&#34;&gt;Running queries in a database query tool&lt;/h3&gt;
&lt;p&gt;Once you have located a desired report query, you can perform the following steps to run the query and generate a report:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Copy the query code from GitHub.&lt;/li&gt;
&lt;li&gt;Open a database query tool.&lt;/li&gt;
&lt;li&gt;Connect to the reporting database.&lt;/li&gt;
&lt;li&gt;Paste the SQL query code into a local file.&lt;/li&gt;
&lt;li&gt;Run the SQL query.&lt;/li&gt;
&lt;li&gt;Export the query results in the desired format.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The following section demonstrates this workflow using &lt;a href=&#34;https://dbeaver.io/&#34;&gt;DBeaver&lt;/a&gt;, a database querying tool that has a free community edition and is available for Windows, Mac OSX and Linux operating systems.&lt;/p&gt;
&lt;h3 id=&#34;example-of-running-a-query-using-dbeaver&#34;&gt;Example of running a query using DBeaver&lt;/h3&gt;
&lt;h4 id=&#34;copy-the-query-code-from-github&#34;&gt;Copy the query code from GitHub&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;sql_metadb&lt;/strong&gt; folder of &lt;a href=&#34;https://github.com/folio-org/folio-analytics/tree/main/sql_metadb&#34;&gt;the FOLIO Analytics Repository&lt;/a&gt;, click on the &lt;strong&gt;report_queries&lt;/strong&gt; folder.&lt;/li&gt;
&lt;li&gt;Click on the subfolder for the report you are interested in. For this example, open the &lt;a href=&#34;https://github.com/folio-org/folio-analytics/tree/main/sql_metadb/report_queries/ra_um/loans_and_renewals_counts/loans_and_renewals_counts_by_year&#34;&gt;Loans and Renewals Count query file&lt;/a&gt; by clicking first on the &lt;strong&gt;ra_um/loans_and_renewals_counts/loans_and_renewals_counts_by_year&lt;/strong&gt; subdirectory and clicking on the &lt;strong&gt;loans_and_renewal counts_by_year.sql&lt;/strong&gt; file.&lt;/li&gt;
&lt;li&gt;To open the query file directly, click on the &lt;strong&gt;raw&lt;/strong&gt; button located in the upper right corner of the file preview box.&lt;/li&gt;
&lt;li&gt;To copy the query code, type Ctrl-A (Cmd-A on Mac) to highlight all of the text, followed by Ctrl-C (Cmd-C on Mac) to copy the text.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;open-a-database-query-tool&#34;&gt;Open a database query tool&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Install the &lt;a href=&#34;https://dbeaver.io/download/&#34;&gt;DBeaver community edition&lt;/a&gt; corresponding to your operating system.&lt;/li&gt;
&lt;li&gt;Open DBeaver.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;connect-to-metadb-database&#34;&gt;Connect to Metadb database&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;To add your database connection, click on the &lt;strong&gt;New Database Connection&lt;/strong&gt; button toward the top of the Database Navigator tab. It should look like an electrical plug with a plus sign.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Select your database&lt;/strong&gt; window that pops up, click on the &lt;strong&gt;PostgreSQL&lt;/strong&gt; symbol and then click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Fill out the &lt;strong&gt;connection dialog&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;You will need to get the following information from your local Metadb administrator:&lt;/li&gt;
&lt;li&gt;Host (typically looks like a URL, like metadb.institution.edu)&lt;/li&gt;
&lt;li&gt;Port (typically 5432)&lt;/li&gt;
&lt;li&gt;Database name&lt;/li&gt;
&lt;li&gt;User name and password&lt;/li&gt;
&lt;li&gt;SSL mode (will likely be “require”)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In addition to the first page of connection details, you must click on the SSL tab to select “require” under &lt;strong&gt;SSL mode&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Finally, expand &lt;strong&gt;Connection Settings&lt;/strong&gt; in the sidebar on the left and select the &lt;strong&gt;Initialization&lt;/strong&gt; subheading. In the settings on the right, make sure the &lt;strong&gt;Auto-commit&lt;/strong&gt; check box is selected.&lt;/li&gt;
&lt;li&gt;When you are done setting up the connection, you can double click on the connection name in the &lt;strong&gt;Database Navigator&lt;/strong&gt; tab to connect to the database.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; that a hosted Metadb reporting database is currently available for the FOLIO community.  It provides access to data from the FOLIO reference environment folio-snapshot and is updated hourly. For login info, please review the &lt;a href=&#34;https://librarydataplatform.org/testbed/&#34;&gt;Library Data Platform testbed documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;paste-the-sql-query-code-into-a-local-file&#34;&gt;Paste the SQL query code into a local file&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;To create a new script file, either click on the &lt;strong&gt;New SQL Editor&lt;/strong&gt; button in the toolbar (it will look like a document with a plus sign) or select &lt;strong&gt;New SQL&lt;/strong&gt; script from the &lt;strong&gt;SQL Editor menu&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If you have multiple databases, DBeaver may prompt you to select the one you want to query. Select the correct database and click on select. The new script window should show up on the right, with the script editor on the top and the results window (currently empty) on the bottom.&lt;/li&gt;
&lt;li&gt;Paste the copied query code from GitHub into the script editor. (Once you paste in your copy of the script, you can change it however you want. This is your copy of the SQL.  Read more about &lt;a href=&#34;#tailoring-queries&#34;&gt;tailoring queries&lt;/a&gt; below, and note that you should pay special attention to the “parameters” section in your query.)&lt;/li&gt;
&lt;li&gt;To save the query, select “Save As” from the “File” menu and navigate to your preferred directory, using a filename with “.sql” as the file extension.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;run-the-sql-query&#34;&gt;Run the SQL query&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;To run the query, either click on the &lt;strong&gt;Execute SQL Script&lt;/strong&gt; button on the left side of the script editor (it should be the third button from the top and look like a document with a “play” symbol inside of it) or select &lt;strong&gt;Execute SQL Script&lt;/strong&gt; from the &lt;strong&gt;SQL Editor&lt;/strong&gt; menu.&lt;/li&gt;
&lt;li&gt;The results will hopefully then appear in the &lt;strong&gt;results panel&lt;/strong&gt; below the script.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; When querying parts of the database with a lot of data, like the inventory tables, there may be a long delay before results are returned.&lt;/p&gt;
&lt;h4 id=&#34;export-the-query-results-as-a-csv&#34;&gt;Export the query results as a CSV&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;To export the results, right-click inside the results table and select &lt;strong&gt;Export data…&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Complete the data export wizard:
&lt;ol&gt;
&lt;li&gt;Select “CSV” as the data transfer target type and click &lt;strong&gt;Next &amp;gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Adjust any data transfer settings and click &lt;strong&gt;Next &amp;gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Adjust any output settings (e.g., output directory, file name pattern) and click &lt;strong&gt;Next &amp;gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Confirm settings and click &lt;strong&gt;Start&lt;/strong&gt; to export the file.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;tailoring-queries&#34;&gt;Tailoring queries&lt;/h3&gt;
&lt;p&gt;Many queries allow you to specify the correct values for report filters by editing the “parameters” sections at the top of the query. &lt;strong&gt;You should always review and update the parameters before running your query.&lt;/strong&gt; If you do not update the values in the parameters section, the default values will be used, and in many cases these may be inappropriate for the data in Metadb.&lt;/p&gt;
&lt;p&gt;To edit the parameter values, all you need to do is type in the measure value of interest between the single quotation marks at the start of one or more parameter lines. The values must be typed in exactly as they appear in the database. Possible values might be suggested in query comments (although those examples may not be in use at your institution).  If you do not want to filter the data, you can remove anything between the single quotation marks.&lt;/p&gt;
&lt;p&gt;To further tailor the query, consult the &lt;a href=&#34;#using-queries-from-the-folio-analytics-repository&#34;&gt;introduction to this section&lt;/a&gt; above to identify the different sections you may wish to review and modify. One edit you may want to make would be to add your own comments to guide yourself and others.  Comment text will be gray (in DBeaver) and will not affect how the query runs. There are two ways to make comments. Typing &lt;code&gt;--&lt;/code&gt; will create a comment out of the rest of that particular line of the file.  To create a comment that spans multiple lines, use &lt;code&gt;/*&lt;/code&gt; at the beginning of the comment and &lt;code&gt;*/&lt;/code&gt; at the end of the comment.&lt;/p&gt;
&lt;p&gt;Another edit you may want to make would be to remove a field from the report. To do this, you can look for the &lt;code&gt;SELECT&lt;/code&gt; keyword in the main query section (which is usually where you will see the longest list of field names). Inside the list of fields after that &lt;code&gt;SELECT&lt;/code&gt; keyword, you can delete the lines that list fields you do not want to include. Just make sure that the last item in the list, the one that appears right before the &lt;code&gt;FROM&lt;/code&gt; keyword, is not followed by a comma.&lt;/p&gt;
&lt;p&gt;For more advanced query writing techniques, refer to the documentation on &lt;a href=&#34;#ad-hoc-querying-using-metadb-tables&#34;&gt;ad hoc querying using Metadb tables&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;troubleshooting-queries&#34;&gt;Troubleshooting queries&lt;/h3&gt;
&lt;h4 id=&#34;what-to-do-if-you-do-not-get-any-results&#34;&gt;What to do if you do not get any results&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Check to see if a parameter was entered by the report writer that does not apply.  If not, seek out additional training here or through your local (or the larger) FOLIO community.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;what-to-do-if-there-are-errors&#34;&gt;What to do if there are errors&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Check to see if the error message indicates that a derived table is missing. These derived tables are stored in a schema called &lt;strong&gt;folio_derived&lt;/strong&gt;, so that schema name followed by a table name might appear in the error message. If a derived table is missing, contact your Metadb administrator.&lt;/li&gt;
&lt;li&gt;If you edited the query, check to make sure you don’t have a comma appearing at the end of a list, like the list of the fields that occurs after the &lt;code&gt;SELECT&lt;/code&gt; keyword.&lt;/li&gt;
&lt;li&gt;If you can’t determine what is causing the error, consult with your local Metadb administrator or either your local or the larger &lt;a href=&#34;https://wiki.folio.org/display/RPT&#34;&gt;FOLIO Reporting community&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ad-hoc-querying-using-metadb-tables&#34;&gt;Ad hoc querying using Metadb tables&lt;/h2&gt;
&lt;p&gt;If the shared queries do not meet your needs, you can also develop your own “ad hoc” (or as needed) queries to pull data from Metadb. In addition to creating queries with different fields and table connections than the shared queries, ad hoc queries make it possible to connect FOLIO to other custom tables available in your local Metadb. Because Metadb is built on standard relational database software, you can build ad hoc Metadb queries in the same way you would build queries for any other database, such as writing an SQL query and using a database query tool to run the query.&lt;/p&gt;
&lt;h3 id=&#34;learning-sql&#34;&gt;Learning SQL&lt;/h3&gt;
&lt;p&gt;To develop ad hoc queries, you will need to write query scripts using Structured Query Language (SQL). The table below includes a few resources for learning SQL.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Training Resource&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://dataschool.com/learn-sql/introduction/&#34;&gt;The Data School: Learn Introductory SQL Concepts&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;An interactive tutorial with an approachable style. The tutorial has built-in SQL evaluation, so you don’t need to set up a separate database tool to try the exercises.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://selectstarsql.com/&#34;&gt;Select Star SQL&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;An interactive book that teaches SQL concepts using real-world datasets and problems. The book has built-in SQL evaluation, so you don’t need to set up a separate database tool to try the exercises.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/NUKnightLab/sql-mysteries&#34;&gt;SQL Murder Mystery&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The SQL Murder Mystery is designed to be both a self-directed lesson to learn SQL concepts and commands and a fun game for experienced SQL users to solve an intriguing crime. They also have a walkthrough for SQL beginners.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CodeAcademy:&lt;ul&gt;&lt;li&gt;&lt;a href=&#34;https://www.codecademy.com/learn/learn-sql&#34;&gt;Learn SQL course&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&#34;https://www.codecademy.com/articles/sql-commands&#34;&gt;SQL Commands&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
&lt;td&gt;A course called Learn SQL and a list of SQL Commands. Without a Pro account, course features are limited.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://www.linkedin.com/learning/&#34;&gt;Linked In Learning&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Linked In Learning provides access to several courses on SQL at many levels of expertise. Requires a paid subscription.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;metadb-specific-query-guidance&#34;&gt;Metadb-specific query guidance&lt;/h3&gt;
&lt;p&gt;After learning how to use SQL, there are a few resources that outline specifics of how Metadb organizes FOLIO data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/folio-org/folio-analytics/wiki&#34;&gt;FOLIO Analytics Wiki&lt;/a&gt;.&lt;/strong&gt; This wiki is a work in progress created by the FOLIO Reporting SIG to provide samples of queries for different functional areas of FOLIO. Each functional area has its own “Cookbook” filled with “recipes” or starter queries for common use cases. The wiki is also a helpful resource for information on the FOLIO data model, an understanding of which is useful for knowing how to join tables in your SQL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://metadb.dev/doc/&#34;&gt;The Metadb User Guide&lt;/a&gt;&lt;/strong&gt; This guide acts as a user and administrator’s guide to Metadb. It includes information about configuring Metadb as well as creating SQL queries using Metadb tables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://metadb.dev/schema/folio/&#34;&gt;SchemaSpy (Metadb)&lt;/a&gt;&lt;/strong&gt; This SchemaSpy installation is attached to a Metadb reference environment, which pulls data from the FOLIO snapshot reference environment. SchemaSpy gives a concise list of Metadb tables and fields and can be helpful when developing queries, if your local Metadb uses the same software version as the Metadb reference environment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://github.com/folio-org/folio-analytics/tree/main/sql_metadb/derived_tables&#34;&gt;Shared Metadb derived tables&lt;/a&gt;&lt;/strong&gt; The derived tables (found in the &lt;strong&gt;folio_derived&lt;/strong&gt; schema for Metadb) often serve as the best starting point for ad hoc queries. The derived tables combine and simplify the original FOLIO tables in ways that make query development much easier. You should work with your local Metadb administrator to determine how your local Metadb is using derived tables (e.g., what FOLIO Analytics release you are using, how frequently the derived tables are updated).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;sharing-ad-hoc-queries&#34;&gt;Sharing ad hoc queries&lt;/h3&gt;
&lt;p&gt;If your ad hoc query might be of use to other institutions, we encourage you to consider submitting it to the folio-analytics repository. Our &lt;a href=&#34;https://github.com/folio-org/folio-analytics/blob/main/CONTRIBUTING.md&#34;&gt;contributing guidelines&lt;/a&gt; describe the requirements for new contributions to the repository.&lt;/p&gt;
&lt;h3 id=&#34;tips-for-using-dbeaver-to-write-an-ad-hoc-query&#34;&gt;Tips for using DBeaver to write an ad hoc query&lt;/h3&gt;
&lt;p&gt;Developing ad hoc queries using DBeaver follows a similar workflow to the &lt;a href=&#34;#example-of-running-a-query-using-dbeaver&#34;&gt;example workflow&lt;/a&gt; above. You can either start with an existing report query or derived table query and modify it for your own uses, or you can write the SQL code from scratch.&lt;/p&gt;
&lt;p&gt;An example of a simple ad hoc query might be:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SELECT
	group_name,
	COUNT(user_id) AS num_users
FROM
	folio_derived.users_groups
GROUP BY
	group_name
;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This code specifies that the report should contain two columns: &lt;code&gt;group_name&lt;/code&gt; and a column that stores a calculation of the count of values in the &lt;code&gt;user_id&lt;/code&gt; column, which should appear in the query with the label “num_users.” The code then specifies that these columns are coming from the &lt;code&gt;folio_derived.users_groups&lt;/code&gt; derived table. Finally, it specifies that the data from the original table should be separated into separate groups using values from the &lt;code&gt;group_name&lt;/code&gt; column, so that the &lt;code&gt;num_users&lt;/code&gt; calculation is done separately for each group. The result is a table where each value of &lt;code&gt;group_name&lt;/code&gt; is matched with a count of the number of users in that group.&lt;/p&gt;
&lt;p&gt;As you are writing your query file in DBeaver, you may find it helpful to browse the Metadb reporting database using the &lt;a href=&#34;https://dbeaver.com/docs/wiki/Database-Navigator/&#34;&gt;Database Navigator&lt;/a&gt; tab. For example, you can expand the connection, then expand the &lt;strong&gt;Schemas&lt;/strong&gt;, then expand the &lt;strong&gt;folio_derived&lt;/strong&gt; (Metadb) schema, then expand &lt;strong&gt;Tables&lt;/strong&gt; to see the available derived tables. Each table can be expanded to see its available columns. To browse the data in a table, right-click on a table and select &lt;strong&gt;View Data&lt;/strong&gt;. Use the same procedure to browse the tables and columns available in the various schemas.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: LDLite</title>
      <link>https://trillium.docs.folio.org/docs/reporting/ldlite/</link>
      <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://trillium.docs.folio.org/docs/reporting/ldlite/</guid>
      <description>
        
        
        &lt;p&gt;LDLite is a tool that is part of the Library Data Platform project. It provides basic data reporting functions without requiring a reporting database server to be installed. It also can be used to supplement a reporting database with additional or real-time FOLIO data.&lt;/p&gt;
&lt;p&gt;LDLite allows users to query FOLIO directly. Once connected to FOLIO services, the LDLite software can provide some features of the full Library Data Platform software such as JSON transformation. The transformed data can be saved in an embedded database as a simple file on the user’s computer or into a shared database. Users must be running Python to install LDLite.&lt;/p&gt;
&lt;p&gt;LDLite can also be used to report on MARC data retrieved from Source Record Storage (SRS). This feature is still in the experimental stages and not officially supported at this time. Instructions for setting up access to MARC data from LDLite are available on &lt;a href=&#34;https://github.com/library-data-platform/ldlite/blob/main/srs.md&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information about LDLite and access to the code base, see the &lt;a href=&#34;https://github.com/library-data-platform/ldlite&#34;&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
