Table of Contents
- Title and Copyright Information
- Preface
-
1
Case Study: Designing a Single-Server, Multidimensional Database
- Process for Designing a Database
- Case Study: The Beverage Company
- Analyzing and Planning
- Drafting Outlines
- Loading Test Data
- Defining Calculations
- Defining Reports
- Verifying the Design
- 2 Understanding Multidimensional Databases
- 3 Creating Applications and Databases
- 4 Creating and Changing Database Outlines
- 5 Creating and Working With Duplicate Member Outlines
- 6 Setting Dimension and Member Properties
-
7
Working with Attributes
- Process for Creating Attributes
- Understanding Attributes
-
Understanding Attribute Dimensions
- Understanding Members of Attribute Dimensions
- Understanding the Rules for Base and Attribute Dimensions and Members
- Understanding the Rules for Attribute Dimension Association
- Understanding the Rules for Attribute Member Association
- Understanding Attribute Types
- Comparing Attribute and Standard Dimensions
- Solve Order and Attributes
- Understanding Two-Pass Calculations on Attribute Dimensions
- Comparing Attributes and UDAs
- Designing Attribute Dimensions
- Building Attribute Dimensions
- Setting Member Names in Attribute Dimensions
-
Calculating Attribute Data
- Understanding the Attribute Calculations Dimension
- Understanding the Default Attribute Calculations Members
- Viewing an Attribute Calculation Example
- Accessing Attribute Calculations Members in Smart View
- Optimizing Calculation and Retrieval Performance
- Using Attributes in Calculation Formulas
- Understanding Attribute Calculation and Shared Members
- Differences Between Calculating Attribute Members and Non-Attribute (Stored and Dynamic Calc) Members
- Non-Aggregating Attributes
- Submitting Data for Valid Attribute Combinations in the Grid
- Suppressing Invalid Attribute Combinations in the Grid
- 8 Working with Typed Measures
-
9
Designing Partitioned Applications
- Understanding Partitioning
- Partition Design Requirements
- Replicated Partitions
-
Transparent Partitions
- Rules for Transparent Partitions
- Advantages of Transparent Partitions
- Disadvantages of Transparent Partitions
- Performance Considerations for Transparent Partitions
- Calculating Transparent Partitions
- Performance Considerations for Transparent Partition Calculations
- Transparent Partitions and Member Formulas
- Transparent Partitions and Port Usage
- 10 Creating and Maintaining Partitions
- 11 Understanding Data Loading and Dimension Building
-
12
Working with Rule Files
- Process for Creating Data Load Rule Files
- Process for Creating Dimension Build Rules Files
- Creating Rule Files
- Setting File Delimiters
- Naming New Dimensions
- Selecting a Build Method
- Setting and Changing Member and Dimension Properties
- Using the Data Source to Work with Member Properties
- Setting Field Type Information
- Setting Dimension Build Operational Instructions
- Defining Data Load Field Properties
- Performing Operations on Records, Fields, and Data
- Validating Rules Files
- 13 Using a Rules File to Perform Operations on Records, Fields, and Data
-
14
Performing and Debugging Data Loads or Dimension Builds
- Prerequisites for Data Loads and Dimension Builds
- Performing Data Loads or Dimension Builds
- Stopping Data Loads or Dimension Builds
- Tips for Loading Data and Building Dimensions
-
Debugging Data Loads and Dimension Builds
- Verifying that Essbase Server Is Available
- Verifying that the Data Source Is Available
- Checking Error Logs
- Resolving Problems with Data Loaded Incorrectly
- Creating Rejection Criteria for End of File Markers
- Understanding How Essbase Processes a Rules File
- Understanding How Essbase Processes Missing or Invalid Fields During a Data Load
-
15
Understanding Advanced Dimension Building Concepts
- Understanding Build Methods
- Using Generation References
- Using Level References
- Using Parent-Child References
- Adding a List of New Members
- Building Attribute Dimensions and Associating Attributes
- Building Shared Members by Using a Rules File
- Building Duplicate Member Outlines
- 16 Modeling Data in Private Scenarios
- 17 Calculating Essbase Databases
-
18
Developing Formulas for Block Storage Databases
- Using Formulas and Formula Calculations
- Understanding Formula Syntax
- Using Functions in Formulas
- Using Substitution Variables in Formulas
- Using Formulas on Partitions
- Displaying Formulas
- 19 Reviewing Examples of Formulas for Block Storage Databases
- 20 Defining Calculation Order
-
21
Understanding Intelligent Calculation
- About Intelligent Calculation
- Using Intelligent Calculation
- Using the SET CLEARUPDATESTATUS Command
- Calculating Data Blocks
- Understanding the Effects of Intelligent Calculation
-
22
Dynamically Calculating Data Values
- Understanding Dynamic Calculation
- Benefitting from Dynamic Calculation
- Using Dynamic Calculation
-
Choosing Values to Calculate Dynamically
- Dense Members and Dynamic Calculation
- Sparse Members and Dynamic Calculation
- Two-Pass Members and Dynamic Calculation
- Parent-Child Relationships and Dynamic Calculation
- Calculation Scripts and Dynamic Calculation
- Formulas and Dynamically Calculated Members
- Scripts and Dynamically Calculated Members
- Dynamically Calculated Children
- Understanding How Dynamic Calculation Changes Calculation Order
- Reducing the Impact on Retrieval Time
- Using Dynamic Calculations with Standard Procedures
- Creating Dynamic Calc Members
- Restructuring Databases
- Dynamically Calculating Data in Partitions
- Custom Solve Order in Hybrid Aggregation Mode
-
23
Calculating Time Series Data
-
Calculating First, Last, and Average Values
- Specifying Accounts and Time Dimensions
- Reporting the Last Value for Each Time Period
- Reporting the First Value for Each Time Period
- Reporting the Average Value for Each Time Period
- Skipping #MISSING and Zero Values
- Considering the Effects of First, Last, and Average Tags
- Placing Formulas on Time and Accounts Dimensions
- Calculating Period-to-Date Values Using Dynamic Time Series Members
- Using Dynamic Time Series Members in Transparent Partitions
-
Calculating First, Last, and Average Values
-
24
Developing Calculation Scripts for Block Storage Databases
- Using Calculation Scripts
- Understanding Calculation Script Syntax
- Using Calculation Commands
- Using Formulas in Calculation Scripts
- Using a Calculation Script to Control Intelligent Calculation
- Grouping Formulas and Calculations
- Using Substitution, Runtime Substitution, and Environment Variables in Calculation Scripts
- Clearing and Copying Data
- Calculating a Subset of a Database
- Exporting Data Using the DATAEXPORT Command
- Enabling Calculations on Potential Blocks
- Using Calculation Scripts on Partitions
- Saving, Executing, and Copying Calculations Scripts
- Checking Calculation Results
-
25
Reviewing Examples of Calculation Scripts for Block Storage Databases
- About These Calculation Script Examples
- Calculating Variance
- Calculating Database Subsets
- Loading New Budget Values
- Calculating Product Share and Market Share Values
- Allocating Costs Across Products
- Allocating Values within a Dimension
- Allocating Values Across Multiple Dimensions
- Goal-Seeking Using the LOOP Command
- Forecasting Future Values
- 26 Using Hybrid Aggregation
-
27
Using Parallel Calculation
- About Parallel Calculation
-
Using CALCPARALLEL Parallel Calculation
- Essbase Analysis of Feasibility
- CALCPARALLEL Parallel Calculation Guidelines
- Relationship Between CALCPARALLEL Parallel Calculation and Other Essbase Features
- Checking Current CALCPARALLEL Settings
- Enabling CALCPARALLEL Parallel Calculation
- Identifying Additional Tasks for Parallel Calculation
- Tuning CALCPARALLEL with Log Messages
- Monitoring CALCPARALLEL Parallel Calculation
- Using FIXPARALLEL Parallel Calculation
-
28
Writing MDX Queries
- About Writing MDX Queries
- Understanding Elements of a Query
- Using Functions to Build Sets
- Working with Levels and Generations
- Using a Slicer Axis to Set Query Point-of-View
- Common Relationship Functions
- Performing Set Operations
- Creating and Using Named Sets and Calculated Members
- Using Iterative Functions
- Working with Missing Data
- Using Substitution Variables in MDX Queries
- Querying for Properties
- 29 Exporting Data
- 30 Controlling Access to Database Cells Using Security Filters
- 31 Using MaxL Data Definition Language
- 32 Optimizing Database Restructuring
- 33 Optimizing Data Loads
-
34
Optimizing Calculations
- Designing for Calculation Performance
- Monitoring and Tracing Calculations
- Using Simulated Calculations to Estimate Calculation Time
- Estimating Calculation Effects on Database Size
-
Using Formulas
- Consolidating
- Using Simple Formulas
- Using Complex Formulas
- Optimizing Formulas on Sparse Dimensions in Large Database Outlines
- Constant Values Assigned to Members in a Sparse Dimension
- Nonconstant Values Assigned to Members in a Sparse Dimension
- Using Cross-Dimensional Operators
- Managing Formula Execution Levels
- Using Bottom-Up Calculation
- Hybrid Aggregation Mode in Block Storage Databases
- Managing Caches to Improve Performance
- Working with the Block Locking System
-
Using Two-Pass Calculation
- Understanding Two-Pass Calculation
- Reviewing a Two-Pass Calculation Example
- Understanding the Interaction of Two-Pass Calculation and Intelligent Calculation
- Choosing Two-Pass Calculation Tag or Calculation Script
- Enabling Two-Pass on Default Calculations
- Creating Calculation Scripts for Two-Pass and Intelligent Calculation
- Choosing Between Member Set Functions and Performance
- Consolidating #MISSING Values
- Removing #MISSING Blocks
- Identifying Additional Calculation Optimization Issues
- 35 Comparison of Aggregate and Block Storage
-
36
Aggregate Storage Applications, Databases, and Outlines
- Process for Creating Aggregate Storage Applications
-
Creating Aggregate Storage Applications, Databases, and Outlines
- Hierarchies
- Attribute Dimensions
- Design Considerations for Attribute Queries
- Design Considerations for Aggregate Storage Outlines
- Query Design Considerations for Aggregate Storage
- 64-bit Dimension Size Limit for Aggregate Storage Database Outline
- Understanding the Compression Dimension for Aggregate Storage Databases
- Verifying Aggregate Storage Outlines
- Outline Paging
- Outline Paging Limits
- Compacting the Aggregate Storage Outline File
- Developing Formulas on Aggregate Storage Outlines
- 37 Aggregate Storage Time-Based Analysis
-
38
Loading, Calculating, and Retrieving Aggregate Storage Data
- Sample Aggregate Storage Outline
-
Preparing Aggregate Storage Databases
- Building Dimensions in Aggregate Storage Databases
- Understanding Exclusive Operations on Aggregate Storage Databases
-
Loading Data into Aggregate Storage Databases
- Incrementally Loading Data Using a Data Load Buffer
- Controlling Data Load Buffer Resource Usage
- Setting Data Load Buffer Properties
- Resolving Cell Conflicts
- Performing Multiple Data Loads in Parallel
- Listing Data Load Buffers for an Aggregate Storage Database
- Creating a Data Slice
- Merging Incremental Data Slices
- Replacing Database or Incremental Data Slice Contents
- Viewing Incremental Data Slices Statistics
- Managing Disk Space For Incremental Data Loads
- Using Smart View
- Data Source Differences for Aggregate Storage Data Loads
- Rules File Differences for Aggregate Storage Data Loads
- Clearing Data from an Aggregate Storage Database
- Copying an Aggregate Storage Application
- Combining Data Loads and Dimension Builds
-
Calculating Aggregate Storage Databases
- Outline Factors Affecting Data Values
- Block Storage Calculation Features That Do Not Apply to Aggregate Storage Databases
- Calculation Order
- Aggregating an Aggregate Storage Database
- Performing Time Balance and Flow Metrics Calculations in Aggregate Storage Accounts Dimensions
- Retrieving Aggregate Storage Data
-
39
Performing Custom Calculations and Allocations on Aggregate Storage Databases
- About Performing Custom Calculations and Allocations on Aggregate Storage Databases
- Custom Calculations on Aggregate Storage Databases
-
Custom Allocations on Aggregate Storage Databases
- List of Allocation Criteria
- Understanding Regions
- Specifying Allocation Criteria
- Setting the POV
- Setting the Range
- Setting the Amount
- Setting the Basis
- Setting the Target
- Setting the Allocation Method
- Setting the Rounding Method
- Setting the Offset
- Balancing Allocations
-
Understanding Settings for Basis and Target Time Span
- Example 1: Basis and Target Time Span—Empty or Single Member
- Example 2: Basis Time Span—Empty or Single Member; Target Time Span—Multiple Members
- Example 3: Basis Time Span—Multiple Members; Target Time Span—Empty or Single Member
- Example 4: Basis and Target Time Span—Multiple Members; Basis Time Span Option—Split
- Example 5: Basis and Target Time Span—Multiple Members; Basis Time Span Option—Combine
- Examples of Aggregate Storage Allocations
- Sample Use Case for Aggregate Storage Allocations
- Avoiding Data Inconsistency When Using Formulas
- Understanding Data Load Buffers for Custom Calculations and Allocations
- Understanding Offset Handling for Custom Calculations and Allocations
- Understanding Credit and Debit Processing for Custom Calculations and Allocations
-
40
Managing Aggregate Storage Applications and Databases
- Aggregate Storage Security
- Managing the Aggregate Storage Cache
- Improving Performance When Building Aggregate Views on Aggregate Storage Databases
- Aggregate Storage Database Restructuring
- Exporting Aggregate Storage Databases
- Calculating the Number of Stored Dimension Levels in an Aggregate Storage Outline
- A Limits
-
B
Naming Conventions for Essbase
- Naming Conventions for Applications and Databases
- Naming Conventions for Dimensions, Members, and Aliases
- Naming Conventions for Dynamic Time Series Members
- Naming Conventions for Attribute Calculations Dimension Member Names
- Naming Conventions in Calculation Scripts, Report Scripts, Formulas, Filters, and Substitution and Environment Variable Values
- List of Essbase System-Defined Dimension and Member Names
- List of MaxL DDL Reserved Words