ODI vs rule file load
Hi all,
I would like to know the difference between loading data to essbase directly using rule files from a rdbms or flat file and loading it with the help of ODI.
And using rule files in ODI interface to load data, what kind of performance and efficiency one can attain with it.
thanks
Using a load rule is definitely the best and fastest way to load data when using a ODI data load interface, the load rule method is native to essbase so is optimised for loading and you also get the added functionality which a load rule provides.
If you don't use a load rule then ODI will use a different Java API method which is not as quick as a load rule especially if there are errors in the source data.
Cheers
John
http://john-goodwin.blogspot.com/
Similar Messages
-
Error in loading data into essbase while using Rule file through ODI
Hi Experts,
Refering my previous post Error while using Rule file in loading data into Essbase through ODI
I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule file to add values to existing values I am getting error.
test is my Rule file.
com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
at java.lang.Thread.run(Thread.java:662)
from com.hyperion.odi.common import ODIConstants
from com.hyperion.odi.connection import HypAppConnectionFactory
from java.lang import Class
from java.lang import Boolean
from java.sql import *
from java.util import HashMap
# Get the select statement on the staging area:
sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where (1=1) """
srcCx = odiRef.getJDBCConnection("SRC")
stmt = srcCx.createStatement()
srcFetchSize=30
#stmt.setFetchSize(srcFetchSize)
stmt.setFetchSize(1)
print "executing query"
rs = stmt.executeQuery(sql)
print "done executing query"
#load the data
print "loading data"
stats = pWriter.loadData(rs)
print "done loading data"
#close the database result set, connection
rs.close()
stmt.close()
Please help me on this...
Thanks & Regards,
ChinnuHi Priya,
Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
Please help on this.
Thanks,
Chinnu -
Error while using Rule file in loading data into Essbase through ODI
Hi Experts,
I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule fule to add values to existing values am getting error.
test is my Rule file.
com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
at java.lang.Thread.run(Thread.java:662)
from com.hyperion.odi.common import ODIConstants
from com.hyperion.odi.connection import HypAppConnectionFactory
from java.lang import Class
from java.lang import Boolean
from java.sql import *
from java.util import HashMap
# Get the select statement on the staging area:
sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where (1=1) """
srcCx = odiRef.getJDBCConnection("SRC")
stmt = srcCx.createStatement()
srcFetchSize=30
#stmt.setFetchSize(srcFetchSize)
stmt.setFetchSize(1)
print "executing query"
rs = stmt.executeQuery(sql)
print "done executing query"
#load the data
print "loading data"
stats = pWriter.loadData(rs)
print "done loading data"
#close the database result set, connection
rs.close()
stmt.close()
Please help me on this...
Thanks & Regards,
ChinnuHi Priya,
Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
Please help on this.
Thanks,
Chinnu -
Loading Text Datatype account members using rule file
Hi,
I have seen some blogs but still having the issue to load the text data type value to my Planning application.
I am using EPM 11.1.2.1, my planning application has 3 plan type including workforce where i have few attributes of employee(position, role,location etc) free text input using planning webform. so i define those account members as Text data type.
Note: we don't have ODI or any other tool used for metadata or Data loading.
I am using **Outline Load utility** to refresh my dimension , do we have a way to load text data type using load rule. i tried using Load rule and getting following error
\\ Invalid number in data column
"010" "1000" "Budget" "Draft1" "Local" "Hsp_InputValue" "Jan" "Fong, Siu Lung (Felix), 4" "FY12" "sr sft eng" "testing test"
please guide me if any other way to load the text data i am getting in the employee file.
-KKYou can use the outline load utility to load data, there are examples available at http://download.oracle.com/docs/cd/E17236_01/epm.1112/hp_admin/ch05s02s01.html
If you are trying to load using an essbase rules file then you will experience issues trying to load text to essbase, essbase only stores a numeric value for planning text data and it is the planning relational database that stores the text value, this is why the outline load utility would be better to use.
Cheers
John
http://john-goodwin.blogspot.com/ -
Loading Data to Essbase using Rule File Failed
Hi
i'm using IKM SQL to Essbase Cbue,
Now I would like to use rule file when loading data,
I created one in Essbase cube, then define it on the target (flow) and the Tab on Rule seprator,
I reversed the Essbase Cbue again.
when loading I get the following error bellow
(before loading I verfiy with sample file based on the same strcture from my source and load it via data load from EAS
and it works fine. also it works without any rule file.)
here's the error I'm getting from operator:
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 23, in ?
com.hyperion.odi.essbase.ODIEssbaseException
at com.hyperion.odi.essbase.ODIEssbaseDataWriter.loadData(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
at org.python.core.PyMethod.__call__(PyMethod.java)
at org.python.core.PyObject.__call__(PyObject.java)
at org.python.core.PyInstance.invoke(PyInstance.java)
at org.python.pycode._pyx30.f$0(<string>:23)
at org.python.pycode._pyx30.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java)
at org.python.core.PyCode.call(PyCode.java)
at org.python.core.Py.runCode(Py.java)
at org.python.core.Py.exec(Py.java)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.j(e.java)
at com.sunopsis.dwg.cmd.g.z(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.hyperion.odi.connection.AbstractHypAppWriter.logErrorRecord(Unknown Source)
at com.hyperion.odi.essbase.ODIEssbaseDataWriter.sendRecordArrayToEsbase(Unknown Source)
... 32 more
com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.j(e.java)
at com.sunopsis.dwg.cmd.g.z(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
pls advice what i'm doing worng?
Thanks!So are you saying the data load interface works if you remove the rule in the options?
Have you ever got any data loads to run with a load rule or without?
Cheers
John
http://john--goodwin.blogspot.com/ -
Loading data through rule files in Essbase
Hi everyone,
I really need help because something that I don't understand is happening when I am loading data through a rule files that I have created in Essbase. In the "Field Properties" of that rules files, I added few accounts in the "Global Properties" that I wanted to be replaced by others when I perform the load since I had troubles with the hierarchy of my accounts. My problem is that I have 3 accounts that I cannot add when I am loading my data and I don't understand why. By example, in my data extract file, I want to add the account : 601820SN60005 but since it doesn't exist in my Dimension Library I changed my rule file. I add the following propertie : Replace 601820SN60005 with 601820, so the system should put the data in that account instead. But it's not what'S happening. When I perform my load, the log tells me that the member 601820SN60005 does not exist in the database which is true but it seems that the propertie I had is not working. The load should work property. Is it possible that my rules files is corrupted? Or anything else?
Please give me a clue of what's happening here because I really don't understand!
Thanks a lot!I will just pipe in with the mostly worthless comment that doing any kind of ETL within a load rule is really not the world's best idea. Could you do your transformations in the source? There is this fantastic language called "SQL" that allows all kinds of cool data manipulations. Oracle even sells this product called ODI that I hear is just dandy for ETL work. :)
A slightly more useful suggestion -- it's really tough to view all of the various transformations in a load rule, as you have found to your sorrow. Did you know you can print the load rule and get all of the transformations? I use it all the time when a client hasn't listened to my whine about not doing ETL in a load rule.
Regards,
Cameron Lackpour -
How to tune data loading time in BSO using 14 rules files ?
Hello there,
I'm using Hyperion-Essbase-Admin-Services v11.1.1.2 and the BSO Option.
In a nightly process using MAXL i load new data into one Essbase-cube.
In this nightly update process 14 account-members are updated by running 14 rules files one after another.
These rules files connect 14 times by sql-connection to the same oracle database and the same table.
I use this procedure because i cannot load 2 or more data fields using one rules file.
It takes a long time to load up 14 accounts one after other.
Now my Question: How can I minimise this data loading time ?
This is what I found on Oracle Homepage:
What's New
Oracle Essbase V.11.1.1 Release Highlights
Parallel SQL Data Loads- Supports up to 8 rules files via temporary load buffers.
In an Older Thread John said:
As it is version 11 why not use parallel sql loading, you can specify up to 8 load rules to load data in parallel.
Example:
import database AsoSamp.Sample data
connect as TBC identified by 'password'
using multiple rules_file 'rule1','rule2'
to load_buffer_block starting with buffer_id 100
on error write to "error.txt";
But this is for ASO Option only.
Can I use it in my MAXL also for BSO ?? Is there a sample ?
What else is possible to tune up nightly update time ??
Thanks in advance for every tip,
ZeljkoThanks a lot for your support. I’m just a little confused.
I will use an example to illustrate my problem a bit more clearly.
This is the basic table, in my case a view, which is queried by all 14 rules files:
column1 --- column2 --- column3 --- column4 --- ... ---column n
dim 1 --- dim 2 --- dim 3 --- data1 --- data2 --- data3 --- ... --- data 14
Region -- ID --- Product --- sales --- cogs ---- discounts --- ... --- amount
West --- D1 --- Coffee --- 11001 --- 1,322 --- 10789 --- ... --- 548
West --- D2 --- Tea10 --- 12011 --- 1,325 --- 10548 --- ... --- 589
West --- S1 --- Tea10 --- 14115 --- 1,699 --- 10145 --- ... --- 852
West --- C3 --- Tea10 --- 21053 --- 1,588 --- 10998 --- ... --- 981
East ---- S2 --- Coffee --- 15563 --- 1,458 --- 10991 --- ... --- 876
East ---- D1 --- Tea10 --- 15894 --- 1,664 --- 11615 --- ... --- 156
East ---- D3 --- Coffee --- 19689 --- 1,989 --- 15615 --- ... --- 986
East ---- C1 --- Coffee --- 18897 --- 1,988 --- 11898 --- ... --- 256
East ---- C3 --- Tea10 --- 11699 --- 1,328 --- 12156 --- ... --- 9896
Following 3 out of 14 (load-) rules files to load the data columns into the cube:
Rules File1:
dim 1 --- dim 2 --- dim 3 --- sales --- ignore --- ignore --- ... --- ignore
Rules File2:
dim 1 --- dim 2 --- dim 3 --- ignore --- cogs --- ignore --- ... --- ignore
Rules File14:
dim 1 --- dim 2 --- dim 3 --- ignore --- ignore --- ignore --- ... --- amount
Is the upper table design what GlennS mentioned as a "Data" column concept which only allows a single numeric data value ?
In this case I cant tag two or more columns as “Data fields”. I just can tag one column as “Data field”. Other data fields I have to tag as “ignore fields during data load”. Otherwise, when I validate the rules file, an Error occurs “only one field can contain the Data Field attribute”.
Or may I skip this error massage and just try to tag all 14 fields as “Data fields” and “load data” ?
Please advise.
Am I right that the other way is to reconstruct the table/view (and the rules files) like follows to load all of the data in one pass:
dim 0 --- dim 1 --- dim 2 --- dim 3 --- data
Account --- Region -- ID --- Product --- data
sales --- West --- D1 --- Coffee --- 11001
sales --- West --- D2 --- Tea10 --- 12011
sales --- West --- S1 --- Tea10 --- 14115
sales --- West --- C3 --- Tea10 --- 21053
sales --- East ---- S2 --- Coffee --- 15563
sales --- East ---- D1 --- Tea10 --- 15894
sales --- East ---- D3 --- Coffee --- 19689
sales --- East ---- C1 --- Coffee --- 18897
sales --- East ---- C3 --- Tea10 --- 11699
cogs --- West --- D1 --- Coffee --- 1,322
cogs --- West --- D2 --- Tea10 --- 1,325
cogs --- West --- S1 --- Tea10 --- 1,699
cogs --- West --- C3 --- Tea10 --- 1,588
cogs --- East ---- S2 --- Coffee --- 1,458
cogs --- East ---- D1 --- Tea10 --- 1,664
cogs --- East ---- D3 --- Coffee --- 1,989
cogs --- East ---- C1 --- Coffee --- 1,988
cogs --- East ---- C3 --- Tea10 --- 1,328
discounts --- West --- D1 --- Coffee --- 10789
discounts --- West --- D2 --- Tea10 --- 10548
discounts --- West --- S1 --- Tea10 --- 10145
discounts --- West --- C3 --- Tea10 --- 10998
discounts --- East ---- S2 --- Coffee --- 10991
discounts --- East ---- D1 --- Tea10 --- 11615
discounts --- East ---- D3 --- Coffee --- 15615
discounts --- East ---- C1 --- Coffee --- 11898
discounts --- East ---- C3 --- Tea10 --- 12156
amount --- West --- D1 --- Coffee --- 548
amount --- West --- D2 --- Tea10 --- 589
amount --- West --- S1 --- Tea10 --- 852
amount --- West --- C3 --- Tea10 --- 981
amount --- East ---- S2 --- Coffee --- 876
amount --- East ---- D1 --- Tea10 --- 156
amount --- East ---- D3 --- Coffee --- 986
amount --- East ---- C1 --- Coffee --- 256
amount --- East ---- C3 --- Tea10 --- 9896
And the third way is to adjust the essbase.cfg parameters DLTHREADSPREPARE and DLTHREADSWRITE (and DLSINGLETHREADPERSTAGE)
I just want to be sure that I understand your suggestions.
Many thanks for awesome help,
Zeljko -
How to load a flat file with utf8 format in odi as source file?
Hi All,
Anybody knows how we can load a flat file with utf8 format in odi as source file.Please everybody knows to guide me.
Regards,
SaharCould you explain which problem are you facing?
Francesco -
Error while loading data to ASO database using rules files and buffer id
Hello all,
While loading the data to our ASO cube from a data file and using a server rules file, I am getting a warning: "Incorrect Syntax near ['$'] ". But my script no where mentions the usage of $. Also the console throws no error while loading the data. It displays the progress bar 0-100% while the data is being loaded, but actually no data is getting loaded (when retrieval is checked). Also the script is unable to form any log file or error file. Can anyone throw some light what might be the reason behind this kind of data load behaviour.
Thanks in advance.
Amitis that the real script? I don't see you using any parameter. (That's where $ comes to play). Try a double quote with echo (I never used echo in MaxL)
Also don't post passwords and server names on a forum.
Regards
Celvin
http://www.orahyplabs.com -
Error while loading data on to the cube : Incompatible rule file.
Hi,
I am trying to load data on to essbase cube from a data file. I have a rule file on the cube already, and I am getting the following error while loading the data. Is there any problem with the rules file?
SEVERE: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
com.essbase.api.base.EssException: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
at com.essbase.server.framework.EssOrbPluginDirect.essMainBeginDataload(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
at com.essbase.api.session.EssOrbPlugin.essMainBeginDataload(Unknown Source)
at com.essbase.api.datasource.EssCube.beginDataload(Unknown Source)
at grid.BudgetDataLoad.main(BudgetDataLoad.java:85)
Error: Cannot begin data load. Essbase Error(1019058): Incompatible rule file. Duplicate member name rule file is used against unique name database.
Feb 7, 2012 3:13:37 PM com.hyperion.dsf.server.framework.BaseLogger writeException
SEVERE: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
com.essbase.api.base.EssException: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
at com.essbase.server.framework.EssOrbPluginDirect.ex_olap(Unknown Source)
at com.essbase.server.framework.EssOrbPluginDirect.essMainLoadBufferTerm(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMainMethod(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod2(Unknown Source)
at com.essbase.api.session.EssOrbPlugin._invokeMethod(Unknown Source)
at com.essbase.server.framework.EssOrbPluginDirect._invokeProtected(Unknown Source)
at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
at com.essbase.api.session.EssOrbPluginEmbedded.invokeMethod(Unknown Source)
at com.essbase.api.session.EssOrbPlugin.essMainLoadBufferTerm(Unknown Source)
at com.essbase.api.datasource.EssCube.loadBufferTerm(Unknown Source)
at grid.BudgetDataLoad.main(BudgetDataLoad.java:114)
Error: Cannot Load buffer term. Essbase Error(1270040): Data load buffer [3] does not exist
Thanks,
Santhosh" Incompatible rule file. Duplicate member name rule file is used against unique name database."
I am just guessing here as I have never used the duplicate name functionality in Essbase, nor do I remember which versions it was in. However with that said I think your answer is in your error message.
Just guessing again.... It appears that your rule file is set to allow duplicate member names while your database is not. With that information in hand (given to you in the error message) I would start to explore that. -
Load Parent-Child dimension with attributes by rule file
Well, I've cracked my head open while banging against this wall.
Task is plain & simple:
How can I load build dimension from such table, using rule file?
Data
ProductParent ProductChild ProductAttribute
Balls Ball_8 Round
I want to load both product dimension and attribute by single rule file (neither of these dimensions exists in database before load), so I do the following:
1) Set dimension build settings, creating dimension Products (marking it P\C generated, sparse), having an attribute dimension AttributeDim
2) Mark the fields as Parent, Child and AttributeDim of dimension Products
After loading rule file a get three types of errors:
a) "Base member (Balls) association level does not match base dimension association level" -- does this mean that I cannot assign attributes in P\C way?
b) "Record #327 - Can not uniquely identify member by Balls (3335)
Balls Ball_8 Round" -- That's strange, I thought member should be identified by Ball_8 (and this column is unique)
c) "\\Record #418 - Error in association transaction [Ball_8] to [Round] (3362)"
I've read all I could find on topic from this forum, network45 board and going to start my way through metalink3, but maybe some kind soul will rescue me from drowning in information ocean?Hi,
Outline is blank at the start of load and I expect dimensions Product and ProdAttribute to be added.
Generations are unapplicable, since I can't turn this parent-child dimension (it's ragged) into generation one.
And, by the way Integration Services manages to do this somehow, why rule files wouldn't? -
Substitution Variables in Essbase Load Rules File
Hi,
Has anyone tried using substitution variables in Load Rules File Header definition?
I need to load data based on the Year & I have different Files for 3 Years- CurYr, BudYr1 & BudYr2. Is it allowed to specify the Year Substitution variable in the Rule File Header? I am getting an error while loading.
Appreciate your thoughts.
Thanks,
-Ethan.Tim,
Thanks for the response.
I figured it out. The error message I was getting was because of some parsing issue. I have defined Year as "FY12" in quotes. I removed quotes & it worked.
Thank You.
Ethan. -
Currently loading the data with the script , which it contatins
Retreving data from oracle through SQL interface on to rules files
and loading the data.
just my question is , if i get 0 records from oracle , i dont want to proceed with the loading of data (which is no useful ).
Can i stop the loading if records are zero.As far as I know there is nothing in MaxLIt that could tell that there were no rows.The MaxL statement would return a zero code saying that the process worked ok. It would be prossible in your batch script to have mutiple calls to MaxL and between them to do something like make a call to your sql DB getting the count of rows for your query. Investigate the result and if it is zero, then get out of your load and calc process (I guess you could do that even before you try to load).
Or how about scheduling a job that creates an output file with the count if it is greater than zero. If it is, then run the batch load process if it is not, then bypass it. There are multiple ways to do this outside of Essbase, just not in it. -
Data Load Rule file -Date conversion
Hi,While working on a Dataload rule file,I was facing this problem.I'm getting date in the format "m(m)/d(d)/yyyy hh:mm:ss". Is there a way to change this to "mm/yy" ??(There won't be anyproblem if I get mm/dd/yyyy hh:mm:ss style. but unfortunately not.)
Can you run the file through a "conversion process" prior to loading?We do similiar thing here. We get a feed from Hyperion Enterprise and run it through a home grown conversion utility written in Windows Script before we load into Essbase.It reads in the file line by line and then writes out a new file properly formatted.
-
Query regarding Metadata load in Essbase using rule file
Hi
In our application,we are loading metadata using Essbase rule file and here we are facing one problem.Suppose we have to load a level 0 member called "xxxx" under two different parent,assume the parent members are Parent_AAAA and Parent_BBBB.But our requirement is the consolidation operator for the first occurrence ( i.e under Parent_AAAA) is "+" and for the shared member under Parent_BBBB is "-".But,when we are loading using rule file the consolidation operator for the shared member always being loaded as "+".Is there any trick to change the consolidation operator for shared member other than changing it manually in outline?
Pls help....Thanks in advance.I don't think there is a way to change the default setting.
However, what you can do is to have a different load rule and different text file with only the metadata that you want to have an exception for shared members. That way, you can achieve it as you do not have to change the existing rule file.
Regards
ORACLE | Essbase
Maybe you are looking for
-
Can i back up one G5 via firewire and another via USB to the same drive
I have an ibook and a G5., I have a 500 gb lacie external drive. Can i back up both via time machine simultaneously, one via firewire and one via USB?
-
Overview of all GOS-elements for an Object
Hi, is there any FM or class to find all GOS elements for an Object f. Ex. EQUI or BUS2080? thanks for Help. Regards, Dieter
-
Dual networks, express and extreme problem with Intel iMac accessing both
I have two airport networks setup to two different ISP's. One is setup using two Airport Expresses with a printer hung off one. The other is setup with an Airport Extreme with two USB disks. I have a G4 iBook 14" laptop and a MacPro 17" Intel laptop
-
Function returning string. Data type question
Hello all, Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production Our database has a parent record master_member_record_id & and children of those records member_record_id. I wrote a function which returns the master record for
-
Hi, we are working to get PKI security with our web services and I am wondering where to look for information regarding what we're trying to do. We have gotten PKI to work in a general sense where we generate certificates based on a root certificate