A Quick Tour of Hyperion Essbase
Hyperion Essbase OLAP Server
contains multidimensional databases that support analysis and management
reporting applications that are described as online analytical processing
(OLAP) applications. This QuickTour discusses multidimensional concepts
and terminology:
The information contained in this document is taken from the Hyperion
Essbase Database Administrator's Guide, which is available for viewing on
the Essbase.com web site.
Introducing OLAP
In 1993, E. F. Codd, who set the seminal rules describing relational
databases, published twelve rules for the analytical functions and
performance characteristics that are essential to enterprise-scale
planning and analysis applications. He called the new technology online
analytical processing (OLAP) to reflect its analytical functionality and
to differentiate it from online transaction processing (OLTP).
A multidimensional database supports
multiple views of data sets for users who need to analyze the
relationships between data categories. For example, a marketing analyst
might want answers to the following questions:
|
» |
How did Product A
sell last month? How does this figure compare to sales in the same
month over the last five years? How did the product sell by branch,
region, and territory? |
|
» |
Did this product
sell better in particular regions? Are there regional trends? |
|
» |
Did customers
return Product A last year? Were the returns due to product defects?
Did the company manufacture the products in a specific plant? |
|
» |
Did commissions
and pricing affect how salespeople sold the product? |
|
» |
Did particular
salespeople do a better job of selling the product? |
Multidimensional databases consolidate and calculate data to provide
different views. Only the database outline, the structure that defines all
elements of the database, limits the number of views. With a
multidimensional database, users can pivot the data to see information
from a different viewpoint, drill down to find more detailed information,
or drill up to see an overview.
Codd's twelve rules cover most user
aspects of OLAP, including defining the conceptual view of the data
(multidimensional), defining user needs (consistent reporting
performance), and defining the platform (client-server). Codd also covers
the kind of database operations a multidimensional database should
support. These operations include the following:
|
» |
Unrestricted
cross-dimensional operations |
|
» |
Intuitive data
manipulation |
|
» |
Flexible
reporting |
|
» |
Unlimited
dimensions and consolidation levels |
Because of Codd's research, the multidimensional database is a standard in
today's computing environment. In fact, OLTP and OLAP databases often
coexist; many companies implement an OLAP database in tandem with an OLTP
database.
Introducing Dimensions and Members
If you understand dimensions and members, you are well on your way to
understanding the power of a multidimensional database.
Dimensions. Hyperion Essbase has two
types of dimensions: standard dimensions and attribute dimensions.
Standard dimensions represent the
core components of a business plan and often relate to departmental
functions. Typical standard dimensions are Time, Accounts, Product Line,
Market, and Division. Dimensions are static in most databases; database
dimensions rarely change over the life of the application.
Attribute dimensions are a special
type of dimension and are associated with standard dimensions. Through
attribute dimensions, you group and analyze members of your standard
dimensions. Your analyses are based on the members' attributes
(characteristics). For example, you can compare the profitability of your
non-caffeinated products that are packaged in glass to the profitability
of your non-caffeinated products that are packaged in cans.
Attribute dimensions must be
associated with a base standard dimension. Hyperion Essbase does not store
the data for attribute dimensions, Hyperion Essbase dynamically calculates
the data when a user retrieves it.
Members are the individual
components of a dimension. For example, Product A, Product B, and Product
C might be members of the Product dimension. Each member has a unique
name. A dimension can contain an unlimited number of members. Hyperion
Essbase can store the data associated with a member (referred to as a
stored member in this chapter) or it can dynamically calculate the data
when a user retrieves it.
A dimension represents the highest
consolidation level in the database outline. The database outline indents
members below one another to indicate a consolidation relationship. For
example, in Figure 1: Hierarchical Structure, Time is a dimension and Qtr1
is a member. You will learn in later chapters how the hierarchy of members
in the outline governs how users drill and pivot data.
Arranging Dimensions into
Hierarchies
All Hyperion Essbase database development begins with creating a database
outline. A database outline accomplishes the following:
|
» |
Defines the
structural relationships between members in a Hyperion |
|
» |
Essbase database |
|
» |
Organizes all the
data in the database |
|
» |
Defines the
consolidations and mathematical relationships between items |
Hyperion Essbase uses the concept of members to represent data
hierarchies. Each dimension consists of one or more members. The members,
in turn, may consist of other members. When you create a dimension, you
tell Hyperion Essbase how to consolidate the values of its individual
members. Within the tree structure of the database outline, a
consolidation is a group of members in a branch of the tree.
For example, many businesses
summarize their data monthly, then roll up the monthly data to obtain
quarterly figures, and roll up the quarterly data to obtain annual
figures. Businesses may also summarize data by zip code, then by city,
state, and country. Any dimension can be used to consolidate data for
reporting purposes.
In the Sample Basic database (Sample
Basic is the sample database that ships with Hyperion Essbase), for
example, the Year dimension consists of five members: the Qtr1, Qtr2, Qt3,
and Qtr4 members, each storing data for an individual quarter, plus Year,
storing summary data for the entire year. Qtr1 consists of four members:
the Jan, Feb, and Mar members, each storing data for an individual month,
plus Qtr1, storing summary data for the entire quarter. Likewise, Qtr2,
Qtr3, and Qtr4 consist of the members that represent the individual months
plus the member that stores the quarterly totals.
The database outline in
Figure 1: Hierarchical Structure uses a hierarchical structure to
represent the data consolidations and relationships in Qtr1.
Figure 1:
Hierarchical Structure
Some dimensions consist of
relatively few members, while others may have hundreds or even thousands
of members. Hyperion Essbase does not limit the number of members within a
dimension and allows you to add new members as needed.
Defining Hyperion Essbase
Terminology
Hyperion Essbase uses the terms defined in the following sections to
describe a database outline.
Member Relationships,
Generations, and Levels
Hyperion Essbase uses hierarchical and family history terms to describe
the roles and relationships of the members in an outline. You can describe
the position of the members of the branches in
Figure 2: Member Generation and Level Numbers in several ways.
Figure 2: Member Generation
and Level Numbers
Parents, Children, and
Siblings
Figure 2: Member Generation and Level Numbers illustrates the
following parent, child, and sibling relationships:
Parents: A parent is a member that
has a branch below it. For example, Margin is a parent member for Sales
and Cost of Goods Sold.
Children: A child is a member that
has a parent above it. For example, Sales and Cost of Goods Sold are
children of the parent Margin. Siblings: A sibling is a child member with
the same parent and at the same branch level as another member. For
example, Sales and Cost of Goods Sold are siblings (they both have the
parent Margin), but Marketing (at the same branch level) is not a sibling
because its parent is Total Expenses.
Descendants and Ancestors
Figure 2: Member Generation and Level Numbers illustrates the
following descendant and ancestral relationships:
Descendants: Descendants are all the
members in branches below a parent. For example, Profit, Inventory, and
Ratios are descendants of Measures. The children of Profit, Inventory, and
Ratios are also descendants of Measures.
Ancestors: Ancestors are all the
members in branches above a member. For example, Margin, Profit, and
Measures are ancestors of Sales.
Roots and Leaves
Figure 2: Member Generation and Level Numbers illustrates the
following root and leaf member relationships: Root: The root is the top
member in a branch. Measures is the root for Profit, Inventory, Ratios,
and the children of Profit, Inventory, and Ratios.
Leaves: Leaf members have no
children; they are also referred to as detail members, level 0 members,
and leaf nodes. For example, Opening Inventory, Additions, and Ending
Inventory are leaf members.
Generations and Levels
Figure 2: Member Generation and Level Numbers illustrates the
following generations and branch levels:
Generations: Generation numbers
refer to consolidation levels within a dimension. A root branch of the
tree is generation 1. Generation numbers increase as you count from the
root toward the leaf member. In Figure 2: Member Generation and Level
Numbers, Measures is generation 1, Profit is generation 2, and Margin is
generation 3. All siblings of each level belong to the same generation;
for example, Inventory and Ratios are also generation 2.
Figure 3: Generations shows part of the Product dimension with its
generations numbered:
Figure 3: Generations
Levels: Levels also refer to the
branches within a dimension; however, levels reverse the numerical
ordering that Hyperion Essbase uses for generations. The levels count up
from the leaf member toward the root. The root level number varies
depending on the depth of the branch. In the example in
Figure 2: Member Generation and Level Numbers, Sales and Cost of Goods
Sold are level 0. All other leaf members are also level 0. Margin is level
1 and Profit is level 2. Notice that the level number of Measures varies
depending on the branch. For the Ratios branch, Measures is level 2. For
the Total Expenses branch, Measures is level 3.
Figure 4: Levels shows part of the Product dimension with its levels
numbered:
Figure 4: Levels
Note: You can assign a name to a
generation or level and then use the name as a shorthand for all the
members in that generation or level.
Identifying Values in a
Multidimensional Database
This section describes how data is stored in a
multidimensional database — a cube of cells containing data values. Each
data value is stored in a single cell in the database. You refer to a
particular data value by specifying its coordinates along each standard
dimension. Consider the simplified database in
Figure 5: A Multidimensional Database Outline:
Figure 5: A Multidimensional
Database Outline
This database has three dimensions:
Accounts, Time, and Scenario.
|
» |
The Accounts
dimension has four members: Sales, COGS, Margin, Margin%. |
|
» |
The Time
dimension has four quarter members. Figure 6 shows only the members in
Qtr1. |
|
» |
The Scenario
dimension has two child members: Budget for budget values and Actual
for actual values. |
An intersection of members (one member from
each dimension) represents a data value. The example in Figure 6 has three
dimensions; thus, in
Figure 6: Three Dimensional Database the dimensions and data values in
the database can be represented in a cube, as shown in
Figure 6: Three Dimensional Database:
Figure 6: Three Dimensional
Database
The shaded cells in
Figure 7: Sales Slice of the Database illustrate that, when you refer
to Sales, you are referring to a slice of the database containing eight
Sales values:
Figure 7: Sales Slice of the
Database
When you refer to Actual Sales, you
are referring to four Sales values:
Figure 8: Actual, Sales
Slice of the Database
A data value is stored in a single
cell in the database. To refer to a specific data value in a
multidimensional database, you specify its member on each dimension. In
Figure 9: Sales, Jan, Actual Slice of the Database, the cell
containing the data value for Sales, Jan, Actual is shaded:
Figure 9: Sales, Jan, Actual
Slice of the Database
The data value can also be expressed
using the cross-dimensional operator (->) as Sales->Actual->Jan.
Looking at Data from Different
Perspectives
Slicing the database in different ways gives
you different perspectives of the data. The slice in
Figure 10: Data for January, for example, shows data about the month
of January:
Figure 10: Data for January
The slice in
Figure 11: Data for February shows data for the month of February:
Figure 11: Data for February
The slice in
Figure 12: Data for Profit Margin shows data for profit margin:
Figure 12: Data for Profit
Margin
Slicing a database amounts to fixing
one or more dimensions at a constant value while allowing the other
dimensions to vary. The slice of January in
Figure 10: Data for January, for example, examines all data values for
which the Year dimension is fixed at Jan.
Next Steps
Now that you've had a QuickTour of
multidimensional concepts and terminology, you're ready to start touring
the Hyperion Essbase demo suite!
|