Max. possible no of members in sparse dimension.
Hi,
Just wanted to know the maximum no of members in a sparse dimension (BSO cube) that is recommended by Oracle.
Regards,
Lijoy
Hi,
Have a look at the limits section at :- http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_dbag/limits.htm for the official Oracle suggestions.
Cheers
John
http://john-goodwin.blogspot.com/
Similar Messages
-
How to Load new members into existing dimensions in Planning 9.3.1
Hi,
I am not having HAL, and is it possible to load members into existing dimensions of a newly created planning application - for example under accounts I want to add around 100 members - how to add them using a flat file without using HAL - is there anyother way out.
Can we use workspace->Navigate ->administer->Dimention Library
Create a new dimension here add that to Accounts ?? help me in thisJohn,
Can you suggest me the syntax to be used for the below example to create a flat file
the Hiearchy I have(for accounts and entity)
current:
Accounts
I need t have the following children under Accounts
Child of Accounts:Assets,alias(assets of x company)
Child of Asssets: 101, alias(asset1),Datastorage("store"), base currency("USD"),aggregation(+),Plantype("plan1")
Regards, -
Re-Order the Sparse Dimensions
Hi,
We have a typical scenario where in we need to change the order of sparse dimensions in the outline.The cube is already in use,however,as we got rid of few members in one of the sparse dimension and we want to change the order of sparse dimensions in the outline to enhance the performance.
My question here is,
1.How to change the order of the sparse dimensions in the outline?
2.What would be the impact?
Any quick response on this is highly appreciated !!
Thanks,
RNG1) We can improve calculation performance by changing the order of standard (not attribute) sparse dimensions in the database outline. We can Order standard sparse dimensions by the number of members they contain, placing the dimension that contains the fewest members first.
This arrangement provides a number of possible improvements, depending on the site:
●The calculator cache functions more effectively, providing approximately a 10% performance improvement if you have a database outline with a very large dimension (for example, a dimension containing 1000 members).
●Parallel calculation, if enabled, is more likely to be used if the standard sparse dimension with the most members is the last standard sparse dimension in the outline.
2) I think there would not be an any impact...
JSA -
Maximum no of members in Essbase Dimension can support
Dear All,
I am using Essbase 11.1.2.2 (64-bit)
Number of dimensions used in my BSO Essbase cube is 9 (4-dense and 5 sparse).
I am having a Customer dimension (sparse) upto 7 levels.
The number of members in customer dimension is 98000.
After loading data in essbase BSO cube, while performing Ad hoc Analysis it throws the following error in Smartview,
"Request timed out contact your administrator to increase netretrycount and netretryinterval"
After making changes to below variables in registry and essbase.cfg files
NETDELAY 500
NETRETRYCOUNT 400
Registry settings
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]\
ReceiveTimeout=480000
KeepAliveTimeout=180000
ServerInfoTimeout=180000
and also with
ReceiveTimeout=900000
KeepAliveTimeout=300000
ServerInfoTimeout=300000
I am getting the following error
"Concurrent requests on the same session are not allowed. Wait till the previous request completes processing"
After i reduced the no of members considerably in Customer dimension, the issue got resolved.
My question is "Do we have any limitations in maximum no of members in a single dimension"
What is the maximum no of members a Essbase dimension can support ?
Regards,
TharikTo answer your specific question, the limits are listed here: http://docs.oracle.com/cd/E26232_01/doc.11122/esb_dbag/limits.html. According to that, BSO will handle 1,000,000 members.
My question would be what exactly you are doing when the error occurs. Does it happen when you attempt a drill to level zero for example? Or as soon as you retrieve an ad hoc sheet? -
FIX STATEMENT AND LARGE SPARSE DIMENSIONS
Hello all,
We have the following Essbase BSO db;
Account (Dense) (285 Members) (Aggregating Dimension)
Period (Dense) (65 Members) (Aggregating Dimension)
D1 (Sparse) (3700 Members)
(Aggregating Dimension)
D2 (Sparse) (8900 Members)
(Aggregating Dimension)
D3 (Sparse) (15000 Members)
(Aggregating Dimension)
Version (Sparse) (3 Members) (NON-Aggregating Dimension)
Scenario (Sparse) (5 Members) (NON-Aggregating Dimension)
Year (Sparse) (3 Members) (NON-Aggregating Dimension)
Currency (Sparse) (11 Members) (NON-Aggregating Dimension)
D4 (Sparse) (20 Members) (NON-Aggregating Dimension)
Block Size = ~150KM
Index Cache = 4GB
Data Cache = 8GB
CPUs = 8
MEMORY FREE = 26GB
NOTE:
We are executing the database with data loaded for "JUST" 10 BLOCKS,
SO
VERY VERY SMALL VOLUME OF DATA!!!
We have come across a rather irritating and strange issue while executing
the following calc;
CASE 1: With LEVEL-0 OF RELEVANT
SPARSE DIMENSIONS IN FIX STATEMENT
//ESS_LOCALE English_UnitedStates.Latin1@Binary
SET MSG ERROR;
SET CACHE HIGH;
SET UPDATECALC OFF;
SET LOCKBLOCK HIGH;
SET AGGMISSG OFF;
SET CALCPARALLEL 4;
SET CREATENONMISSINGBLK OFF;
FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
@RELATIVE("EBITDA",0))
DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
ENDFIX
$$$$$$NOTE1: The above FIX STATEMENT
works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
@RELATIVE("EBITDA",0))
ARS = ARS->CURRENCY_VERSION *
"ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CAD = ARS->CURRENCY_VERSION *
"CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CHF = ARS->CURRENCY_VERSION *
"CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
COP = ARS->CURRENCY_VERSION *
"COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
EUR = ARS->CURRENCY_VERSION *
"EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
GBP = ARS->CURRENCY_VERSION *
"COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
MXN = ARS->CURRENCY_VERSION *
"MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CNY = ARS->CURRENCY_VERSION *
"CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
ENDFIX
$$$$$$NOTE2: The above FIX STATEMENT
is where we have a problem, THE CALC JUST HANGS AND DOES NOT CALCULATE$$$$$$
CASE 2: With “specific” members of
RELEVANT SPARSE DIMENSIONS IN FIX STATEMENT
//ESS_LOCALE English_UnitedStates.Latin1@Binary
SET MSG ERROR;
SET CACHE HIGH;
SET UPDATECALC OFF;
SET LOCKBLOCK HIGH;
SET AGGMISSG OFF;
SET CALCPARALLEL 4;
SET CREATENONMISSINGBLK OFF;
FIX(ACTUAL,"2013",W1,"2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,TRADESALES)
DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
ENDFIX
$$$$$$NOTE3: The above FIX STATEMENT
works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
FIX(ACTUAL,"2013","2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,WORKING)
ARS = ARS->CURRENCY_VERSION *
"ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CAD = CAD->CURRENCY_VERSION *
"CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CHF = CHF->CURRENCY_VERSION *
"CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
COP = COP->CURRENCY_VERSION *
"COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
EUR = EUR->CURRENCY_VERSION *
"EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
GBP = GBP->CURRENCY_VERSION *
"GBP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
MXN = MXN->CURRENCY_VERSION * "MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
CNY = CNY->CURRENCY_VERSION *
"CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
ENDFIX
$$$$$$NOTE4: The above FIX
STATEMENT works just fine, as I am fixing on just ONE member from relevant
dimensions in the FIX STATEMENT$$$$$$
Please note the only difference between NOTE 2
and NOTE 4 is the FIX statements. I.e., Fixing all required lev-0 members from
required dimensions as opposed to Fixing on just single lev-0 members from
required dimensions.
Also please note that NOTE 1 FIX statement works
just fine! So, there is no problem with the FIX statement itself but rather
with the combination of Sparse Calculations and with Fixing all LEV-0 members
from required dimension in the FIX. Probably because the Sparse dimensions are
VERY LARGE.
Could anyone shed some light on what might be wrong here?
We are on Essbase standalone V11.1.2.
Your inputs are very much appreciated!
ThanksHi,
One minor thing I notice - your NOTE 2 problem script does not fix on your Working version, whereas the NOTE 4 script does.
With your small number of blocks, this should not be the problem, but it's probably worth quickly testing and eliminating before delving deeper.
Your script could be invoking member formulae from the Account dimension - does your outline validate ok..?
I cannot tell from your NOTE 4 script which member relates to the Account dimension - is it 2251026?
Whichever it is, it is worth expanding NOTE 4 script up to @RELATIVE("EBITDA",0)....
- if it runs, you know the problem is with your sparse member selections (ie number of blocks being calculated).
- If it doesn't run, then you know there is a problem in calculating one or more of the Accounts under EBITDA. In which case, gradually narrow the range of Accounts to locate the Account or Accounts that trigger the issue. Chances are there's a problem with the member formula -
FIX on Sparse Dimensions.
Hi,
I know that FIX can be used on both Sparse as well as Dense Dimensions. But its more efficient when used on Sparse Dimensions. Is there any logic behind...? Coz the functionality of FIX is to restrict the dimensions and members, but why is it more effective in Sparse...?
Please let me know...
Thanks,If you fix on a sparse dimension you restrict the data blocks that must be accessed; thus it is faster.
If you fix on a dense dimension the calculation must go through every data block.
Please also refer to http://www.network54.com/Forum/58296/thread/1208974485/Order+of+Fixes+-Doesit+matter- -
Why should we associate attribute dimension to base sparse dimension only
hi experts,
I have query, please suggest that.
Why should we associate attribute dimension to base sparse dimension only ? any reason is there.
thanks in advanceHave a read of - why attribute dimension attached to sparse dimension and Attribute Dimension and association with multi level base members
Cheers
John
http://john-goodwin.blogspot.com/ -
Maximum number of members in a dimension
Hi,
Is there a limitation of number of members in a dimension in Oracle Olap?
Thanks,
KrishnaI think you got answer for this, which I'll post here for the benefit of other viewers:
"There is no hard limit on the number of members of dimension in Oracle OLAP. You may run into some practical limits based on your HW and cube design, but that won’t be until you’re dealing with dimensions in the multimillion member range."
Say you have a dimensions of 2 million values and another 3 dimensions with 1000 values each. Potential size of the cube if full of data is 2,000,000 * 1000*1000*1000 which make it big. Say you have a couple more dimensions 10,000 and 10,000 ..even bigger.
Compressing the cube to make sure its as small as possible, where patterns of null cells are not stored is good practice most of the time, especially great when there are lots of null values when there's large dimensions. Partitioning and general good modelling are also key. See the OLAP User's Guide for more information. -
Display aggregate total for multiple members of a dimension.
When multiple members of a dimension are selected in a row or column in Financial Reporting tool, it tends to display the result in multiple rows or columns. Is it possible to display the aggregate value of all the members and not display the individual details. I have tried the Auto Calculation which shows the "Total" but also shows the Individual members that were selected in multiple rows or columns. Any suggestions would be great.
Ajay.Brian, I will post all my future questions in the Reporting Forum as you suggested. Coming back to my question, I do not want to display all the Individual members that I had selected in the report. I only need the aggregate value (Custom Totals) of all the Dimension members together.
eg: If I choose the following account members in one row (Salaries, Bonus, Advertising), I do not want to display the individual line items for the three members, I only need one row called "Expenses" that has the aggregate value for the three members. Essbase by default (even if I don't select "place selections in separate columns" ) will put the members in separate rows or columns.
Thanks. -
Hello,
Recently Added 2 alternate heirarchies to a sparse dimension. I have made all the parents of alternate Heirarchies dynamic while all the lev0 are shared. while the parents and Lev0 for main heirarchy are stored.
1) Is it a good practise to have parents of alternate Heirarchy Dynamic? since its a sparse dimension.
2) My .pag size has increased ? why would adding shared members increase the .pag size?
3) also my Calc time has gone up... simple Agg which is fixed for single month and year which initially used to take 6 mins is taking 15 mins... Any advice on improving the calc time?
Thank You for your help.1) This is usually not a good practice, as dynamic calcs on sparse dimensions can cause a lot of I/O during a retrieval. This can have an adverse affect on retrieve performance. Sometimes you can get away with it if
there aren't a lot of members under the dynamic member though.
2) I recently had a similar question on Network54. In my case, the answer was likely fragmentation. Does your .pag size go down after a dense restructure?
3) What happens if you say *@IDESC(Stored Parent Name);* instead of AGG (Dimension);. Any difference?
Hope this helps,
- Jake -
Hi,I have some sparse dimension with different number of members.Which is the correct order in the outline to maximize the calc time ?Thank you.
You may achieve improvement in calculation performance by changing the order of the sparse dimensions in the database outline. Order the sparse dimensions by their number of members, starting with the dimension that contains the fewest members. (Ref :Database Admin guide)
-
Aggregate only portion of sparse dimension
System 9 BI+(9.3) - Here's my problem.
I need to aggregate only a portion of a sparse dimension.
All members are stored data. Dimension looks like this:
Total Europe
-Western Europe
--France
--Germany
--United Kingdom
--Iberia
---Spain
---Portugal
-Central Europe
-Eastern Europe
I tried
FIX(May, 2009, @IDESCENDANT("Iberia"))
agg(Products,Channel)
ENDFIX
but all it does is aggregate Spain and Portugal, but not Iberia.
I also tried
FIX(May, 2009, @IDESCENDANT("Western Europe"))
agg(Products,Channel)
ENDFIX
but again all it does is aggregate France, Germany, Spain, Portugal, bit not Iberia or Western Europe.
Any ideas/assiatnce appreciated.The comment on Network54 (sorry, I forgot who posted it) is on the money -- you are not aggregating Region/Geography/whatever your dimension is called.
Assuming your dimension order is:
Region
Products
Channel
I would write a script like:
FIX(@LEVMBRS("Products", 0), @LEVMBRS("Channel", 0))
@IDESCENDANTS("Iberia") ;
ENDFIX
FIX(@IDESCENDANTS("Iberia"))
AGG("Products", "Channel") ;
ENDFIX
You will have to rearrange this a little bit if your dimension order is different. As an example, if your dimension order is Products, Region, Channel, your code might look like:
FIX(@RELATIVE("Iberia", 0), @LEVMBRS("Channel"))
AGG("Products") ;
ENDFIX
FIX(@IDESCENDANTS("Products"), @LEVMBRS("Channel"))
@IDESCENDANTS("Iberia") ;
ENDFIX
FIX(@IDESCENDANTS("Products"), @IDESCENANTS("Iberia"))
AGG("Channel") ;
ENDFIX
This may look painful, but you may find a significant performance increase.
Take a look at my blog post, ignore all the Planning stuff, and jump to the bit where I explain how a BSO db consolidates. The concept is identicial to the one I outline above. Here's the link: http://camerons-blog-for-essbase-hackers.blogspot.com/2009/06/why-i-hate-and-love-business-rules-part_17.html
Regards,
Cameron Lackpour -
How to delete the members in one dimension use the maxl script
i have question that i want to delete the members in one dimension useing the maxl script, but i do not know how to do it. can the maxl delete the members in one dimension? if can, please provide an sample script, thank you so mcuh.
MaxL does not have commands to alter an outline directly, except the reset command which can delete all dimensions but not members selectively. The best you could do would be to run a rules file (import dimensions) using a file that contains the members you want to keepload rule for the dimension. As typical the warning is to test this first before you do it on a production database
-
How to use two members from same dimension in Dimension Layout, for HFR
I am developing a report using Hyperion Financial Reporting. I have taken two dimensions in rows and remaining dimensions in column. After completing one section, I need to make new section of the report on the same grid and page with just adding one more member of the second row dimension. That is data should be the summation of two members of the dimension, say "ACCOUNT".
Kindly guide me the steps. Also i would like you to know that i am begineer with Hyperion Financial Reporting.
Thanks
RoshanCan you give some explanation of your gird layout and what you are trying to achieve?
Like Account and Scenario in row
Year, Market in columns
Product in Page
Regards
Celvin
http://www.orahyplabs.com
Please mark the responses as helpful/correct if applicable -
How to extract data for particular two members of same dimension.
As per the requirement i need to export data for certain members of a dimension. Lets say we need data for two account members A and B which is in in Account dimension only but is not a direct children. I need the data for all the available years too. Please suggest me how my DATAEXPORT command should look like.
When i am using an AND statement it is not working accordingly. Say i am fixing for years 2007 and 2009 but the output file is coming for 2009 and 2010.
Something other is happening when i am fixing OPEX_31 and OPEX_32. The values are coming not only for OPEX_31 and OPEX_32 but for many more accounts too.
Here is my dataexport statement for your reference
SET DATAEXPORTOPTIONS
DataExportLevel "ALL";
DataExportColFormat ON;
DataExportDimHeader ON;
DataExportOverwriteFile ON;
FIX("LC","Total_Year","ESB1","2009","SIERRA","COSTCENTER_NA","CELLULAR_NA","OPEX_31",
"January","February","March","April","May","June","July","August","September","October","November","December");
DATAEXPORT "File" " " "D:\exports\feb.txt";
ENDFIX;
I need data for OPEX_31 and OPEX_32 for all the available years starting from 2001 to 2025.
Please suggest what are the modification needed to get the desired result.
Thanks in advanceHi,
There a few different options you can use for fixing on the months, years..
e.g. FIX(January:December)
or FIX(@CHILDREN(YearTotal)) < depends what the parent of the months is
sames goes for years
FIX(2009:2025)
or
FIX(@CHILDREN(Year)
If your period dimension is dense you can always use that as the column header e.g. DataExportColHeader "Period" and then fix on the accounts you require.
Cheers
John
http://john-goodwin.blogspot.com/
Maybe you are looking for
-
CDs no longer recognized in iTunes
Hey there... My iTunes no longer shows or recognizes that I have a CD in my disc drives. It was working fine up until a day or two ago. I can load a CD, see it in "My Computer" and even Windows Media Player, but iTunes fails to recognize it. I've fol
-
I have read the specs and everything seems fine. I have snow leopard 10.6.8 and when I try and update i get a message from the applestore app to say it cant be installed on this laptop. Please can anyone advise me on that I should do. MAC OS Build 10
-
Why, when exporting as master file from FCX, I have problem with sync
I edited all audio of a short movie in protools, bounced a stereo file, imported it in final cut and shared the master file at prores 422, from there through compressor I have created 2 files (mpeg 2 and ac3) and burnt a dvd but seems always to be
-
Direct Path Reads instead of Sequential Reads for index range scan
Database is 11.2. I have two development schemas, with the same table loaded in each schema - a 5 million row table. The execution path for the sql statement is the same against both tables; it's doing an index range scan. But it would appear Oracle
-
Windows 2003 Powershell and SharePoint 2007
I know its old versions of a lot of things, but I need to run a Powershell script on a SharePoint 2007 list. I wrote the script and it works perfectly well if I run it under the SharePoint System Admin account. But as we all know updating a list item