This presentation was given at the Voyager Users Group Meeting (VUGM) in 2002. It covers some exciting and interesting data fields and techniques for retrieving them out of the Voyager ILS's Oracle tables.
Buried Treasure: Finding Reporting Gold in the Voyager Tables (using Microsoft Access)
1. FINDING REPORTING GOLD
IN THE VOYAGER TABLES
BURIED
TREASURE:
SESSION 9
Alan Manifold
Systems Implementation Manager
Purdue University Libraries
manifold@purdue.edu
2. THE TOOLS
IN THE BLURB FOR THIS SESSION, I MENTIONED THREE
TOOLS:
1. THE VOYAGER CLIENTS
2. THE ENTITY-RELATIONSHIP DIAGRAMS
WHOOPS! THAT’S ONE SHORT. THE FINAL ONE IS:
3. THE VOYAGER TABLES IN ACCESS
1. 2. 3.
3. VOYAGER CLIENTS
THERE’S NO BETTER PLACE
THAN THE VOYAGER
MODULES TO FIND THE RIGHT
VALUES, AND THE RIGHT
RELATIONSHIPS.
4. E-R DIAGRAMS
X
THE E-R, OR ENTITY-
RELATIONSHIP,
DIAGRAMS GIVE LOTS
OF INFORMATION
ABOUT THE TABLES
AND HOW THEY
RELATE TO ONE
ANOTHER.
KEY
Looks like this now
5. TABLES IN ACCESS
LOOKING AT THE
CONTENTS OF THE
TABLES GIVES YOU
A GREAT DEAL OF
INFORMATION.
DESIGN VIEW, EVEN
THOUGH YOU CAN’T
CHANGE IT, ALSO YIELDS
LOTS OF INFORMATION.
6. THE CERTA-QUERY SYSTEM
1. Map out what results you want
2. Create a strategy using the E-R diagrams
3. Identify desired value in clients
4. Pick a table from the E-R diagrams
5. Compare table to clients
6. Add the table and check links
7. Make the query return enough data to verify it
8. Verify results against all possible sources
9. Repeat from Step 3
10.Clean up details
THE CERTA-QUERY SYSTEM (CLIENTS / E-R DIAGRAMS
/ TABLES) FOR QUERY DEVELOPMENT IS AN ITERATIVE
PROCESS. APPLY THE INNER STEPS TO ONE VALUE,
THEN REPEAT THEM FOR EACH VALUE IN TURN.
7. STEP 1: MAP OUT RESULTS YOU WANT
EXAMPLE: WHAT
TITLES COST LESS
THAN $25, WHAT
FUNDS DID I USE
TO PAY FOR THEM
AND HOW MUCH
DID I PAY?
FOR EACH TITLE, I WILL WANT THE
TITLE AND PERHAPS OTHER BIB INFO,
THE LEDGER AND FUND NAMES AND
THE AMOUNT PAID. FOR THIS
EXAMPLE, WE WANT THE RESULTS
FOR ALL TITLES IN OUR DATABASE
FOR WHICH WE PAID UNDER $25.
8. STEP 2: CREATE A STRATEGY
USING THE E-R DIAGRAMS
I START WITH THE
LEDGERS & FUNDS
E-R DIAGRAM,
SINCE WE ARE
TALKING ABOUT
MONEY.
I FIND FUND AND
INVOICE_LINE_ITEM_FUNDS,
WHICH LOOK USEFUL, BUT I
DON’T FIND A LINK TO THE
BIB RECORD.
THE FUND TABLE
SHOWS LINKS TO
INVOICE AND TO
PURCHASE_ORDER.
9. CREATE A STRATEGY
USING THE E-R DIAGRAMS
THE PURCHASE_ORDER AND INVOICE CONNECTIONS
LEAD ME TO THE PURCHASE ORDER & INVOICE E-R
DIAGRAM. HERE, I FIND THAT PURCHASE_ORDER IS
LINKED TO LINE_ITEM, WHICH CONTAINS A BIB_ID TO
LINK IT TO BIB_MASTER AND OTHER BIB TABLES.
10. CREATE A STRATEGY
USING THE E-R DIAGRAMS
THE PURCHASE ORDER &
INVOICE DIAGRAM
SHOWS AN INDIRECT
LINK BETWEEN
LINE_ITEM AND
INVOICE_LINE_ITEM_FUNDS,
WHICH GIVES ME THE
ENTIRE CHAIN I NEED.
BIB INFO
LINE ITEMS
INVOICE LINE ITEMS
FUND INFO
11. STEPS 3 AND 4
STEP 4: PICK A TABLE
FROM THE E-R DIAGRAMS.
SOME TABLES ARE
IMPORTANT ENOUGH THAT
YOU SHOULD JUST LEARN
THEIR CONTENTS.
BIB_TEXT IS PROBABLY
THE MOST IMPORTANT OF
THESE. IT CONTAINS THE
BIB_ID, PLUS AUTHOR,
TITLE, ISBN, PUBLISHER,
PUBLICATION DATES, ETC.
I’LL START WITH IT FOR
THIS QUERY, SINCE I WANT
THE TITLE.
STEP 3: IDENTIFY
DESIRED VALUE IN
CLIENTS. WE PICK
A DESIRED RECORD
IN THE ACQ
MODULE AND NOTE
ITS TITLE, AND WE
SEE THAT THERE IS
ALSO A “BIB
RECORD ID”
DISPLAYED.
12. STEP 5: COMPARE TABLE TO CLIENTS
THE “BIB RECORD ID” LOOKS LIKE A BIB_ID, SO I TRY IT,
AND THE AUTHOR AND TITLE FOR THAT RECORD MATCH
WHAT I’M LOOKING FOR, SO THIS IS THE RIGHT TABLE
TO USE.
13. STEP 6: ADD TABLE AND CHECK LINKS
THE FIRST STEP IS JUST TO
GET THE CHOSEN TABLE
INTO THE QUERY. SINCE
THIS IS THE FIRST TABLE,
WE DON’T HAVE TO CHECK
ANY LINKS, BUT THAT IS
PART OF THIS STEP FOR
SUBSEQUENT TABLES.
14. STEP 7: MAKE THE QUERY RETURN
ENOUGH DATA TO VERIFY IT
THE FIRST VERSION IS QUITE
SIMPLE, BUT IT ASSURES ME
THAT I’VE GOT THINGS RIGHT. I
ADD THE BIB_ID SO I CAN VERIFY
THE RESULTS AGAINST THE
RECORD I KNOW. WHEN THE
QUERY IS COMPLETE, I WILL
REMOVE THAT FIELD AND ITS
CRITERION.
15. STEP 8: VERIFY RESULTS AGAINST
ALL POSSIBLE SOURCES
SEEING THE BIB
INFO FROM THE
ACQ MODULE
SHOULD BE
ENOUGH, BUT IT
CAN’T HURT TO
LOOK AT
CATALOGING, TOO.
16. STEP 9: REPEAT FROM STEP 3
3. IDENTIFY DESIRED
VALUE IN CLIENTS
4. PICK A
TABLE
FROM THE
E-R
DIAGRAMS
WE HAVE
BIB_ID, SO
WE CAN
LINK TO
LINE_ITEM
17. REPEAT FROM STEP 3
5. COMPARE TABLE TO
CLIENTS
6. ADD TABLE AND CHECK LINKS
7. RETURN
ENOUGH DATA
TO VERIFY THE
QUERY
18. REPEAT FROM STEP 3
8. VERIFY RESULTS
AGAINST ALL
POSSIBLE SOURCES
WE REPEAT THIS FOR ALL TABLES,
OFTEN RUNNING MORE THAN ONE
TEST FOR EACH STEP. FOR
INSTANCE, WE COULD REMOVE
THE BIB_ID CRITERION FROM THIS
QUERY AND SEE MORE RESULTS.
19. CONTINUING WITH EXAMPLE
THE JUMP FROM LINE_ITEM TO
LINE_ITEM_COPY_STATUS
DOESN’T GIVE ME ANYTHING I
CAN VERIFY, SO I CONTINUE TO
THE NEXT TABLE IN THE CHAIN,
INVOICE_LINE_ITEM_FUNDS.
IN THAT TABLE I SEE THAT
THE AMOUNT FIELD NEARLY
MATCHES WHAT I EXPECT
(OFF BY A FACTOR OF 100), SO
IT LOOKS LIKE WE’RE OKAY.
20. ADD THOSE TWO TABLES AND GET
SOME FIELDS
THE FUND_ID, LEDGER_ID AND AMOUNT FIELDS SHOW
US THAT WE’RE STILL ON THE RIGHT TRACK.
21. THE FINAL LINKS IN THE CHAIN
THE LEDGER AND FUND IDS FROM THE
INVOICE_LINE_ITEM_FUNDS TABLE POINT TO THE
LEDGER AND FUND RECORDS I EXPECT.
FUND AND LEDGER
ARE TWO MORE
TABLES TO
MEMORIZE IF YOU
DO ACQ REPORTS.
22. ADD TABLES AND CHECK LINKS
WHEN WE ADD FIRST FUND, THEN LEDGER, THE LINKS ARE
OBVIOUSLY NOT SUFFICIENT. THE FUND TABLE IS NOT
LINKED AT ALL. ALSO, THE E-R DIAGRAMS SHOW THE LINK
FROM INVOICE_LINE_ITEM_FUNDS GOING TO FUND, THEN
TO LEDGER FROM THERE.
23. STEP 10: CLEAN UP DETAILS
FOR THIS QUERY, THE DETAILS INCLUDE REORDERING
THE FIELDS, TAKING OUT THE FIELDS WE DON’T REALLY
WANT, CONVERTING THE AMOUNT FIELD TO DOLLARS
AND CENTS, AND ADDING THE AMT CRITERION.
24. FINAL COMMENTS
THE CERTA-QUERY SYSTEM IS NOT
DESIGNED TO MAKE IT EASY TO
CREATE QUERIES BUT TO HELP MAKE
SURE THE RESULTS OF QUERIES ARE
CORRECT.
• THE EMPHASIS IS ON VERIFICATION OF RESULTS
• THE PROCESS IS SLOW AND STEADY, MOSTLY
SLOW
• IF THE DEVIL IS IN THE DETAILS, THIS SYSTEM
WON’T HELP MUCH
NOW GO OUT AND FIND
THAT TREASURE!