<query>SELECT COUNT(ahr.id), ahr.selection_depth FROM action.hold_request ahr WHERE ahr.id IN (SELECT id FROM m_action_hold_request) AND ahr.cancel_time IS NULL AND ahr.capture_time IS NULL AND ahr.fulfillment_time IS NULL GROUP BY 2 ORDER BY 2</query>
</report>
- <!-- finding title matched holds where there are duplicates, this will table match for legacy but column won't be present for all -->
- <report>
- <name>duplicate_title_matching_holds</name>
- <tag>holds</tag>
- <iteration>0</iteration>
- <report_title>Holds by Title Matchs</report_title>
- <heading>Count.Number of Matches</heading>
- <query>SELECT COUNT(*), x_title_matches FROM m_action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() GROUP BY 2 ORDER BY 2</query>
- </report>
-
- <report>
- <name>duplicate_title_matching_holds_w_zero</name>
- <tag>holds</tag>
- <iteration>0</iteration>
- <report_title>Sample of Holds with No Matches</report_title>
- <heading>Borrower Barcode.Title.Request Date</heading>
- <query>SELECT l_borrower_id, l_title, l_request_date FROM m_action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() AND x_title_matches = 0 AND x_migrate LIMIT 20</query>
- </report>
-
- <report>
- <name>duplicate_title_matching_holds_w_greater_than_1</name>
- <tag>holds</tag>
- <iteration>0</iteration>
- <report_title>Sample of Holds with More Than One Title Match</report_title>
- <heading>Borrower Barcode.Title.Request Date</heading>
- <query>SELECT l_borrower_id, l_title, l_request_date FROM m_action_hold_request_legacy WHERE TO_DATE(l_expire_date,'MM/DD/YYYY') > NOW() AND x_title_matches > 1 AND x_migrate LIMIT 20</query>
- </report>
-
<!-- ASSET REPORTS -->
<report>
</report>
<report>
- <name>m_asset_precat</name>
- <report_title>Precats (AKA Copies Without Bibs)</report_title>
- <tag>assets</tag>
- <iteration>0</iteration>
- <heading>Copy Count.Migating</heading>
- <query>SELECT COUNT(ac.id), ac.x_migrate::TEXT FROM m_asset_copy_legacy ac WHERE ac.x_bre_id = -1 GROUP BY 2</query>
- </report>
-
- <report>
<name>m_asset_circ_mod_copies_count</name>
<report_title>Copies by Circulation Modifier</report_title>
<tag>assets</tag>
<heading>Volume Count.Library</heading>
<query>SELECT COUNT(acn.id), aou.name FROM m_asset_call_number acn JOIN actor.org_unit aou ON aou.id = acn.owning_lib GROUP BY 2 ORDER BY 2</query>
</report>
- <!--
- <report>
- <name>m_asset_cops_by_loc</name>
- <report_title>Copies by Location</report_title>
- <tag>assets</tag>
- <iteration>0</iteration>
- <heading>Copy Count.Library.Migrated</heading>
- <query>SELECT COUNT(ac.id), acl.name, ac.x_migrate::TEXT FROM m_asset_copy_legacy ac JOIN asset.copy_location acl ON acl.id = ac.location GROUP BY 2, 3 ORDER BY 2, 3</query>
- </report>
- -->
+
<report>
<name>m_asset_cops_by_loc_and_org</name>
<report_title>Copies by Location</report_title>
<query>SELECT barcode FROM m_asset_copy_legacy WHERE location = 1 AND x_migrate</query>
</report>
- <!-- report>
- <name>m_asset_barcode_lengths</name>
- <report_title>Barcode Lengths by Library</report_title>
- <tag>assets</tag>
- <iteration>0</iteration>
- <heading>Count of Barcode.Barcode Length.Library</heading>
- <query>SELECT COUNT(ac.id), LENGTH(ac.barcode), aou.name FROM m_asset_copy_legacy ac JOIN actor.org_unit aou ON aou.id = ac.circ_lib WHERE ac.x_migrate = TRUE GROUP BY 2, 3 ORDER BY 3, 2</query>
- </report -->
-
<report>
<name>m_asset_no_barcode</name>
<report_title>Items Without Barcodes</report_title>
<query>SELECT SUM(array_length(records,1)), COUNT(*) FROM groups</query>
</report>
- <report>
- <name>bib_merges_searchformat</name>
- <report_title>Bibliographic Merges By Search Format</report_title>
- <tag>bibs</tag>
- <iteration>0</iteration>
- <heading>Count.Item Type</heading>
- <query>DROP TABLE IF EXISTS temp_unnest; CREATE TABLE temp_unnest AS (SELECT UNNEST(records) FROM groups); SELECT COUNT(record), search_format_str FROM dedupe_batch WHERE record IN (SELECT * FROM temp_unnest) GROUP BY 2 ORDER BY 2</query>
- </report>
-
- <report>
- <name>bibs_not_loaded</name>
- <report_title>Bibliographic Records That Failed to Load</report_title>
- <tag>bibs</tag>
- <iteration>0</iteration>
- <heading>Title.Author.Control Number</heading>
- <query>SELECT LEFT(ARRAY_TO_STRING(oils_xpath( '//*[@tag="245"]/*[@code="a"]/text()', a.marc),''),50) AS "Title",
- LEFT(ARRAY_TO_STRING(oils_xpath( '//*[@tag="100"]/*[@code="a"]/text()', a.marc),''),50) AS "Author",
- ARRAY_TO_STRING(oils_xpath( '//*[@tag="001"]/text()', a.marc),'') AS "001"
- FROM m_biblio_record_entry a LEFT JOIN biblio.record_entry b ON b.id = a.id WHERE b.id IS NULL AND a.x_migrate
- </query>
- </report>
-
-
<!-- ACTORS REPORTS -->
<report>
<query>SELECT COUNT(id), active::TEXT FROM m_actor_card GROUP BY 2</query>
</report>
- <!-- report>
- <name>usr_barcode_lengths</name>
- <report_title>Barcode Lengths by Library</report_title>
- <tag>actors</tag>
- <iteration>0</iteration>
- <heading>Count of Barcode.Barcode Length.Library</heading>
- <query>SELECT COUNT(acard.id), LENGTH(acard.barcode), aou.name FROM m_actor_card_legacy acard JOIN m_actor_usr_legacy au ON au.id = acard.usr JOIN actor.org_unit aou ON aou.id = au.home_ou WHERE acard.x_migrate = TRUE GROUP BY 2, 3 ORDER BY 3, 2</query>
- </report -->
-
- <!-- report>
- <name>usr_barcode_lengths</name>
- <report_title>Barcode Lengths by Library</report_title>
- <tag>actors</tag>
- <iteration>1</iteration>
- <heading>Count of Barcode.Barcode Length.Library</heading>
- <query>SELECT COUNT(acard.id), LENGTH(acard.barcode), aou.name FROM m_actor_card acard JOIN m_actor_usr au ON au.id = acard.usr JOIN actor.org_unit aou ON aou.id = au.home_ou GROUP BY 2, 3 ORDER BY 3, 2</query>
- </report -->
-
<report>
<name>usr_barcode_patterns</name>
<report_title>Common Barcode Starting Patterns</report_title>