The BSO also supports write back or update capabilities from Microsoft Excel using the "Lock and Send" method within the Essbase add-in or from automated batch data load operations.. Th
Trang 1Block Storage Option (BSO)
The BSO is best suited for denser concentrations of data The BSO also supports write
back or update capabilities from Microsoft Excel using the "Lock and Send" method
within the Essbase add-in or from automated batch data load operations The
Essbase add-in has built-in functionality that allows the user to update data directly
in the database by simply selecting the Lock and then Send selections from the
Essbase add-in menu When selected, the Lock function will lock all the data blocks affected by the range of data contained in the Microsoft Excel spreadsheet The
Send function will then send the data values back to the database After a successful update, the locked data is automatically unlocked This database model is best suited
for Financial Applications where the users can perform complex calculations In BSO,
each dimension is tagged as either a dense or sparse data concentration In a dense
dimension, the data cubes have the likelihood that all the cells in a data block will
be populated with data In a sparse setting, the opposite is true, there would likely
be empty data cells For example, in your database, the Calendar Periods
dimension would most likely be a dense dimension, since there would be data for
most items for each time period The Market dimension would probably be sparse
as chances are that not all of your products are sold in all of the countries
Shown below is a snapshot of the sample BSO application provided with the Essbase installation You will note (as indicated by the pink number in braces) that each
dimension has a relatively low number of children As mentioned in the ASO section,
a BSO database is best suited for moderate amounts of data complexity where features like updatability tend to have a higher priority to the user than high performance
Trang 2When an Essbase application is started on the server, all the database objects
pertaining to the application are loaded into the server's memory For every Essbase application that is loaded, the server will launch a process named ESSSVR with a
unique process ID If a particular ESSSVR process agent is stopped, all the databases under the application will be stopped, and the memory that is being used by this
process will be released
Typically, batch data load or cube build operations that use large amounts of resources are best performed during off-peak or even weekend hours Wherever possible, we strongly recommend that all non-essential application and/or databases on the server be stopped during large processes to further increase performance
We have just started an application and a snippet from the server log file can be seen below Note the highlighted text below and how it depicts that Essbase has made a
log entry for the application Demo being started The process ID listed is the server
operating system process ID
[Thu Sep 11 00:40:44 2008]Local/ESSBASE0///Info(1051001)
Received client request: Get App and Database Status (from user
[hypuser])
[Thu Sep 11 00:40:44 2008]Local/ESSBASE0///Info(1051001)
Received client request: MaxL: Execute (from user [hypuser])
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1054014)
Database Basic loaded
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1051061)
Application Demo loaded - connection established
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1054027)
Application [Demo] started with process id [4744]
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1056090)
System altered
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1051001)
Received client request: MaxL: Execute (from user [hypuser])
[Thu Sep 11 00:40:45 2008]Local/ESSBASE0///Info(1051001)
Received client request: MaxL: Describe (from user [hypuser])
Trang 3It should be noted that occasionally, when there is a disruption to an Essbase process (like an external database failure or a file server down), and the process has passed
the point of no return (Essbase term), the instance of ESSSVR that was running the
interrupted load process may place it into terminating mode In spite of this, the
process never really gets terminated
To terminate this process, you either need to reboot the Essbase server causing
interruption to the all other applications that reside on the server, or by using
the above process ID, you can kill only the offending ESSSVR process on the
Essbase server
The following screenshot shows how to terminate the process in a Windows
server environment Highlight the process and click on the End Process button.
Unicode and Non-Unicode applications
Before we go further, let us explore the definition of Unicode What is Unicode?
According to http://unicode.org/, Unicode provides a unique number for
Trang 4Let us say our Esscar cube is being used by our Financial Analysts in the European
Union and they want to see the sales information in their language, using Essbase's alias table ability you achieve this functionality
The default Essbase setting is Non-Unicode for applications, databases, and related scripts, etc Essbase Non-Unicode applications only support one character set which
is defined by the locale value chosen at the time of installation It must be the same
across all Essbase components used in the installation
You cannot convert a Unicode application into
a Non-Unicode application but you can convert Non-Unicode to a Unicode application
Now that we have learned a little bit about Essbase applications, let's start building our first Essbase application
Creating your first Essbase application
When viewing information in the EAS, you will notice that it is setup in a similar
fashion to Windows Explorer, with a graphical hierarchical tree structure
Trang 5To create an Essbase application, click on the File menu in EAS and select New
You then have the choice of selecting either the BSO or the ASO storage options.
For our Esscar Motor Company example, we have selected BSO as our storage option This is where you also have the option to choose either Unicode or Non-Unicode We will be using Non-Unicode for our application Now, give a name to your application,
say, ESSCAR.
In a Non-Unicode application, Essbase supports upto 8 characters for the names
of all Essbase objects like application names, database names, data load rules file
names, and calculation script names
Very important!
In Windows-based installations, using spaces in database object names and their associated directory paths should be avoided at all costs Coding can sometimes be challenging when spaces are used