Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Getting data from fields in bibliographic records that have left-anchored indexes in Voyager

    • Product: Voyager
    • Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare

     

    Question

    How to get data from fields in bibliographic records that have left-anchored indexes in Voyager using Prepackaged Access Reports?

    Answer

    If the data that you want can be searched using a left-anchored index, consider using the BIB_INDEX table.

    • To use BIB_INDEX, you need to know what value of INDEX_CODE to use.
    • You can look the INDEX_CODE up in the SEARCHPARM table.
    • The NORMAL_HEADING is a version of the search string that is normalized for capitalization, punctuation, subfield coding, and other formatting.
    • The DISPLAY_HEADING has subfield coding removed but is otherwise pretty much what you find in the bibliographic record.

    Here's a way to find out what is in BIB_INDEX using an Access query:

    clipboard_e02a477d979eb0829102c700ef3cc9803.png

     

    Here's an example of the results of that query:

    clipboard_e48f3e5a61b8a474098a63471011b614a.png

    • IX=B means we’re talking about the index of bib records.
    • The first 3 rows index the 245 field, AL=245S+= is the list of subfields that are indexed.
    • NF=2 means that the 2nd indicator says how many characters to skip to skip over leading articles.
    • NM= is the normalization rules, and you don’t usually have to worry about them.
    • So you see that the 245 is indexed with 3 different sets of subfields, and the indexes are called 2450, 2451, and 2452.

     

    The following is an example of a query to see how the 245 is indexed in a simple bibliographic record. Here's the query:

    clipboard_e3c01e7c2c8452142acadd08fc41f6d36.png

     

    Here's the results of that query:

    clipboard_ed3faff9eefadacbbcda4ecbb585324b1.png

    Additional Information

    Example query that looks for LC subject headings that contain the string "nurs":

    SELECT BIB_INDEX.DISPLAY_HEADING, BIB_TEXT.TITLE FROM BIB_INDEX INNER JOIN BIB_TEXT ON BIB_INDEX.BIB_ID = BIB_TEXT.BIB_ID WHERE (((BIB_INDEX.INDEX_CODE)="6500") AND ((BIB_INDEX.NORMAL_HEADING) Like '*NURS*')) ORDER BY BIB_INDEX.NORMAL_HEADING;

     

    Constructing custom SQL queries by request and troubleshooting unexpected results from customer-created SQL queries falls outside the scope of Support. The above has been posted for informational purposes.  Voyager-L and Developer Network are useful resources for finding helpful custom SQL or obtaining assistance from peers in troubleshooting custom queries.

     


    • Article last edited: 03-Jun-2020