Thursday, September 15, 2011

Some Common Mistakes
While Loading Data into Essbase Server


Here I’m sharing some of my experience and issues/errors we encountered while loading data into Essbase server.

Problem#1 We have Cube with Product_Group Dimension similar to the one given in the below examples. There is only daily load MaxL script gets invoke by scheduler which loads the data into my Essbase.



login LdUser, xxxxxx; /* login section */
spool on to 'd:\Data_file\Jan_Sales.txt'; /* log the result */

alter system load application 'SoP_App';

alter application ' SoP_App s' load database ' SoPDB ';

/* import dimension member from sql database */

import database 'SoP_App'.'SoPDB' dimensions connect as 'xxxxxxxxxxxxxx' identified by 'xxxxxxxxx' using server rules_file 'addday' on error write to 'd:\addday.txt';
spool off;
logout;


As new products get added and old products get removed so monthly as a part of customization we change the data load rule file to accommodate new changes. Once by mistake one of the developers removed the product category from the production cube outline and right after that the data loading script executed and get failed as the specified product_category dimension member didn’t find in the outline, however the member specification were exist in source file and rule file.

In such situation we get the below error message

1003014 Unknown Member memberName in Data Load, number Records Completed




Quick Test in such situation

Make sure that the data source is valid.

  • Are you using the correct data source?
  • Is there an incorrect member in the data source? If so, delete that member.
  • Did you try to load the correct data source with the correct rules file?
  • Does the data source have the correct file extension? All text files must have a file extension of .txt. All rules files must have a file extension of .rul.
Make sure that the rules file is valid.

  • Are you using the correct rules file?
  • Is the rules file connected to the correct outline ?
  • Can you validate the rules file ?
Pl mail to aloo_a2 for all Hyperion/OBIEE training/support/project execution help

Make sure that the member name is valid.

  • Are member names or variable names enclosed in quotation marks where necessary?
  • Does the member exist in the outline? If not, you can add the member by modifying the outline during the data load or by adding the new member in the Outline Editor.
  • Make sure that the member is not specified in both the header file and the text file.
By applying the above test we found the root cause of the problem in Member not exist in outline. [ As it is mentioned above in BOLD]

Problem#2 Interestingly some errors are not documented in oracle site, one of such error I found is Error 1090004. One day during data load I found this error in my log file after spending hours to find the root cause of this error we ended up with nothing. I raised the same issue in OTN as well. On further analysis we found due to some reason the complete has marked as explicit deny access. This causes Essbase to fail reading the file.

'V:\testworld\decsuppt\essbase\apps\931tests\revenue\revdtl\cdmchgs\newcdm.txt'
This is the whole script in MAXL:

import database 'Sop_Appl'.'SoPDB' data
from local data_file
''V:\\testworld\\decsuppt\\essbase\\apps\\931tests\\revenue\\revdtl\\cdmchgs
newcdm.txt'
using server rules_file 'dimcdmhi'
on error write to
'V:\\testworld\\decsuppt\\essbase\\scripts\\931tests\\revenue\\cdms
rdErr.txt';

Later when I tried to load this file diretly from EAS I found the error msg like this




Problem#3: There is one another problem we found specifically when we tried to recovered the data from cube backup source. We exported data in column format for many purpose [Supply this data for some other application the functional users use it for further analysis] backup purpose.

export database 'Sop_App'.'SoPDB' level0 data in columns to data_file
'c:\CUbeData.txt' ,'c:\CubeData1.txt';

We take the weekly backup so the last time we took the backup we had Product_Category which by mistake one of the developers removed as a result my backup datafile become invalidated, So when the load script executed it failed with more then 500,000 records which causes another error..

1003025 DATAERRORLIMIT reached numberOfRecords. Rejected records will no longer be
logged.

Quick Test

Change the maximum number of records allowed in the data load or dimension build
error log.

1. If you do not have an $ARBORPATH/bin/ essbase.cfg file on the server computer, create one using a text editor.
2. Add or increase the DATAERRORLIMIT setting in the
$ARBORPATH/bin/essbase.cfg file.
3. Stop and restart Analytic Server.
4. Restart the data load.

Problem#4: One of the undocumented error is

Invalid blank character in name (C:\DataSource\Batch 10\SoP_App_DataLoad_v1.rtf) in ESSAPI function EssUpdateFile



The cause of the above error is,as you can see my source file “C:\DataSource\Batch 10” exist in the folder which has space in folder name “Batch 10”, and Error doesn’t like it.



Problem#5: Source File stores the Attribute member name also.




Interestingly there is no error the data loads successfully.

No comments:

Post a Comment