Analyze and Plan the Essbase Application

To ensure that your Essbase application analyzes your business information efficiently, formulate a detailed plan that outlines data sources, user needs, and prospective database elements. Attention to this design phase can save you development and implementation time.

The planning and analysis phase involves these tasks:

When designing a multidimensional application, consider these factors:

  • How information flows within the company—who uses which data for what purposes

  • The types of reporting the company does—what types of data must be included in the outline to serve user reporting needs

    Note:

    Defining only one database per application enhances memory usage and ease of database administration.

Analyze Source Data

Evaluate the data to be included in the Essbase database. Consider where it comes from, and the required frequency and size of updates. You should load into Essbase only what's needed for pivot reporting and drill-through. The rest can stay in a relational source, accessible by partition or drill through.

Determine the scope of the database. If an organization has numerous product families containing a vast number of products, you may want to store data values only for product families. Interview members from each user department to find out what data they process, how they calculate and report data today, and how they want to do it in the future.

Carefully define reporting and analysis needs.

  • How do users want to view and analyze data?

  • How much detail should the database contain?

  • Does the data support the desired analysis and reporting goals?

  • If not, what additional data do you need, and where can you find it?

Determine the location of the current data.

  • Where does each department currently store data?

  • Is data in a form that Essbase can use?

  • Do departments store data in relational databases on Windows or UNIX servers, or in Excel spreadsheets?

  • Who updates the database and how frequently?

  • Do those who need to update data have access to it?

Ensure that the data is ready to load into Essbase.

  • Does data come from a single source or multiple sources?

  • Is data in a format that Essbase can use? For a list of valid data sources that you can load into Essbase, see Sources of Data.

  • Is all data that you want to use readily available?

Identify User Requirements

As you plan the Essbase database, discuss information needs with current users of the data, and request sample reports from them. Review the information they use and the reports they must generate for review by others.

Determine the following requirements:

  • What types of analysis do users require?

  • Do users require ad-hoc (pivot style) reporting and structured reports?

  • What summary and detail levels of information do users need?

  • Do some users require access to information that other users should not see?

Plan for Security in a Multiple User Environment

Identify different levels of user information needs as part of planning how to set up Essbase security permissions. By the end of your analysis, you should have a list of users and their required permissions.

Use this checklist to plan for security:

  • Who are the users and what permissions should they have for reading or writing data in the database?

  • Who should have load data permissions?

  • Who should have permission to execute calculations?

  • Which users can be grouped and assigned similar permissions?

Refer also to Manage Users and Roles.

Create Database Models

Create a model of the Essbase database. To build the model, you'll need to identify the perspectives and views that are important to your business. These views translate into the dimensions of the database model.

Many businesses analyze the following views:

  • Time periods

  • Measures

  • Scenarios

  • Products

  • Customers

  • Geographical regions

  • Business units

Next, to help you gather information and make decisions, you will need to identify data analysis objectives, determine the database dimensions and members, and analyze the database design.

Identify Analysis Objectives

After you identify the major views of information in a business, the next step in designing an Essbase database is deciding how the database enables data analysis. For example, you may need to view data by time period, by geography, or by product type.

  • If analyzing by time, which time periods are needed? Should the analysis include only the current year or multiple years? Should the analysis include quarterly and monthly data? Should it include data by season?

  • If analyzing by geographical region, how do you define the regions? Do you define regions by sales territories? Do you define regions by geographical boundaries, such as states and cities?

  • If analyzing by product line, should you review data for each product? Can you summarize data into product classes?

Regardless of the business views, you must determine the perspective and detail needed in the analysis. Each business area that you analyze provides a different view of the data.

Determine Dimensions and Members

The Essbase dimensions you choose determine what types of analysis you can perform. Within each dimension, hierarchies of members represent aspects of the business. For example, a time hierarchy may include quarters and months. A product hierarchy classifies products. A regional hierarchy is based on geographical markets.

You can represent each business view as a separate standard dimension in the database. You may hear business analysts refer to the "bys" of their business, such as by product, by geography, and by time period. If you need to analyze a business view by classification or attribute, such as by the size or color of products, you can use attribute dimensions or properties to represent the classification views.

You can use as many dimensions as you need for analysis. When you know approximately what dimensions and members you need, develop a tentative database design.

After you determine the dimensions of the database model, choose the elements or items within each dimension. These elements become the hierarchies and members of their respective dimensions. For example, a time hierarchy may include the time periods that you want to analyze, such as quarters, and within quarters, months. Each quarter and month becomes a member of the dimension that you create for time. Quarters and months represent a two-level hierarchy of members and their children. Months within a quarter can consolidate to a total for each quarter.

Relationships Among Dimensions

Consider the relationships among the dimensions. The structure of an Essbase database makes it easy for users to analyze information from many perspectives. A financial analyst, for example, may ask the following questions:

  • What are sales for a particular month? How does this figure compare to sales in the same month over the last five years?

  • By what percentage is profit margin increasing?

  • How close are actual values to budgeted values?

In other words, the analyst may want to examine information from three dimensions—time, account, and scenario. The sample database illustrated below represents these three dimensions, with one dimension represented along each of the three axes:

  • A time dimension, which comprises Jan, Feb, Mar, and the total for Qtr1, is displayed along the X-axis.

  • An accounts dimension, which consists of accounting figures such as Sales, COGS, Margin, and Margin%, is displayed along the Y-axis.

  • Another dimension, which provides a different point of view, such as Budget for budget values and Actual for actual values, is displayed along the Z-axis.

Figure 1-1 Cube Representing Three Database Dimensions


This image shows a cube representing three dimensions, as described in the text preceding the image.

The cells within the cube, where the members intersect, contain the data relevant to all three intersecting members; for example, the actual sales in January.

Example Dimension-Member Structure

The table below shows a summary of the TBC dimensions. The application designer created three columns, with the dimensions in the left column and members in the two right columns. The members in column 3 are subcategories of the members in column 2. In some cases, members in column 3 are divided into another level of subcategories; for example, the Margin of the Measures dimension is divided into Sales and COGS.

Table 1-1 TBC Sample Dimensions

Dimensions Members Child Members

Year

Qtr1

Jan, Feb, Mar

Year

Qtr2

Apr, May, Jun

Year

Qtr3

Jul, Aug, Sep

Year

Qtr4

Oct, Nov, Dec

Measures

Profit

Margin: Sales, COGS

Total Expenses: Marketing, Payroll, Miscellaneous

Measures

Inventory

Opening Inventory, Additions, Ending Inventory

Measures

Ratios

Margin %, Profit %, Profit per Ounce

Product

Colas (100)

Cola (100‑10), Diet Cola (100‑20), Caffeine Free Cola (100‑30)

Product

Root Beer (200)

Old Fashioned (200‑10), Diet Root Beer (200‑20), Sarsaparilla (200‑30), Birch Beer (200‑40)

Product

Cream Soda (300)

Dark Cream (300‑10), Vanilla Cream (300‑20), Diet Cream Soda (300‑30)

Product

Fruit Soda (400)

Grape (400‑10), Orange (400‑20), Strawberry (400‑30)

Market

East

Connecticut, Florida, Massachusetts, New Hampshire, New York

Market

West

California, Nevada, Oregon, Utah, Washington

Market

South

Louisiana, New Mexico, Oklahoma, Texas

Market

Central

Colorado, Illinois, Iowa, Missouri, Ohio, Wisconsin

Scenario

Actual

N/A

Scenario

Budget

N/A

Scenario

Variance

N/A

Scenario

Variance %

N/A

In addition, the application designer added the following attribute dimensions to enable product analysis based on size and packaging:

Table 1-2 TBC Sample Attribute Dimensions

Dimensions Members Child Members

Ounces

Large

Small

64, 32, 20

16, 12

Pkg Type

Bottle

Can

N/A

Checklist for Determining Dimensions and Members

Use the following checklist when determining the dimensions and members of your model database:

  • What are the candidates for dimensions?

  • Do any of the dimensions classify or describe other dimensions? These dimensions are candidates for attribute dimensions.

  • Do users want to qualify their view of a dimension? The categories by which they qualify a dimension are candidates for attribute dimensions.

  • What are the candidates for members?

  • How many levels does the data require?

  • How does the data consolidate?

Analyze Database Design

Review the initial Essbase dimensional design according to these guidelines around the number of dimensions, their combined analytical value, and avoidance of repetition. Performing this up-front analysis will help you achieve an efficient database design that meets your data consolidation and calculation goals.

The number of members needed to describe a potential data point should determine the number of dimensions. If you are not sure whether you should delete a dimension, keep it and apply more analysis rules until you feel confident about deleting or keeping it.

Dense and Sparse Dimensions

Which dimensions are sparse, and which are dense, affects performance. See:

Standard and Attribute Dimensions

For simplicity, the examples in this topic show alternative arrangements for what was initially designed as two dimensions. You can apply the same logic to all combinations of dimensions.

Consider the design for a company that sells products to multiple customers over multiple markets; the markets are unique to each customer:

             Cust A  Cust B  Cust C
New York     100     N/A     N/A
Illinois     N/A     150     N/A
California   N/A     N/A     30

Cust A is only in New York, Cust B is only in Illinois, and Cust C is only in California. The company can define the data in one standard dimension:

Market
  New York
    Cust A
  Illinois
    Cust B
  California
    Cust C

However, if you look at a larger sampling of data, you may see that many customers can be in each market. Cust A and Cust E are in New York; Cust B, Cust M, and Cust P are in Illinois; Cust C and Cust F are in California. In this situation, the company typically defines the large dimension, Customer, as a standard dimension and the smaller dimension, Market, as an attribute dimension. The company associates the members of the Market dimension as attributes of the members of the Customer dimension. The members of the Market dimension describe locations of the customers — each customer has exactly one market.

Customer (Standard dimension)
  Cust A (Attribute:New York)
  Cust B (Attribute:Illinois)
  Cust C (Attribute:California)
  Cust E (Attribute:New York)
  Cust F (Attribute:California)
  Cust M (Attribute:Illinois)
  Cust P (Attribute:Illinois)
Market (Attribute dimension)
  New York
  Illinois
  California

Consider another situation. Again, the company sells products to multiple customers over multiple markets, but the company can sell to a customer that has locations in different markets:

             Cust A  Cust B  Cust C
New York     100      75     N/A
Illinois     N/A     150     N/A
California   150     N/A      30

Cust A is in New York and California. Cust B is in New York and Illinois. Cust C is only in California. Using an attribute dimension does not work in this situation; a customer member cannot have multiple attribute members. Therefore, the company designs the data in two standard dimensions:

Customer
  Cust A
  Cust B
  Cust C
Market
  New York
  Illinois
  California

Dimension Combinations

Break each combination of two dimensions into a two-dimensional matrix. For example, proposed dimensions at TBC include the following combinations:

  • Year across Measures

  • Year across Product

  • Year across Market

  • Year across Scenario

  • Measures across Product

  • Measures across Market

  • Measures across Scenario

  • Market across Product

  • Market across Scenario

  • Scenario across Product

  • Ounces across Pkg Type

Ounces and Pkg Type, as attribute dimensions associated with the Product dimension, can be considered with the Product dimension.

To help visualize each dimension, draw a matrix and include a few of the first-generation members. The following image shows a simplified set of matrices for three dimensions.

Figure 1-2 Analyzing Dimensional Relationships


This image shows a simplified set of matrices for three dimensions, illustrating how to analyze dimensional relationships.

For each combination of dimensions, ask three questions:

  • Does it add analytic value?

  • Does it add utility for reporting?

  • Does it avoid an excess of unused combinations?

For each combination, the answers to the questions help determine whether the combination is valid for the database. Ideally, the answer to each question is yes. If not, consider rearranging the data into more-meaningful dimensions. As you work through this process, discuss information needs with users.

Repetition in Outlines

The repetition of elements in an outline often indicates a need to split dimensions. The following examples show you how to avoid repetition.

In this example, the left column, labeled "Repetition," shows Profit, Margin, Sales, COGS, and Expenses repeated under Budget and Actual in the Accounts dimension. The right column, labeled "No Repetition," separates Budget and Actual into another dimension (Scenario), leaving just one set of Profit, Margin, Sales, COGS, and Expenses members in the Accounts dimension. This approach simplifies the outline and provides a simpler view of the budget and actual figures of the other dimensions in the database.

Figure 1-3 Example of Eliminating Repetition By Creating a Scenario Dimension


This image provides one solution to a repetition problem, as described in the text preceding the image.

In this example, the left column, labeled “Repetition,” uses shared members in the Diet dimension to analyze diet beverages. Members 100–20, 200–20, and 300–20 are repeated: once under Diet, and once under their respective parents. The right column, labeled “No Repetition,” simplifies the outline by creating a Diet attribute dimension of type Boolean (True or False). All members are shown only once, under their respective parents, and are tagged with the appropriate attribute (“Diet: True” or “Diet: False”).

Figure 1-4 Example of Eliminating Repetition By Creating an Attribute Dimension


This image provides one solution to a repetition problem, as described in the text preceding the image.

Attribute dimensions also provide additional analytic capabilities. See Benefits of Essbase Attributes.

Interdimensional Irrelevance

Interdimensional irrelevance occurs when many members of a dimension are irrelevant across other dimensions. Essbase defines irrelevant data as data that Essbase stores only at the summary (dimension) level. In such a situation, you may be able to remove a dimension from the database and add its members to another dimension or split the model into separate databases.

For example, TBC considered analyzing salaries as a member of the Measures dimension. But salary information often proves irrelevant in the context of a corporate database. Most salaries are confidential and apply to individuals. The individual and the salary typically represent one cell, with no reason to intersect with any other dimension.

TBC considered separating employees into a separate dimension. The following table shows an example of how TBC analyzed the proposed Employee dimension for interdimensional irrelevance. Members of the proposed Employee dimension (represented in the table header row) are compared with members of the Measures dimension (represented in the left-most column). The Measures dimension members (such as Revenue) apply to All Employees; only the Salary measure is relevant to individual employees.

Table 1-3 Example of Interdimensional Irrelevance

Image of a space is used for empty thead cells Joe Smith Mary Jones Mike Garcia All Employees

Revenue

Irrelevance

Irrelevance

Irrelevance

Relevance

Variable Costs

Irrelevance

Irrelevance

Irrelevance

Relevance

COGS

Irrelevance

Irrelevance

Irrelevance

Relevance

Advertising

Irrelevance

Irrelevance

Irrelevance

Relevance

Salaries

Relevance

Relevance

Relevance

Relevance

Fixed Costs

Irrelevance

Irrelevance

Irrelevance

Relevance

Expenses

Irrelevance

Irrelevance

Irrelevance

Relevance

Profit

Irrelevance

Irrelevance

Irrelevance

Relevance

Reasons to Split Databases

Because individual employee information is irrelevant to the other information in the database, and also because adding an Employee dimension would substantially increase database storage needs, TBC created a separate Human Resources (HR) database. The new HR database contains a group of related dimensions and includes salaries, benefits, insurance, and 401(k) plans.

There are many reasons for splitting a database; for example, suppose that a company maintains an organizational database that contains several international subsidiaries in several time zones. Each subsidiary relies on time-sensitive financial calculations. You can split the database for groups of subsidiaries in the same time zone to ensure that financial calculations are timely. You can also use a partitioned application to separate information by subsidiary.

Checklist to Analyze the Database Design

Use the following checklist to analyze the database design:

  • Have you minimized the number of dimensions?

  • For each dimensional combination, did you ask:

    • Does it add analytic value?

    • Does it add utility for reporting?

    • Does it avoid an excess of unused combinations?

  • Did you avoid repetition in the outline?

  • Did you avoid interdimensional irrelevance?

  • Did you split the databases as necessary?