As you can see in the following message, the data has successfully loaded into your Essbase database without any error messages:... Let's use the EAS and the MaxL editor to create a MaxL
Trang 1Oops! There is a warning message indicating there was an issue with some of the
data and that some or all of the data did not load into your Essbase database In
order to debug the issue, you need to look into the error file generated by the data
load process
As you can see in the previous screenshot, the member name ES440 is not found
in the data base outline This means this member does not exist in the database
outline Just to be sneaky, we removed the alias for the 4 X 4 PICKUP member from the outline on purpose to force this error Essbase will attempt to load data into the
database using the actual member names or aliases You can even select a specific
alias table to use
Anytime if you see the Member Not Found in database message, it means this member
does not exist in the Essbase outline
Let us add the alias code ES440 back into the outline and rerun the data load.
Hooray, we did it! As you can see in the following message, the data has successfully loaded into your Essbase database without any error messages:
Trang 2Chapter 4
[ 151 ]
Loading data using MaxL
By now, you must be familiar with the MaxL scripting language and its statements
We used MaxL to update the Essbase outline in the previous chapter As you know, there are three ways you can execute a MaxL script First, using EAS and the MaxL
editor, second, you can execute MaxL scripts from the Command Prompt, and third, MaxL scripts can be executed from shell commands within another program
Let's use the EAS and the MaxL editor to create a MaxL script and then execute
the script to load data into the Essbase database
Steps to execute MaxL from the EAS editor:
1 Within EAS, Click on File|Editor | MaxL Script Editor.
2 The MaxL editor will open
3 Import Database MaxL statement should be used to load data
Syntax for the Import Database MaxL statement:
IMPORT DATABASE APPLICATION NAME.DATABASE NAME
The various fields present in the MaxL statement are:
• DATA: We need to say data since we are loading data into the database
• CONNECTAS<DatabaseUsername>: Please specify the user name here since
we are loading the data from the relational database
• IDENTIFIEDBY<Databasepassword>: Specifies your database password
• USING <LOCALSERVER NAME>: Location of the rules file
• RULES_FILE<RULEFILENAME>: Name of the rule file like dSales
• ONERRORWRITETO<PATHFORERRORFILE>: Error file information
The Path for error file c:/book/dataload_chap4.err
The complete MaxL statement with correct syntax:
import database 'ESSCAR'.'ESSCAR' data
connect as 'hypuser' identified by 'password'
using server rules_file 'dSales'
on error write to c:/book/dataload_chap4.err
Trang 3Move the above syntax into the MaxL editor, and execute the MaxL statement
The statement should run without any error messages being generated The next
screenshot shows that the data has loaded successfully into the Essbase cube using a MaxL script statement:
Now that you have successfully loaded the base data into your Essbase database,
we now need to calculate the data in order for the data to be rolled up in the
hierarchies described in the database outline Parent values need to be summed
from children values Derived values need to be calculated from the newly loaded
data component values
All of this and more is performed using the Essbase calculation scripts, known
simply as Calcs Calcs will be discussed in much greater detail in the next chapter,
but before we continue, let us quickly recap the differences between a Data Load and
a Dimension Build
Data Load vs Dimension Build
First, an Essbase data load is very similar to an Essbase dimension build Second,
an Essbase data load is very different from an Essbase dimension build
Trang 4Chapter 4
[ 153 ]
Loading data into an Essbase database is the process of loading specific data values into your Essbase database, based on a predefined database outline This predefined database outline contains all of the necessary data attributes to organize the data into
a logical and recognizable format
Building dimensions in an Essbase database outline is the process of loading data
as data attributes, instead of data values, into the database in the form of adding
new dimension members to the database outline The missing data attributes in
the database outline that are contained in the data are added by the dimension
build process so that the accompanying data values can be loaded and not rejected
Summary
Wow, who knew Essbase was such an easy to use and versatile tool when it came
to loading data and maintaining your outline?
Let's see, we have covered the how and why of making your data Essbase-friendly
We have also learned what it means to make data Essbase-friendly and what you
need to do to make it so
As if that wasn't enough, you've also learned all about what are referred to as data
sources for Essbase You now know that a data source can be merely data values
you load into your Essbase database, based on a predefined database outline and
data attributes accompanying the data values
You have learned about the various types of data sources, how Essbase deals with
them, and what you need to do to filter, manipulate, or cleanse them before use
After all of that, we took all what you've learned about data and data sources and
applied it by creating your first data load rules in Oracle Essbase You then used
that load rule to load some honest to goodness real data into your Esscar database
That was easy, wasn’t it?
In the next chapter, we get into the handy dandy Essbase calculation script This
small tool is pretty much singularly responsible for the vast differences between
Oracle Essbase and any typical relational database Not only can you calculate
data on the fly, you create new data elements that are derived from component
data elements that exist in the database, without loading large amounts of data if
the results you want can be derived from the data already existing in your database Turn the page and let's get started on calcs!