Step 3: Open data load file or the SQL data source file
Step 4: Set the Data Source Properties
Step 5: Set the View to Dimension build fields
Step 6: Select Dimension build method
Generation reference
Level reference
Parent-child reference
Step 7: Format file
Step 8: Associate fields with dimensions
Step 9: Validate the Dimension Build rules file
Update your outline using a rules file
Update your outline using the EAS Outline Editor
Update using MaxL Shell
Executing MaxL from EAS editor
Executing MaxL from command prompt
Attribute dimensions
User Defined Attributes (UDA)
Dynamic Time Series
Shared members
Summary
Chapter 4: Loading Data into Essbase
Make your data Essbase-friendly
Essbase-friendly thoughts
Essbase-friendly example
Types of data sources
Type of data
Types of files used for data loads
Relational databases
Data load methods
Data file freeform (no load rule)
Essbase export and import (no load rule)
Structured data load (load rule used)
Microsoft Excel Lock and Send (no load rule)
Building your first data load rules file
Step 1: Starting the Data Prep Editor
Step 2: Associating the data load rules file
Step 3: Opening data load file or the SQL
data source file
Step 4: Setting the View to Data Load Fields
Step 5: Setting the Data Source Properties
Step 6: Updating the Data Load Settings
Step 7: Setting the Data Load Values
Clearing Data Combinations
Header Definition
Step 8: Associating fields with Data Load Properties
Global properties
Data Load Properties
Step 9: Validating the data load rules file
Step 10: Saving the data load rules file
Loading data into your database
Using the EAS to load data into your
Essbase cube
Loading data using MaxL
Data Load vs. Dimension Build
Summary
Chapter 5: Calculating your Essbase Cube
Calculating your database
The Essbase calculation script
Essbase outline member formula
Calculation types explained
Calculation Scripts
Stored data member formula
Dynamic Calc and Dynamic Calc and Store
Essbase calculation terminology
Default database calculation script
Calc All
Calculate/Aggregate dimension
Essbase Calc commands and functions
Data declarations
Control flow
FIX/ENDFIX
EXCLUDE/ENDEXCLUDE
Functional
SET command functions
Conditionals
IF/ENDIF
Boolean
Relationship functions
Operators
Member set
Range (Financial)
Forecasting
Statistical
Date and Time
Miscellaneous
Order of calculation
Two-Pass Calc
Using Substitution Variables
Substitution Variables using EAS
Substitution Variables using MaxL
Create variables at the server level
Create variables at the application level
Create variables at the database level
Displaying the Substitution Variable and its value
Displaying the Substitution Variable in the
SQL editor
Building your first Calculation Script
Writing and saving a Calculation Script
Executing your Calculation Scripts
Running Calculation Scripts manually
using EAS
Running a Calculation Script using an Essbase Command Script (EssCmd)
What the EssCmd script looks like
Running a Calculation Script using a
MaxL Script
Running a Calculation Script using the Essbase API
Running a Calculation Script from
Microsoft Excel
Running a Calculation Script through the
Essbase Add-In
Running a Calculation Script using Microsoft
Excel VBA
Summary
Chapter 6: Using your Essbase Cube
Using your Essbase database
How do you use your data in the real world
Ad hoc data
Canned reporting
Export data
Forecast analysts
Planning analysts
Budget analysts
Financial analysts
The real target users of your Essbase data
Ways to extract your Essbase data
The Essbase Report Script
How to create an Essbase Report Script
Report script commands and functions
Report layout commands
Data range commands
Data ordering command
Member selection and sorting commands
Format commands
Column or row calculation
Member names and aliases
Building your first Essbase report script
Executing your report scripts
Run reports using EAS
Running a report script using an Essbase command script
Running calc using a MaxL script
Previewing data in EAS
Cubeview
Properties
Summary
Chapter 7: Getting the most out of the Microsoft Excel Add-in
Reporting with the Microsoft Excel Add-in
Connecting to Essbase
Connecting to Essbase from Microsoft Excel
Disconnecting from Essbase
Launching the Essbase Query Designer
Retrieving data from Essbase
Setting the add-in spreadsheet options
Display tab
Zoom tab
Mode tab
Global tab
Selecting Essbase members for your query
Using the Keep Only function
Using the Remove Only function
Zooming in on your data
Zooming out on your data
Pivot Essbase members on your spreadsheet
Flashback: The Essbase Add-in Undo
Locking the data and retrieving
Locking the data
Unlocking the locked data
Sending your data to the database
Running a database calculation
Retrieving your sheet without data
Zooming in on sample data
Linking objects to your data
Creating graphical data representations
Using the currency conversion tool
Custom Microsoft Excel workbook reporting
A final word on the Essbase add-in
Using the Essbase Query Designer
Where do I find the Essbase Query Designer
Creating a query with Essbase Query Designer
Page dimensions
Row dimensions
Column dimensions
Sample query
Report script by-product
Summary
Chapter 8: Automating your Essbase Cube
Essbase command scripts (EssCmd)
Creating an Essbase command script
EssCmd commands and categories
Coding a basic EssCmd
Always remember EssCmd logging
Connecting to an Essbase server
What about error checking
Adding some functional commands
The finished script
Executing an EssCmd
Essbase MaxL scripts
Logging on to the Essbase server
Working with an Essbase application in MaxL
Creating an application
Altering the application
Display application
Drop application
Working with an Essbase database from MaxL
Creating or replacing a database
Altering a database
Display database
Drop database
Working with data in MaxL
Working with database calculations in MaxL
Create calculation
Display calculation
Execute calculation
Drop calculation
Working with user privileges in MaxL
Create user
Alter user
Display user
Drop user
Grant user
Working at the System level with MaxL
Alter system properties
Display system properties
Substitution variables
Executing a MaxL statement
Executing MaxL from Command Prompt
Executing MaxL from EAS
Essbase Application Programming
Interface (API)
Installing the Essbase API
What you should know to use the
Essbase API
What functions are available in the
Essbase API
Essbase API programming tips
Essbase nested coding style examples
Essbase API function declarations
How to code an API function
Essbase API code sample blocks
The sample API subroutine explained
Summary
Chapter 9: Advanced Techniques
Performance tuning your database
The shape of your database outline
The hourglass outline
Database block size
Database configuration settings
Data retrieval buffers
Data cache settings
Data load and storage settings
Partitioning databases
Analytic server configuration file
Configuration categories
Configuration settings to consider
Ports and connections
Logging and error handling
Calculation
Data import/export
Memory management
essbase.cfg memory settings
Summary
Chapter 10: Essbase Analytics Option
What is ASO
Creating an aggregate storage
Application|Database
Hierarchies
Stored hierarchies
Dynamic hierarchies
Outline paging
Aggregation
MDX query language
MDX functions for ASO
MDX function examples
MDX query syntax
Executing an MDX query
Tuples and Sets
Pros and cons of ASO and BSO
Pros and cons of BSO
Pros
Cons
Pros and cons of ASO
Pros
Cons
Summary
Chapter 11: Essbase System 9 Components
Overview of System 9 components
Essbase Analytic Services (Essbase agent)
Essbase Planning
Essbase analytics
Hyperion Application Link/Oracle
Application Link
Oracle Business Rules
Oracle Reports
Essbase Shared Services
Oracle Essbase Provider Services
Essbase Smart Office
Oracle Essbase Financial Reporting
Smart View for Microsoft Office
Summary
Appendix: A New Essbase Companion—Oracle Smart View
Reporting with Oracle Smart View
Adding a data source with the connection manager
Retrieving data using Smart View in
Microsoft Excel
POV Manager
Submitting data and calc scripts in Smart View
Using Smart View in other Microsoft Office products
Index
Nội dung
Chapter 5 [ 165 ] Your Default Calc can be executed manually by selecting it from the available choices on the screen that is displayed when you choose Execute calculation… from the list of choices that appear after right-clicking on your database name in EAS. You can also programmatically execute your Default Calc using the appropriate command in your MaxL script or API call. Calc All The Calc All database calculation function can be executed in two different ways but will perform the same function. You can code the Calc All function in a database calculation script that is either executed manually or through a program. You can also set Calc All to be your database's default calculation string. The Calc All command tells the Essbase to calculate the database according to the consolidations (parent-child rollups) and Store Data tagged member formulas that are set up in the database outline and members' properties. There are occasions when you will create an Essbase database outline that is fairly simple and straight forward with regard to parent-child relationships. This database is more than likely used for presentation and reporting purposes only and the users' access is typically Read Only. With this type of arrangement, the only calculation that needs to be performed is usually after a data load or database/outline restructure. The Calc All command is perfect for this type of scenario. When you initiate a Calc All function, Essbase attempts to determine the best order of calculation for the database, so you must be careful to verify the results of a Calc All. If your database requires complex or unusual calculations, you would be better served using a specically written calculation script. This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Calculating your Essbase Cube [ 166 ] Very Important! Since this is your rst calculation function that you are learning about, we should give you this tip right now. The correct syntax for all calculation functional statements, in both scripts and formulas, is to end the statement with a semi-colon (;). Some statements are not required to end with a semi-colon, like conditional statements (if, else, endif), but all actionable statements are. Calculate/Aggregate dimension With an understanding of the Calc All function, we can now be comfortable describing the two very useful and related database calculation script functions. Where the Calc All function is used to calculate the entire database based on the outline (consolidations and stored member formulas), the CALC DIM and AGG functions are used to perform almost the same function with dimension level precision. The CALC DIM function performs exactly like the Calc All function in that it will execute calculations based on the database outline and Store Data tagged member formulas, with one huge difference. In calculating, functionality is constrained to only the database dimensions you list with this function. The following is an example of how you would code a CALC DIM statement to calculate only the Calendar Periods dimension. To CALC DIM one dimension: CALC DIM("Calendar Periods"); To CALC DIM more than one dimension in one command: CALC DIM("Calendar Periods","Model Year","Market"); To make sure a specic order is followed: CALC DIM("Market"); CALC DIM("Model Year"); CALC DIM("Calendar Periods"); The parameter section of this function can contain a comma separated list if you wish to calculate more than one dimension. If you need to ensure a specic order of calculation for the dimensions, it is best to code individual CALC DIM statements containing only one dimension name in the order you need them to be calculated for each dimension. This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Chapter 5 [ 167 ] Essbase Calc commands and functions As discussed earlier, database calculations are very important features in the Essbase world. For some situations, you may need to write complicated calculation scripts, in other situations, they will be fairly simple. In order for you to become procient in writing calculation scripts you need to have an understanding of some of the predened commands and functions that can be used in an Essbase database calculation script. Let's discuss some of the more commonly used commands and functions in detail. Data declarations When you are writing some of the more complex calculation scripts, you will nd it necessary to manipulate the data while calculating. For manipulating the data, you need to create variables. In an Essbase calc, you can create temporary variables or global variables (also called substitution variables, which are discussed in greater detail later in this chapter). The temporary variables are only available when the calculation script is running and they do not exist after the calculation script has completed. In order to use these variables in a calculation script, you need to declare them. It is always best to declare all of the variables you will be using at the top of the calculation script. There are two types of temporary variables that can be used in an Essbase database calculation scripts: • VAR: A variable containing only one value • ARRAY: A one dimensional array declaration The allowable naming convention for the VAR and ARRAY variables are similar to one another, you can use alpha characters "a through z", numbers "0 through 9", and special characters "$ (dollar sign), # (pound sign), and _ (underscore)". Remember, you cannot use the & (ampersand) as this is reserved for the substitution variables. Example: VAR cRevenue; or VAR cRevenue = 10,000; ARRAY arrCust["TOTAL CUSTOMER"]; This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Calculating your Essbase Cube [ 168 ] The array size would be the total number of members in this dimension. Control ow Control functions control the ow of the data being calculated. As you will see, some functions help select the data while some help restrict the selected data. All in all, they are used to help you calculate your data quickly and efciently. FIX/ENDFIX When we talked earlier about Essbase database calculation control, we meant the FIX/ ENDFIX command. These are the control gate keepers of the database calculation script. The FIX/ENDFIX commands are for use only in an Essbase database calculation script. When you code a member formula, the formula only applies to the member in which it is coded, hence, there is no need for FIX/ENDFIX commands. Using Essbase's full complement of calculation functions and commands, for precise calculation purposes, it hardly matters what your outline looks like, or how it is laid out. In terms of dimension order, Sparse or Dense settings, whether or not you have an Accounts or Time dimension, or pretty much any other way you have your database set upto t your own needs, the calculation script can be coded to do exactly as you wish. With the FIX/ENDFIX command, you can zero in with razor sharp precision on only the data values you wish to calculate. When you employ a FIX/ENDFIX command you are telling Essbase to select a subset of data from the database for calculating. In this way, you will not calculate too much data at any given time. You also will not calculate data that you do not intend to (the denition of Stomp-on). What you will realize by using the FIX/ENDFIX command, besides the benets described above, is keeping your database calculation scripts running at peak performance. The FIX command selects data from the database by blocks. Due to this fact, and also because you want to ensure the highest possible performance while executing calculation scripts, it is recommended that wherever possible, you FIX only on members that are in Sparse Dimension. When you FIX on a Dense Dimension, Essbase needs to pull all of the data blocks affected by the FIX statement into the system's memory, thus potentially affecting performance. This is because dense members have a greater potential to populate across more blocks. This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Chapter 5 [ 169 ] Of course, you can x on any database member(s) you wish, and sometimes you will have no choice. However, if calculation script performance becomes an issue, this is one of the rst places to look to make improvements. For example: FIX(Sparse Dimension) IF(Dense Dimension) Any Calculation Function; ENDIF ENDFIX There is one caveat to this. Essbase will only FIX on members in blocks that have been previously created. You can solve this by using the CREATEBLOCKONEQ command in your calculation script. This command will create the necessary missing blocks for your sparse members. When you use the FIX/ENDFIX command, you are basically turning on, and then off, the data ltering that you incorporated using the FIX/ENDFIX command in the rst place. In a typical calculation script, you may have many separate instances of FIX/ENDFIX commands that enclose a wide variety of calculation functions. The FIX/ENDFIX commands can also be nested inside one another, much like nested IF/ENDIF statements. For every FIX statement, there must be a matching ENDFIX. There is one critical thing you must know about nesting FIX/ENDFIX commands. Never x on one level of a dimension, then x again on a different level of that same dimension in a nested FIX command. Always attempt to FIX to the specic level you intend to for a dimension in one FIX command. The reason for this is because even though the next FIX command is nested within the rst FIX command it will still pull the entire dimension into the calc pool for ltering. In the example of a bad implementation below, the rst FIX command will select all members from the Calendar Periods dimension. The second FIX command will select all of the zero level members from the Calendar Periods dimension. This will actually result in all members of the Calendar Periods dimension being calculated. Do not do this: FIX("Calendar Periods") FIX(@LEVMBRS("Calendar Periods",0)) Any Calculation Function; ENDFIX ENDFIX This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com . licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at Boykma.Com Calculating your Essbase Cube [ 166 ] Very Important! Since this is your rst. licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at Boykma.Com Chapter 5 [ 167 ] Essbase Calc commands and functions As discussed earlier,. licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at Boykma.Com Calculating your Essbase Cube [ 168 ] The array size would be the total number