Category: Business Intelligence

“Create” button Inactive in the Application Roles page in OBIEE 11g

There is a bug in OBIEE 11g that makes the “Create” button Inactive in the Application Roles page in OBIEE 11g. The good news is the solution is very simple.

In case you have not yet seen this issue, but would like to know what this is referring to, then … login to the Enterprise Manager – http://yourserver:7001/em and expand Business Intelligence and click on coreapplication.  Then navigate to the Application Roles page using one of the methods below …

Either from:
(1)   the ‘Security’ -> ‘Single Sign On’ tab, select “Configure and Manage Application Roles”

Security-SingleSignOn-ApplicationRoles

(2) or from the coreapplication drop down menu, select Security -> Application Roles

coreapplication_dropdown-Security-ApplicationRoles

When you get to the Application Roles page, you will notice that the Create button is INACTIVE.

InactiveCreateButton

To activate the button, simply select the drop down for Application Stripe and select <No application stripe selected>, then reselect the appropriate Application Stripe such as obi.

The Create button will now be ACTIVE.  Of course, click the play button to generate the list of Application Roles if necessary.

CreateButtonActive

Oracle positioned as a leader in the Gartner Magic Quadrant for Business Intelligence & Analytics platforms

Gartner released its 2012 “Magic Quadrant for Business Intelligence and Analytics Platforms” report.  As you may expect, Oracle is in the leaders bracket, along with Microsoft, IBM, Tableau Software, SAS, QlikTech, MicroStrategy, Tibco Spotfire, Information Builders and SAP.

GartnerMagicQuadrant_for_BI_and_Analytics

Source: Gartner (February 2013)

Not surprisingly, the report mentions that, in 2012, Data Discovery became a mainstream BI feature, and that Real-time, Content and Predictive Analytics saw increased activity.

You can read all the details here in the … Gartner Magic Quadrant for Business Intelligence and Analytics Platforms report.

Setting up Putty to display screens on your desktop for installing or upgrading OBIEE 11g on Linux

When you attempt to run the RCU (Repository Creation Utility) or UA (Upgrade Assistant) scripts from your desktop/laptop using Putty for an OBIEE install or upgrade on a Linux server, you may get the following error …

UPGAST-00107: The DISPLAY environment variable is not set. The graphical user interface (GUI) requires that this environment variable be set on UNIX.

If you get this error, this post may help you to solve it.  You need to do some configuration in Putty.

Open Putty.

Displaying_Images_Using_Putty_and_Xming1

Select the server that you want to configure from your list of servers. You will notice that the values get populated into the fields.

Displaying_Images_Using_Putty_and_Xming2

Expand SSH, the select X11.   Then Check “Enable X11 forwarding” checkbox, and enter “localhost:0.0” in the X display location box.

Displaying_Images_Using_Putty_and_Xming4

Do not click open at this point.

Go back up and click on Session in the left menu.

And then Save.

However, before you connect using Putty, you should run Xming.

Start -> All Programs -> Xming -> Xming

[If you do not have Xming, you can download it for free, then install it.]

Displaying_Images_Using_Putty_and_Xming7

Now when you open Putty and connect to your server, you should be able to run the install or upgrade processes and see the wizard screens for each step, for example …

>  ./ua   (run the UA script, then the wizard screen will appear)

SampleScreen_UA_Wizard

Developing requirements for an OBIEE project

Eliciting and creating requirements for an OBIEE project is a very important step in creating a successful, pervasive OBIEE system in an organization.

Throughout the requirements elicitation and creation process, you need to keep in mind that all requirements must be testable.  The only way to verify if a requirement has been met is to successfully test it, and therefore, all requirements must be specific and detailed enough to allow for a QA person to verify it.

A huge and essential component of OBIEE projects is the reports being delivered in one form or another – and therefore, another set of characteristics to keep in mind are that the reports and their form of delivery need to be: accurate, relevant, timely, and actionable.

Typically an OBIEE project involves significant effort, and can take several months to complete, but visible progress can be made in a shorter time.  Requirements may need to be prioritized to handle the most critical ones first (a phase 1 for example), and postpone some for later in the project – a phase 2 for example.  However, it should not take months to see some results, because OBIEE is a great platform for an agile methodology – allowing the project to show some results early and ongoing, as the project becomes more and more completed.

To elicit requirements, there are a number of methods that can be used.  You will need to choose the most appropriate method based on the particular scenario – who is the user, what area does the requirements cover, etc.  Some of the methods used can include: interviews, observation, reviewing existing reports (from a previous system for example); soliciting information from colleagues in other companies; and developing/showing report concepts and getting feedback; brainstorming – from strategic goals and reporting needs to tactical/operational.  However, you should try to learn as much as possible about the business, processes and people beforehand; and always try to be a good listener.

Requirements for an OBIEE project can be grouped into the following groups of questions:

What information does the business users need to see? 

This is often driven by the company’s strategic goals. The data needs to be in aid of answering business questions that users will need to aid their decision making in order to realize operational and tactical goals that support the strategic goals.

The information could be enterprise wide, departmental, or specific subject matter.

The reporting requirements could also be classified as strategic, tactical, or operational.  The strategic requirements are usually enterprise wide, while the tactical and operational requirements are usually relevant to a departmental, group or individual role.  Strategic requirements can at times be monitored and tracked via Key Performance Indicators (KPIs) which can be developed and presented in OBIEE.  Operational requirements at times will need Agents or iBots that trigger some action based on an event.  And tactical requirements are usually satisfied using reports that display valuable metrics about the business operations.

What are your business objectives and what metrics will help you to monitor progress toward those objectives?  What information do you wish you had to do your job better?

Where will the data be sourced from?  In other words, what are the source systems?

The answer to this question could include Data warehouses or data marts, ERP systems, Line of Business systems (LOBs), Flat files, External sources, OLTP, OLAP, etc.

The data sources need to be defined in the OBIEE BI Repository (RPD) via Connection Pools, and the metadata for the relevant tables imported.  OBIEE data sources can be relational (OLTP), multi-dimensional (OLAP) or files (Excel, XML, ADF).  The OLAP data sources supported by OBIEE are Oracle Essbase, Oracle OLAP, Microsoft SQL Server Analysis Services, and SAP BW.

However, for better performance, it is best if the data sources are multi-dimensional – either star-schema relational or OLAP.

What data is required from those systems?  And what data needs to be calculated or derived?

Analysis needs to be done to determine what subset of data (if not all) is needed from each of the source systems. What measures, dimensions, hierarchies, and attributes are required? What lookup tables are required?

And it’s always a good idea to ask “Why?”  Why is this data needed?  How will it be used?

This involves reports, and it is important to keep in mind that all report/reporting data need to be accurate, relevant, timely, and actionable.

What data that is not in the source system but can be derived? Calculations, Associations, mappings, etc – these derived items can be created in the OBIEE repository BMM layer, and exposed to users as necessary.

What granularity of data is needed?  Summary, Detail, both

What time range (including the time granularity) of data is needed?  Historical, Current, Real-time, Day, Month, Quarter, Year

What KPI’s are required to track the state of the business?

What data needs to be filtered out/in from each data source tables in the various scenarios?

What are some of the frequently used filter criteria?  à this could drive some of the repository variables created in OBIEE

What are some frequently used values for analysis?  à this could drive dashboard prompts in OBIEE

Will the business users need to perform data mining or need the results of data mining?

How frequently does the data need to be updated?

If the data is not directly connected to the source, then how often should the data be updated – real-time, hourly, daily, weekly, monthly, on-demand, etc?

Who needs to see what data?  And who needs access to what functionality?

This is in essence a security question.  What are the various groups/roles that need access to data, and what data should each group/role have access to?

Can the reporting system be integrated with the company’s existing LDAP? This is typically the case for most modern reporting systems including OBIEE which integrates with popular LDAP systems including Active Directory.

Does row-level security need to be implemented?  OBIEE allows for row-level security.

Can all users use all features of the reporting platform?  Or will only specific users be granted access to specific functionality?

What dashboards and reports will each group of users be able to see?

How will the information be shared with business users?  What modes of information delivery need to be used?

Will reports be shared?  email, saved to a directory, web dashboard, file (pdf, word, excel, html)?

Do users need to be proactively notified of events? – for example, a user or group needs to be notified if stock levels fall below a threshold.

The answers to this question will drive the Agents/iBots that need to be created.

Will the reports be run on a predefined schedule or based on some predefined condition?  Or will they be run on-demand?  This will also drive Agents/iBots and Conditions.

Do users need to download information?  This will drive the ‘report links’ that are placed on the dashboard pages.

Do report results need to be preserved or can/should they be overwritten?

Will users be allowed to create their own analyses or perform adhoc analysis? And if yes, how will that activity be monitored and supported?

What visualization features are required for each report or set of data?  Dashboards, Scorecards, Charts, graphs, tables, pivots, gauges, icons, colors, fonts, etc.

Will the users need to be able to drill from summary to detail reports?  Rollup from detail to summary?

Will the users be able to interact with the data?  Prompts, View Selectors, Column Selectors, etc

What are some of the system level requirements?

What level of system performance is required?

Dashboard and report creation tools

Does the reporting system need to be able to access/connect to multiple data sources at a time?  OBIEE allows for multiple data sources connected at the same time.
Does the reporting system need to be able to access/connect to relational, multi-dimensional, and file data sources?

Does the reporting system need data mining capabilities?

Does the system need to support drill-down, rollup functionality?

What are the critical usage times for the system?  In other words, what are times when the system must be available? For example, during the month-end close process or during the holiday sales season.  This will drive when changes can be made to the system.

What are the highest usage times for the system?  What hardware do we need to support that usage?

How will changes be handled? In other words, what is the change control process?

It is very important that all the relevant players are included in the requirements process – business leaders and business users, SMEs, technical staff, database administrators, OBIEE Developers (report developers, rpd developers), OBIEE architect, ETL developers, ETL architect.  Before development officially starts, it is important to get all relevant sign-offs on the requirements.  This will ensure that everyone is on the same page, and that the business users are getting what they need.

This post will be a “living” document, as I will be coming back and updating this post from time to time to add more detail and more OBIEE specifics.

UPGAST-00014 error when upgrading OBIEE 10g RPD and Catalog to OBIEE 11g

If you get this error during Step 4 of the Upgrade Assistant for upgrading OBIEE 10g RPD and/or Catalog to 11g, then this post might be helpful.

UPGAST-00014: unable to connect to WebLogic Server at localhost:7001
t3://localhost:7001: Destination unreachable; nested exception is: java.net.ConnectException: Connection refused; No available router to destination

UPGAST-00014-error

Perform the following steps that may resolve your problem:

– Log in to Administration Console.  http://yourserver:7001/console
– Click the ‘Servers’ link.

UPGAST-00014-clickServers

Then in the Summary of Servers page / Configuration tab, click ‘AdminServer(admin)’.

UPGAST-00014-AdminServer

– From the Settings for AdminServer page, select the ‘Protocols’ tab, then the ‘Channels’ subtab.
– And then Click ‘Lock & Edit’ button in the upper left Change Center.

UPGAST-00014-ProtocolsChannels

– Click the New button to begin creating a new Network Channel.
– Enter the following information…
Name: Loopback (or whatever name you like)
Protocol: t3

– The click Next

UPGAST-00014-ChannelConfig1

– The enter …
Listen Address: localhost
Listen port: 7001
Click Finish

UPGAST-00014-ChannelConfig2

The new Network Channel (Loopback) is added.  Activate the changes by clicking on the “Activate Changes” button.

UPGAST-00014-ChannelCreated

Now, retry running the Upgrade Assistant. There is no need to restart any of the services.
You should now get past Step 4 (the point at which you were getting the error before).

Unable to see Administration link or dashboards with Administrator ID in OBIEE 11g

If you are unable to see Dashboards or the Administration link after logging in with the administrator ID in OBIEE 11g after upgrading from 10g, this post may help.

Log in to Analytics — http://yourserver:9704/analytics

Manually change URL by attaching “saw.dll?Managegroups” to the end after analytics, so it looks like this … http://yourserver:9704/analytics/saw.dll?Managegroups

adminsecurity-managegroupsurl

Select the “Presentation Server Administrators” catalog group and Edit

edit-psa-catgrp

Add the “BI Administrator Role” Application Role by selecting it in the left and using the arrows to move it to the right.

edit-psa-catgrp2

Log out and log back in with the Administrator ID.

You should now be able to see the “Administration” link at the top right, and also be able to see the dashboards that you had access to by clicking or mousing-over the Dashboards link/dropdown.

administration_link_shows

OBIEE Repository (rpd) development tips

A few tips on BI Repository (RPD) Development …

Physical Layer

  • Import metadata when possible, instead of creating it manually
  • Only import objects that you need or forsee you may need in the near future
  • Import Tables, Keys, and Foreign Keys – which is the default option
  • Create Aliases of Physical Tables – to eliminate unwanted joins and to satisfy any naming conventions you may have chosen
  • Use the Physical diagram to configure joins
  • Create all relevant joins in a star-schema / dimensional model

BMM Layer

  • Use terminology that users are familiar with – words of the business instead of technical physical table and column names
  • Use the Rename Wizard to rename most of your logical objects when possible (this can save you a lot of time)
  • Delete unnecessary objects from your BMM layer
  • Create derived columns for calculations that you forsee using in multiple reports/presentation areas

Presentation Layer

  • Only move the columns you need users to see and work with to your Presentation Layer
  • Rename objects to match the language of the business and ensure that the meaning is very clear
  • Organize your presentation columns in a logical/meaningful order – for example, in a hierarchical order or alphabetic order such as Product Category, Product sub-category, Product -or- Region, Country, State, City, Zip

General

  • Check Global Consistency & resolve warnings and errors
  • Disable caching during development & testing
  • Verify your design by checking the SQL generated and sent to the database

Oracle Financial Analytics Overview

What is Oracle Financial Analytics?
Oracle Financial Analytics is a module of Oracle Business Intelligence Applications, and falls into the grouping of ERP analytics modules. Other Analytics modules under the ERP umbrella include Human Resources, Procurement & Spend, Supply Chain & Order Management, Projects, Asset Management, and Manufacturing. And Analytics modules under the CRM umbrella include Sales, Marketing, Loyalty, Service, Contact Center, and Price.

Oracle Financial Analytics provides companies with deep insight into all aspects of financial control and management.  It provides a multitude of summary and detail views, and many metrics, of information relating to revenues, expenses, assets, liabilities and shareholder equity.  A full spectrum of reports and metrics covers GL, AR, AP, and more, providing key information required to determine the financial state of the company and what actions/decisions may be required.

Why use Oracle Financial Analytics?
In additon to the above benefits, Financial Analytics integrates with Oracle E-Business Suite (EBS), Peoplesoft, JD Edwards, and SAP, which allows companies to implement the technology, filled with years of research and best practices, quickly and with a LOT less risk.

What is Oracle Financial Analytics comprised of?
By listing some of the content of the BI module, without going into too much detail, you will be able to get a sense for the type of information and see the vast amount of content included.

————————
6 Dashboards
————————

General Ledger: provides information about the key areas of required for financial management including balance sheet, cash flow, liquidity, expenses, working capital and liquidity.

Payables: provides information about how effectively and efficiently the company is meeting its payment obligations.

Receivables: provides information about effectively and efficiently the company is collecting payment from sales.

Projects: provides financial information about projects.

Profitability: provides imformation for the key areas for profitability including margins by customer and product, profit and loss statements, revenues, and the various “Return-On metrics” such as ROA, ROI, ROE.

US Federal Financial Performance: provides information about budgets and payments

————————
36 dashboard pages
– broken out by dashboard below:
————————
General Ledger: Overview, Balance Sheet, Cash Flow, Budget vs Actual, Asset Usage, Liquidity, Financial Structure, GL Balance, Trial Balance

Payables: Overview, AP Balance, Payments Due, Effectiveness, Payment Performance, Supplier Report, Invoice Details, All AP Transactions

Receivables: Overview, AR Balance, Payments Due, Effectiveness, Payment Performance, Customer Report, Invoice Details, All AR Transactions

Projects: Project Invoices

Profitability: Overview, P&L, Margins, Revenue, Products, Customers

US Federal Financial Performance: Budget Summary, Budget Details, Budget Spending, Payables

————————
255 Reports – A small sampling of the reports include:
————————
Cash Flow Summary
Monthly & Quarterly Cash Flow
Net Working Capital Summary
Operating Cycle and Cash Cycle
Monthly & Quarterly Balance Sheet
Budget vs Actual – Current & YTD Operating Expenses
Top 10 Categories by Expense Variance -and- Top 10 Cost Centers by Expense Variance
Payables Turnover -and- Receivables Turnover
Cash Ratio
Days Cash in Hand
Quick Ratio -and- Current Ratio
Debt Coverage
Debt to Asset -and- Debt to Equity
GL Account Balance -and- Trial Balance

————————
488 Metrics – A small sampling of the metrics include:
————————
Receivables
AR Balance: • DSO • Closing Group Amt • Credit Limit Used % • Total AR Overdue Amt
AR Aging: • AR Aging 1-30 Amt • AR Due 1-30 Amt • AR Overdue 1-30 Amt
Payment Performance: • AR Payment Days • AR Weighted Days • Times Paid Before Due
AR Transactions: • AR Avg Invoice Amt • AR Credit Memo Amt

Payables
AP Balance: • DPO • Closing Group Amt • Total AP Overdue Amt • Overdue Amt to Total %
AP Aging: • AP Aging 1-30 Amt • AP Due 1-30 Amt • AP Overdue 1-30 Amt
Payment Performance: • AP Payment Days • AP Weighted Days • Times Paid Before Due
AP Transactions: • AP Avg Invoice Amt • AP Avg Payment Amt

General Ledger
Balance Sheet: • Cash • Accounts Receivable • Debt to Equity Ratio • Current Ratio
Asset Turnover: • AR Turnover • AP Turnover • Inventory Turnover • Cash Cycle • Fixed Assets Turnover
Cash Flow: • Operating Cash Flow • Investing Cash Flow • Financing Cash Flow • Net Cash Flow

Profitability
Profitability Returns: • Return on Equity • Return on Assets • Return on Capital
Margins: • Gross Margin % • Operating Margin % • EBT Margin % • Net Income Margin %
Product Profitability: • Revenue • Product Gross Profit • Product Operating Profit
Customer Profitability: • Revenue • Customer Gross Margin

Who will use and benefit from Financial Analytics?
CFOs, Controllers, Accounting Managers, Finance Analysts, Department Heads, Payables and Receivables Managers, Payables & Receivables Analysts, Project Managers, Project Accountants, and much more.

Where can I find more information?
More information about Oracle Financial Analytics can be found here:
http://www.oracle.com/us/solutions/business-analytics/analytic-applications/business-role/financial-analytics/overview/index.html
And more information about Oracle Business Intelligence in general can be found here:
http://www.oracle.com/us/solutions/business-analytics/overview/index.html

Renaming the Views in an Analysis for use in a View Selector in OBIEE 10g & OBIEE 11g

In OBIEE 10g, we renamed the Views directly inside the View Selector definition like here…

Rename-View-10g

In OBIEE 11g, we rename the View inside the View definition itself … like here …

Rename-View-11g-1

then rename …

Rename-View-11g-2

And then you will use/select the new name in the View Selector (instead of renaming it in the View Selector). 

This is much better because you know exactly what view is being used in the View Selector.  Whereas in 10g, at times it took more effort to determine what original view the renamed views related to.

Oracle Business Analytics Warehouse (OBAW) Table Types & Descriptions

Oracle Business Intelligence Applications are driven by a data warehouse (Oracle Business Analytics Warehouse – OBAW) the stores transformed and aggregated data from the many sources that the application supports.  This post describes the various types of tables that make up the OBAW – how they are used and how to identify them.

Table Type

Table   Prefix

Table Type Description
Aggregate Tables

_A

Contain summed data
Dimension tables

_D

Star analysis dimensions
Delete tables

_DEL

Tables that store the IDs of the   entities that were physically deleted from the source system and should be   flagged as deleted from the data warehouse.
Dimension Hierarchy tables

_DH

Tables that store the dimension’s   hierarchical structure
Dimension Helper tables

_DHL

Tables that store M:M relationships   between two joining dimension tables
Staging tables for Dimension Helper

_DHLS

Staging tables for storing M:M   relationships between two joining dimension tables
Staging for Dimension Hierarchy

_DHS

Staging tables for storing the   hierarchy structures of dimensions that have not been through the final ETL   transformations
Staging tables for Dimension

_DS

Tables used to   hold dimension information that have not been through the final ETL   transformations.
Fact tables

_F

Contain   the metrics being analyzed by dimensions.
Fact Staging tables

_FS

Staging tables   used to hold the metrics being analyzedby dimensions   that have not been through the final

ETL   transformations.

Internal tables

_G, _GS,   _S

Internal tables   are used primarily by ETL mappings for data transformation and controlling   ETL runs.
Helper tables

_H

Helper tables are   inserted between the fact and dimension tables to support a many-to-many   (M:M) relationship between fact and dimension records.
Map dimension tables

_M

Tables that store   cross-referencing mappings between the external data ID and the internal ID.
Mini dimension tables

_MD

Include   combinations of the most queried attributes of their parent dimensions. The   database joins these small tables to the fact tables.
Primary extract tables

_PE

Tables that are   used to support the soft delete feature.The table   includes all the primary key columns (integration ID column) from the source   system. When a delete event happens, the full extract from the source compares   the data previously extracted in the primary extract table to determine if a   physical deletion was done in the Siebel application. The soft delete feature   is disabled by default. Therefore, the primary extract tables are not populated   until you enable the soft delete feature.
Persisted staging tables

_PS

Tables that   source multiple data extracts from the same source table.These tables   perform some common transformations required by multiple target objects. They   also simplify the source object to a form that is consumable by the warehouse   needed for multiple target objects. These tables are never truncated during   the life of the data warehouse. These are truncated only during full load, and   therefore, persist the data throughout.
Pre-staging temporary tables

_TMP

Source-specific   tables used as part of the ETL processes to conform the data to fit the   universal staging tables (table types _DS and _FS). These tables contain intermediate   results that are created as part of the conforming process.
Unbounded dimension tables

_UD

Tables containing   information that is not bounded in transactional database data but should be   treated as bounded data in the Oracle Business Analytics Warehouse.
Staging tables for Usage Accelerator

_WS

Tables containing   the necessary columns for the ETL transformations.

Staging Tables
The primary Staging Tables are the Dimension Staging (_DS) and Fact Staging (_FS) tables.  Other Staging tables include Staging for Dimension Helper (_DHLS), Staging for Dimension Hierarchy (_DHS), Persisted Staging (_PS), and Staging for Usage Accelerator (_WS).

When data is extracted from Sources, it is first loaded into a staging area before being loaded into the OBAW.

The Staging Tables stage incremental data from the source system.  On each ETL run, the staging tables’ data is truncated and then re-populated with new or changed data from the source. So these Staging Tables will hold only incremental data except for the initial load when it holds all the data from the source for a predetermined period of time.

Staging tables’ structure is independent of source data structures and resembles the structure of data warehouse tables. This resemblance allows staging tables to be used also as interface tables between the transactional database sources and data warehouse target tables.

Fact Tables
The OBAW Fact tables are suffixed with _F.

Fact tables contain the metrics generated from transactions in the business captured by the source systems.

Fact tables in the Oracle Business Analytics Warehouse contain a surrogate key if the records in the fact table need to be updated or if the fact table has an aggregate table on top of it. Each fact table also contains one or more numeric foreign key columns to link it to various dimension tables.

Aggregate Tables
The OBAW Aggregate tables are suffixed with _A.

The Aggregate tables hold pre-aggregated Fact and Dimension table data. This is one of the major performance features of a data warehouse because the data does not have to be aggregated on-demand, and query results can be quickly returned.

Dimension Tables
The Dimension tables in OBAW are suffixed with _D.

The Dimension Tables provide context / meaning to the Fact tables measures data.

The unique numeric key (ROW_WID) for each dimension table is generated during the load process. This key is used to join each dimension table with its corresponding fact table or tables. It is also used to join the dimension with any associated hierarchy table or extension table. The ROW_WID columns in the Oracle Business Analytics Warehouse tables are numeric. In every dimension table, the ROW_WID value of zero is reserved for Unspecified. If one or more dimensions for a given record in a fact table is unspecified, the corresponding key fields in that record are set to zero.

Mini Dimension Tables
The Mini Dimension tables are suffixed with _MD.  Their purpose is for performance enhancement.

Mini-dimension tables include combinations of the most queried attributes of their parent dimensions. They improve query performance because the database does not need to join the fact tables to the big parent dimensions but can join these small tables to the fact tables instead.

Hierarchy Tables
Hierarchy tables in the OBAW are suffixed with _DH.

Some dimension tables have hierarchies into which each record rolls. This hierarchy information is stored in a separate table, with one record for each record in the corresponding dimension table. This information allows users to drill up and down through the hierarchy in reports.  There are two types of hierarchies in the Oracle Business Analytics Warehouse: a structured hierarchy in which there are fixed levels, and a hierarchy with parent-child relationships. Structured hierarchies are simple to model, since each child has a fixed number of parents and a child cannot be a parent. The second hierarchy, with unstructured parent-child relationships, is difficult to model because each child record can potentially be a parent and the number of levels of parent-child relationships is not fixed.

Helper Tables
Helper tables in OBAW are prefixed with _H (Helper) and _DHL (Dimension Helper).

Helper tables are used by the Oracle Business Analytics Warehouse to solve complex problems that cannot be resolved by simple dimensional schemas.  In a typical dimensional schema, fact records join to dimension records with a many-to-one relationship. To support a many-to-many relationship between fact and dimension records, a helper table is inserted between the fact and dimension tables.  The helper table can have multiple records for each fact and dimension key combination. This allows queries to retrieve facts for any given dimension value. It should be noted that any aggregation of fact records over a set of dimension values might contain overlaps (due to a many-to-many relationship) and can result in double counting.

At times there is a requirement to query facts related to the children of a given parent in the dimension by specifying only the parent value (example: manager’s sales fact that includes sales facts of the manager’s subordinates). In this situation, one helper table containing multiple records for each parent-child dimension key combination is inserted between the fact and the dimension. This allows queries to be run for all subordinates by specifying only the parent in the dimension.-

Internal Tables
Internal tables in the OBAW are suffixed with _G, _GS and _S.

Internal tables are used primarily by ETL (extract-transform-load) mappings for data transformation and for controlling ETL runs. These tables are not queried by end users and are not directly managed by the Oracle Data Warehouse Administration Console (DAC).