This document summarizes a presentation about tracking down calculated fields in the Banner system and replicating their logic in the Oracle Data Store (ODS) for reporting purposes. It describes two cases: 1) using basic calculations by reproducing Banner form logic, and 2) creating new database objects when fields are not delivered to the ODS. The presentation stresses verifying assumptions with facts from Banner instead of trusting users, and working with Banner developers to fully understand underlying formulas before implementing solutions.
Embedding dynamic filters into Custom SQL-based Cognos reports is necessary such that we can define where the filter should exist. This report shows why using the Cognos GUI for filtering is not wise, and how to properly use macros in your code.
Cognos Macros: Situational Examples & SyntaxBryan L. Mack
Embedding dynamic filters into Custom SQL-based Cognos reports is necessary such that we can define where the filter should exist. This report shows why using the Cognos GUI for filtering is not wise, and how to properly use macros in your code.
one of the rules cited in class for making e-mail more effective Experience T...pinck3125
FOR MORE CLASSES VISIT
www.tutorialoutlet.com
Which of the following is not one of the rules cited in class for making e-mail more effective?
A. Include Context B. Ask about one topic at a time
C. Use all capital letters D. Answer a backlog of email in reverse order
Which of the following is not one of the rules cited in class for making e ma...josbuttlewr116
FOR MORE CLASSES VISIT
www.tutorialoutlet.com
Which of the following is not one of the rules cited in class for making e-mail more effective?
A. Include Context B. Ask about one topic at a time
C. Use all capital letters D. Answer a backlog of email in reverse order
2. Which of the following is not an area to protect our computer in?
A. Installing protective systems. B. Tuning the installed protection
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
Embedding dynamic filters into Custom SQL-based Cognos reports is necessary such that we can define where the filter should exist. This report shows why using the Cognos GUI for filtering is not wise, and how to properly use macros in your code.
Cognos Macros: Situational Examples & SyntaxBryan L. Mack
Embedding dynamic filters into Custom SQL-based Cognos reports is necessary such that we can define where the filter should exist. This report shows why using the Cognos GUI for filtering is not wise, and how to properly use macros in your code.
one of the rules cited in class for making e-mail more effective Experience T...pinck3125
FOR MORE CLASSES VISIT
www.tutorialoutlet.com
Which of the following is not one of the rules cited in class for making e-mail more effective?
A. Include Context B. Ask about one topic at a time
C. Use all capital letters D. Answer a backlog of email in reverse order
Which of the following is not one of the rules cited in class for making e ma...josbuttlewr116
FOR MORE CLASSES VISIT
www.tutorialoutlet.com
Which of the following is not one of the rules cited in class for making e-mail more effective?
A. Include Context B. Ask about one topic at a time
C. Use all capital letters D. Answer a backlog of email in reverse order
2. Which of the following is not an area to protect our computer in?
A. Installing protective systems. B. Tuning the installed protection
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
Welcome to my series of articles on Unified Modeling Language. This is "Session 4 – Object Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Welcome to my series of articles on Unified Modeling Language. This is "Session 11 – Communication Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
For more classes visit
www.snaptutorial.com
1. (TCO 1) Most DBMS are referred to as _____________database management systems. (Points : 4)
elemental
linked
hierarchical
relational
2. (TCO 1) A relational DBMS provides protection of the _______________________ through security, control, and recovery facilities. (Points : 4)
user
network
system
database
3. (TCO 2) If a foreign key contains either matching values or nulls, the table(s) that make use of such a foreign key is/are said to exhibit __________ integrity. (Points : 4)
Welcome to my series of articles on Unified Modeling Language. This is "Session 8 – Package Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Welcome to my series of articles on Unified Modeling Language. This is "Session 5 – Composite Structure Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
Accessing non static members from the mainTutors On Net
In this presentation we will discuss about the ways of accessing nonstatic
members and calling non-static functions from the static main
method which is the entry point of any Java class
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Welcome to my series of articles on Unified Modeling Language. This is "Session 4 – Object Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Welcome to my series of articles on Unified Modeling Language. This is "Session 11 – Communication Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
For more classes visit
www.snaptutorial.com
1. (TCO 1) Most DBMS are referred to as _____________database management systems. (Points : 4)
elemental
linked
hierarchical
relational
2. (TCO 1) A relational DBMS provides protection of the _______________________ through security, control, and recovery facilities. (Points : 4)
user
network
system
database
3. (TCO 2) If a foreign key contains either matching values or nulls, the table(s) that make use of such a foreign key is/are said to exhibit __________ integrity. (Points : 4)
Welcome to my series of articles on Unified Modeling Language. This is "Session 8 – Package Diagram" of the series.
Please view my other documents where I have covered each UML diagram with examples
Welcome to my series of articles on Unified Modeling Language. This is "Session 5 – Composite Structure Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
Accessing non static members from the mainTutors On Net
In this presentation we will discuss about the ways of accessing nonstatic
members and calling non-static functions from the static main
method which is the entry point of any Java class
International Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory optionFranck Pachot
Besides adaptive joins and adaptive parallel distribution, 12c comes with Adaptive Bitmap Pruning. I’ll describe the case it applies to and which is often not well known: the Star Transformation
Dynamics GP includes integrated manufacturing functionality that includes bills of materials, MRP, manufacturing orders, in-bound quality management, sales forecast management. You can utilize back flush or work in process processing. This document includes tips and tricks that you might not ordinarily find or know about.
Not so long ago one of our colleagues left the team and joined one company developing software for embedded systems. There is nothing extraordinary about it: in every firm people come and go, all the time. Their choice is determined by bonuses offered, the convenience aspect, and personal preferences. What we find interesting is quite another thing. Our ex-colleague is sincerely worried about the quality of the code he deals with in his new job. And that has resulted in us writing a joint article. You see, once you have figured out what static analysis is all about, you just don't feel like settling for "simply programming".
Explore the meticulous process of customer data cleansing in this detailed PowerPoint presentation. Dive into the techniques used to identify and rectify common data discrepancies in a large dataset using Excel, from correcting dates to standardizing gender entries. This presentation walks through practical examples of cleaning half a million records, showcasing the application of formulas and functions for data analysts seeking to enhance data accuracy and reliability.
1 Exploratory Data Analysis (EDA) by Melvin Ott, PhD.docxhoney725342
1
Exploratory Data Analysis (EDA)
by Melvin Ott, PhD
September, 2017
Introduction
The Masters in Predictive Analytics program at Northwestern University offers
graduate courses that cover predictive modeling using several software products
such as SAS, R and Python. The Predict 410 course is one of the core courses and
this section focuses on using Python.
Predict 410 will follow a sequence in the assignments. The first assignment will ask
you to perform an EDA(See Ratner1 Chapters 1&2) for the Ames Housing Data
dataset to determine the best single variable model. It will be followed by an
assignment to expand to a multivariable model. Python software for boxplots,
scatterplots and more will help you identify the single variable. However, it is easy
to get lost in the programming and lose sight of the objective. Namely, which of
the variable choices best explain the variability in the response variable?
(You will need to be familiar with the data types and level of measurement. This
will be critical in determining the choice of when to use a dummy variable for model
building. If this topic is new to you review the definitions at Types of Data before
reading further.)
This report will help you become familiar with some of the tools for EDA and allow
you to interact with the data by using links to a software product, Shiny, that will
demonstrate and interact with you to produce various plots of the data. Shiny is
located on a cloud server and will allow you to make choices in looking at the plots
for the data. Study the plots carefully. This is your initial EDA tool and leads to
your model building and your overall understanding of predictive analytics.
Single Variable Linear Regression EDA
1. Become Familiar With the Data
2
Identify the variables that are categorical and the variables that are quantitative.
For the Ames Housing Data, you should review the Ames Data Description pdf file.
2. Look at Plots of the Data
For the variables that are quantitative, you should look at scatter plots vs the
response variable saleprice. For the categorical variables, look at boxplots vs
saleprice. You have sample Python code to help with the EDA and below are some
links that will demonstrate the relationships for the a different building_prices
dataset.
For the boxplots with Shiny:
Click here
For the scatterplots with Shiny:
Click here
3. Begin Writing Python Code
Start with the shell code and improve on the model provided.
http://melvin.shinyapps.io/SboxPlot
http://melvin.shinyapps.io/SScatter/
http://melvin.shinyapps.io/SScatter/
3
Single Variable Logistic Regression EDA
1. Become Familiar With the Data
In 411 you will have an introduction to logistic regression and again will ask you to
perform an EDA. See the file credit data for more info. Make sure you recognize
which variables are quantitative and which are catego ...
32 BitOrgchart for Visio Setup.msi32 Bitsetup.exe64 Bi.docxgilbertkpeters11344
32 Bit/Orgchart for Visio Setup.msi
32 Bit/setup.exe
64 Bit/Orgchart for Visio Setup.msi
64 Bit/setup.exe
Create a Viable Data Set for Org Charts.pdf
Stepstocreateadatasetviabletouseasadatasourceforimportingfor
useinVisioOrganizationalDiagrammes
StepOne–theRequiredFields
In any data source, be it a Microsoft Excel Workbook, a Microsoft Access Database, a Microsoft SQL
Database, a Microsoft SharePoint List, a Microsoft Exchange Directory, or any other OLEDB or ODBC‐
Compliant data source, there MUST exist two fields which, with their data, equate to:
A) The Employee’s unique name, or identifier, and
B) The Employee’s Manager’s (Supervisor’s, Reporting Person’s) name, or identifier.
In the case of an Excel Workbook worksheet, these two fields would be two distinct columns of data.
In the case of a Database, these would be two distinct fields in a table, query or view.
In the case of a SharePoint list, these would be two unique fields in the list.
StepTwo–TheRequiredColumn/FieldNames
If the data source is an Excel Workbook Worksheet, Row 1 MUST be the Column Headers. There is
absolutely NO naming convention required for the Column Headers. Typically the Names Employee and
Manager are used, however they can be any names that make sense, as long as the field (i.e. Column)
names are unique and will map to the A) Name of the Employee, and B) The Name of the Person they
Report To.
StepThree–ProperSpelling,Capitalization,Punctuation,andUseofNames
As an example, if the Person being Reported TO has the Name “Joseph Jones”, and that name is used in
the Employee Field for that Manager, then for each employee in that Employee’s Manager field MUST
show as reporting to “Joseph Jones”. This can NOT be listed as “Joe Jones”, “Josef Jones”, “Joseph Q.
Jones”, “Jones, Joseph” or any other permutation of the name. There MUST be an EXACT match
between the name used for the Manager in that Manager’s Employee Field and the name used in the
Manager field for each of the Employees reporting to that Manager under that name. This includes
proper spelling, capitalization, punctuation, and use of the name.
StepFour–Structure
If an individual is listed as having no Manager, it is assumed by Visio that the individual is the very top of
the reporting structure and will appear as the top position / box in the Org Chart. ABSOLUTELY EVERY
EMPLOYEE under that top person MUST report to someone to be included in the organization. That
person that they report to MUST report to someone, etc., etc., etc., all the way from the lowest position
up to the top level person. Every Manager MUST be listed in the Employee field.
Visio does NOT handle “dotted line” reporting. You can manually drop in Dotted line reports, however
they are not understood by the automation or data source at all.
StepFive–TheSourceData,TheWizard,andRe‐Linking.
Once the Visio Organizational Chart Wizard has completed the creation of the Organization Char.
Using pandas library for data analysis in pythonBruce Jenks
This guide is intended to help you get started in Python using the extremely powerful pandas library. You do not need to know Python to use this guide! Discover ways to set yourself apart!
Custom Star Creation for Ellucain's Enterprise Data WarehouseBryan L. Mack
Plugging in new fact & dimension tables to Ellucain's EDW product can be a daunting task. This presentation is an example of a custom star I've created to track employee benefit deductions at a detailed level for trend analysis. The purpose of this presentation is a guideline of how to plug any star into their product using 100% custom code.
Extending the Admin UI: Proactively Preventing Poor BPRA Load/Refresh Perform...Bryan L. Mack
Enhancing Ellucian's Admin UI tool to allow Oracle Chains functionality as well as automatic statistics collections on poorly performing ETL mappings. Presented along with Eric Boyce at Ellucian Live in New Orleans - April 2015.
Oracle's Listagg Function - Uses and Duplicate RemovalBryan L. Mack
Explaining how and why to use the Listagg analytic function delivered in Oracle 11g R2 for pivoting multiple rows' data onto one line. Additionally, tips on how to eliminate duplicate values in a Listagg by using distinct or regular expressions, and writing a function to do all the work for you.
EDW PK Violation Troubleshooting Made EasyBryan L. Mack
Backtracking key-based values from the EDW to Banner by way of the ODS can be a cumbersome task; we have streamlined this by developing reusable code in the form of an Oracle function to dynamically identify redundant records.
SRP Implementation Success in a Complex EnvironmentBryan L. Mack
Colorado Community College System went live with SRP in early 2015. Bringing this to fruition was a large undertaking with many challenges. Among others, these include Banner data errors, cleansing customizations, and MEP compatibility. Additionally, we will discuss the approaches we took to tune our nightly SRP refresh down from 57 hours to 3.5 hours.
Oracle's ListAgg Function & Pertinent UseBryan L. Mack
There is more than one way to skin a cat, and there is more than one way to pivot a table in Oracle. With Oracle release 11gR2, you can dynamically pivot your data sets for undetermined amounts of rows. This quick presentation outlines how to use the ListAgg function.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Navigating the Metaverse: A Journey into Virtual Evolution"
ODS Data Sleuth: Tracking Down Calculated Fields in Banner
1. Presented by: Bryan Mack
Colorado Community College System
April 7, 2014
Session ID 2502
ODS Data Sleuth
Tracking Down Calculated
Fields in Banner
2. Session Rules of Etiquette
• Please turn off your cell phone/pager
• If you must leave the session early, please
do so as discreetly as possible
• Please avoid side conversation during the
session
Thank you for your cooperation!
2
3. About CCCS
• Comprised of 13 community colleges & a
central system office
• 162K active students
• VPD/MEP environment
• ODS 8.4.1 – Streams
• BI team includes our Director, a Cognos
Admin, a DBA, and 4 developers
3
4. Introduction
• This presentation is technical; it involves
extending the ODS in a more involved way
than a simple ETL customization.
• The goal of the actions of this presentation
are to allow for reporting upon complex
data subjects which are not delivered to
the ODS.
4
5. Agenda
• Do’s and Don'ts
• Walk through of two CCCS cases
1) Using basic calculations
2) Creating new database objects
a) Composite View/Table & Reporting View +
ETL
b) Packages/Functions
5
6. Do’s and Don’ts
DO
Trust what the code says
DON’T
Trust what a user thinks without facts to
back it up
6
7. Do’s and Don’ts
DO
Use your fellow developers outside of ODS-
land. Use project managers who completely
understand your data.
DON’T
Trust what a user thinks without facts to
back it up
7
8. Do’s and Don’ts
DO
Use the ODS metadata,Oracle’s DBA views,
and other resources to help you track fields
down
DON’T
Trust what a user thinks without facts to
back it up
8
9. Case 1 – Using Basic Calculations
The Original User Request
“Hi! Can you make me a Cognos report
about employment benefits? Do you need
any more information than this? Can I have
it by tomorrow?”
9
10. Initial Report Requst
Ok – maybe it wasn’t that bad. Here’s the
real request:
This report will identify all optional deductions an employee
can elect during open enrollment. HR Administrators verify
the data entry with this report and run it multiple times
during open enrollment. They currently have to request
this from the PM and it has to be parsed out to the
produpdate folder for each school.
10
11. The Problem
This user required the END_DATE to be populated in the report. The
END_DATE is not stored in the database as it appears on the form.
It displays on the form
There is no end date field in the table
11
12. Solving The Problem
A project manager with Banner access provided us this info
from NBAJOBS regarding this field:
NBAJOBS.CANCEL_DATE
12
13. Discovering a Calculated Value
• As basic Banner/ODS knowledge tells us,
“CANCEL_DATE” is not a stored value
within a Banner table as the field name
does not begin with a 7-character table
name
• This indicates a calculated value.
• We must reverse-engineer this field to
reproduce the calculation in the ODS
13
14. The solution is obviously quite simple
Step 1: Ask the user for the calculation
behind the field. They know this 100% of
the time and will never, ever, under any
circumstances, give you an answer which
could even be misconstrued as incorrect in
any way, shape or form.
14
16. Tracking down a calculated field
Step 1: Ask someone with Banner form
access for the code behind the form. In this
case, the form is NBAJOBS.
16
17. Tracking down a calculated field
We determined the cancel_date is really the (effective_date
– 1) of another row.
When an earning code on NBAJOBS is set to end, a user
manually types in an end date into the end-date field of the
row. This then creates a new row in NBREARN (row 2) with
the effective date equal to the date they just typed in + 1.
This new “effective_date” for row 2 is stored in the
database (if the form is saved after entering the new row);
the end date which was typed in is not stored in the
database. We need to calculate the end date in the same
manner.*
*There is a bit more to it than this, but we are just going high-level in this presentation
17
18. Huh?
To be honest, that previous slide doesn’t matter and you
don’t need to understand it. That might be a cop out since I
barely understand it.
The point is, that logic found in the Banner packages needs
to be reproduced in the ODS.
18
19. Tracking down a calculated field
We can place the following code right into our report
without the need to create a database object to store the
data.
(lead(effective_date,1) over (partition by person_uid, (CASE
WHEN earn_code IN ('BDF','BDS') then 'Dental'
WHEN earn_code IN ('BHF','BHS','BEO') then 'Health'
WHEN earn_code IN ('BLS') then 'Life'
ELSE null
END)
order by effective_date asc, earn_code, active_ind desc)-1) as
end_date
19
20. The Point
The point to take home from this case is to
trust the code behind the Banner form rather
than to play the guessing game or use what
works in most cases. The code will work
100% of the time.
20
21. Case 2 – Using Database Objects
The Original User Request
The user needs to report the financial aid
field “Unmet Need”
The user reported this field to simply be:
RORSTAT_UNMET_NEED
21
22. Finding the field
Our first way of finding this
field is to check the metadata
to see if it is delivered to the
ODS.
Search the metadata for
RORSTAT_UNMET_NEED
It doesn’t appear to be there.
22
23. Finding the field
Don’t always trust the metadata, it’s best to check dba_source and/or
dba_dependencies to see where this field may be hidden in case it
has weaseled its way into the ODS:
select * from dba_dependencies where referenced_name =
'RORSTAT';
select * from dba_source where lower(text) like
'%rorstat_unmet_need%‘;
It can’t hurt to check the source code of any source views these
queries return to see if the object already exists in the ODS.
23
24. Finding the field
Let’s assume the last slide returned nothing. Which is a safe
assumption, because it didn’t.
We have a few options to get this into a report in the ODS:
1) Join your data directly to RORSTAT or write a function to bring this
field in directly from RORSTAT
Technically a possibility, but a bad idea to join real-time
(streamed) data to day-old ODS data
2) Create new custom versions of a composite view, composite table,
and reporting view which contain the new field you wish to report upon.
Getting warmer here, but this isn’t the real answer in this case. Why?
24
25. Finding the field
In my example, I set up the custom database objects to get
RORSTAT_UNMET_NEED into the ODS and thus, on the
report. That field is what the user requested, and I didn’t
listen to my own rules about backing things up with facts.
Shortly after the report was developed, we ran into this:
Total Award and Unmet Need is not displayed for most in the spreadsheet. I did find a
student who had the Total Award showing, but it was calculated incorrectly. The student
is S######## and the Total Award = EFC plus Private scholarship. The Unmet Need is
showing too. It is negative due to private scholarship. For S########, it looks like the
total offered aid and the EFC (or budget) were added together to get the Total Award
number and haven’t a clue how to guess where the Unmet Need calculated (it is negative
the whole financial aid package total).
25
26. So why is the data wrong?
The user requested RORSTAT_UNMET_NEED
erroneously.
Remember the rule of “don’t trust what a user thinks
without facts to back it up”. Well, I didn’t obey.
Email: “I checked them all for aid year 1213, in both PROD and TEST, and I see no
values for unmet need. Where are you getting the numbers you have on the excel sheet
you attached? Per the report request specs, I have been using rorstat_unmet_need.
I have a feeling that unmet need might be a calculated field rather than stored in the
database.”
26
27. Mistake #1
This case presents a bad assumption on my part.
I assumed the user was correct in suggesting we
use RORSTAT_UNMET_NEED. Thus, I wasted
much time creating a custom composite view,
composite table, and reporting view – then
creating and scheduling a new ETL refresh…. Only
to find out this was the wrong field.
27
28. Mistake #2
I next took the user’s word for it when given
a formula:
“We’ll have to take the Student Budget, subtract the EFC.
That will give you GROSS NEED. To get UNMET NEED
you will need to them subtract awarded aid (with the
exception of unsubsidized Stafford loans)”… etc. etc. etc.
28
29. Learning from Mistake #2
This still didn’t correct this issue, as we
determined “The unmet need formula he/she
gave me works only when an individual has
EFC = $0”
This is getting silly…. Let’s get this done
correctly once and for all.
29
30. The Solution
Work with a Banner developer to find the code
behind the form. They usually charge you a bag of
Skittles for their services. In this case, it turned out
we needed several functions out of the Banner
package RNKNEED. The final formula we derived
from this was:
(BUDGET-EFC-RESOURCES) – FUNDS THAT REDUCE
NEED – MAX[(Funds that replace EFC – EFC),0] =
UNMET NEED
30
31. Translating Functions
There were several functions within
RNKNEED that we needed to bring over to
the ODS for this calculation. We store them
in a package called ZRKFUNC. This mimics
the ODS package-naming scheme, only
CCCS uses “Z” as the first character for
custom packages.
31
32. Translating Functions
Using the delivered metadata, we are going to translate all fields in the
RNKNEED functions to use ODS fields so that data is all in synch (ODS data
mixed with current Banner data). For example, within
RNKNEED.F_CALC_CONTRACTS, there is a cursor
CALC_CONTRACT_AMT_C:
SELECT SUM(NVL(DECODE(f_calc_contract_payment(TBBCSTU_STU_PIDM,
-- 60400
TBBCSTU_CONTRACT_PIDM,
TBBCSTU_CONTRACT_NUMBER,
TBBCSTU_TERM_CODE),
'',DECODE(assume_full_time_ind_v,
Look up each banner field name in the metadata to translate to ODS fields:
32
33. Translating Functions
Break down the entire function this way until you’re left with
a version of the function that has replaced all Banner field
names with ODS field names.
NOTE: Your joins may change slightly based on cardinality
33
So this….. Becomes this….
SELECT ’43-8'
FROM RPRCONT,
TBBCSTU
<joins>
WHERE
NVL(TBBCSTU_DEL_IND,'X') <>
'D‘
SELECT ’43-8'
FROM mtt_contract m
WHERE
NVL(m.student_inactivated_ind,'X')
<> 'Y‘
34. Translating Functions
We ended up writing 12 functions in order to calculate
Unmet Need the exact way it is calculated within Banner:
f_calc_awd_reduce_need
f_calc_coa
f_calc_contracts
f_calc_gross_need
f_calc_load
f_calc_oth_resource
f_calc_pell_efc
f_calc_pell_replacement
f_calc_total_awards
f_calc_total_non_need
f_calc_total_resource
f_calc_unmet_need
34