Problem in taking correct Substitution variable in MDX Formula

Hi,
We have MDX Formula which takes Substitution Variable as input . Previously we used Hyperion Essbase 9.3.1.3 version and working fine currently we upgraded to 11.1.1.3 version After Upgrade this formula is not taking correct updated value. Its taking previously updated value . To Take the Correct value we are bouncing the Essbase Services then only new Formula is picking the latest Updated value. This is happening only for one formula and rest everything is working fine. Can you please tell us is there any bug or where is the problem is ?
Thanks,
Naresh.

The Database Administrator's Guide and the Essbase Technical Reference are available through the documentation portal:
http://download.oracle.com/docs/cd/E17236_01/nav/portal_3.htm
Both the Database Administrator's Guide and the Technical Reference are searchable on an exact phrase, to find the source of the extract John provided.
http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dotcreat.html#dotcreat1053369
See section "Setting Substition Variables".

Similar Messages

  • VARIABLE IN MDX FORMULA

    Hello,
    I have a package which only rund a logic,
    this package enables to select an entity on which the logic will run
    so in my package assign parameters component , i have my prompt
    PROMPT(SELECTINPUT,%MY_ENTITY%,"Enter the entity",,"%ENTITY_DIM%")
    and then
    TASK(Execute formulas,USER,%USER%)
    TASK(Execute formulas,APPSET,%APPSET%)
    TASK(Execute formulas,APP,%APP%)
    TASK(Execute formulas,SELECTION,%SELECTIONFILE%)
    TASK(Execute formulas,FORMULASCRIPT,"*FUNCTION MYENTIY=%MY_ENTITY%")
    TASK(EXECUTE FORMULAS,LOGICFILE,TEST.LGF)
    in my logic, i want to use the entity put in the package in a mdx formula,
    *MEMBERSET(%Ent_R%,"DESCENDANTS(FILTER([ENTITE].MEMBERS,[ENTITE].CURRENTMEMBER.PROPERTIES("ENTITE_REF")=MYENTITY),99,LEAVES)")
    the variable MYENTITY isn't working, so my variable %Ent_R% is corrupted too
    how can i change the syntax in order to include MYENTITY parameter please
    i have tried so many things, i'm stuck
    thanks in advance
    regards
    CL

    Hello,
    First of all, most sincere thanks for replying, i'm stuck and blocked and beginner in logic and have no collegue around me to advice me or help me, and i've tried so many things that i end up mixing them
    the problem is that the follwing syntax
    *MEMBERSET(%Ent_R%,"DESCENDANTS(FILTER([ENTITE].MEMBERS,[ENTITE].CURRENTMEMBER.PROPERTIES("ENTITE_REF")=%ENTITY_SET%),99,LEAVES)")
    isn't validated when i do a "validate and process logic" it rejects me by giving this message
    error in step 1 of QueryCubeAndDebug:-2147217900 Formula error - syntax error - token is not valid: "{DESCENDANTS(FILTER([ENTITE].MEMBERS,[ENTITE].CURRENTMEMBER.PROPERTIES("ENTITE_REF")=^%^ENTITY_SET%),99,LEAVES)}"
    when i put the variable name around commas like ' ' or " "
    this way  for instance
    *MEMBERSET(%Ent_R%,"DESCENDANTS(FILTER([ENTITE].MEMBERS,[ENTITE].CURRENTMEMBER.PROPERTIES("ENTITE_REF")="%ENTITY_SET%"),99,LEAVES)")
    the logic validates, the package runs but no data are written
    in the debuglogicfile, it seems that it doens't recongnize the fact that it is a variable, and put it as string
    i really don't know how to put it

  • Financial Reporting and substitution variable

    Hello,
    i have a problem with FR and substitution variable. I create the substitution variable in Essbase for example antYear but i dont'see in dimension layout in FR studio and workspace.
    Thanks.

    You'll need to restart FR studio, after you have created the substitution variables. As the studio only performs one read of the sub var database on startup.
    It also won't show up unless you assign a member to it.
    Hope this helps.
    Iain

  • MDX and substitution Variable usage in Essbase 7.1.5 -- Problem

    <p>Hi,</p><p> </p><p>Iam trying to write a query like this and Iam unable to validatethis in MDX -</p><p> </p><p>SELECT<br><br>{ [USD]}<br>ON COLUMNS,<br>{&CurMon}<br>ON ROWS<br><br>FROM [Sample.Basic]</p><p> </p><p>It gives me error at "&"</p><p> </p><p> </p><p>Also I tried to use substituion variable in a formula on amember like this and I couldnot get it validated -</p><p> </p><p> </p><p>CASE [Time Periods].CurrentMember<br>WHEN [JAN]<br>THEN SUM( CROSSJoin( {[Net Income]} , {[JAN]} ) )<br>WHEN &CurMon<br>THEN SUM( CROSSJoin( {[Net Income]} ,{[JAN] : &CurMon} ) )<br>ELSE<br>missing<br>END</p><p> </p><p> </p><p>Please reply me if indeed , we cannot use substitution variablesin MDX.</p><p> </p><p>( Note: Subsitution variables were already setup in thesystem)</p><p> </p><p>Thanks<br></p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p><p> </p>

    Each essbase application can go up to 2GB only. If you have one application which use more than 2GB of ram, it will probably crash.
    If you use direct I/O, you can use more than 2GB of ram, however it is limited by the operating systems.
    For Windows, it is recommended to turn on the /PAE setting in boot.ini. This will allow the windows to use more than 4GB of RAM. According to Essbase DBA guide, Turning 4GT will allow Essbase to use up to 3GB of RAM when you use direct I/O.

  • Peculiar problem with Essbase (Calc Script) - substitution variable / UDAs

    This is odd but I have a script like :
    VAR iloop=1,break=0;
    FIX(<required POV>)
    Loop (20,break)
    VAR Country_total1,Country_total2,Country_total3;
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop)))) // &Country1, &Country2 - are substitution variables with UDAs stored as strings
    Statements;
    /* +<statements for calculating total values.. for that country and stored against variables>+ */
    Country_total1=Country_total1+ +<Calculation>+
    ENDFIX
    /* Second part : Now again the calculations stored in the variables are to be stored against specific entities */
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop))))
    FIX(@ISUDA(Entity,<Check1>)
    ..... Assign to relevant account
    ENDFIX
    ENDFIX
    ENDLOOP
    ENDFIX
    Now the problem is that the first fix statement works just fine, but the FIX statement in the 'second part' throws an error
    Error: 1200354 Error parsing formula for [FIX STATEMENT] (line 66): expected type [STRING] found [EXTVAR] ([iloop]) in function [@CONCATENATE]
    If I hard code the 'second part' FIX statement to the substitution variable directly - it works just fine.
    How can the first statement work and not the second one ? They are exactly the same.

    Glenn, thanks - I hadn't thought of that :).
    But it still does not entirely solve my problem (please see my previous post depicting a requirement similar to ours )
    - We have lots of countries (50-60+ might be much more) and each country can have multiple entities (3-4 on an average - can go unto 7-8)
    - so good guess would be around 200 entities
    - So say I have to do it for 2 countries only (two entity types). Then I need 4 variables - 2 for each country ('country 1 ET1 total', 'Country 1 ET2 Total')
    When the list is 20 counties - variables become 40 :(.
    - Still leaving aside the 40 variables for a bit -
    There are subsequent steps of calculations which needs to be done based on these totals (which are exactly the same for all countries) - just that we need the correct totals to begin with and the rest is already stored in the DB
    So since I have a different variable for each country - I cannot write one single calculation block to use the variables sequentially one by one (can I ?)
    I might have to write a separate calculation block for each of these countries. (20 separate blocks)
    That's what I was trying to avoid and simplify with the substitution variable (but is not working)
    - Create substitution variables - which would store the alias of the required countries (2/10/20 as many required)
    - Loop through these substitution variables - using them one by one
    - So I just need one single block of calculation with all the variable in the calc script being reused after each country calculation is done
    - and the user need not go into the script, as the only thing that will change are the countries. And he can change it easily through the substitution variable.
    Edited by: Ankur on Jun 27, 2012 12:53 PM

  • Problems using substitution variable in Web Analysis

    Dear all,
    I have a Web Analysis report that I need to show a raking table with the current month.
    For that I create a variable in Essbase that is updated with that date (E.g.: varCurrentMonth).
    After that I use it as my substitution variable to filter my date dimension in a report data source (E.g.: Scr5, row: product, column: date dimension & measure):
    2008 (current month)
    Product $ qty.
    AAA 100 10
    BBB 90 7
    CCC 80 5
    The problem is that in our cube we need to use an alias in every dimension not to have duplicate members (E.g.: DT.Date, MS.Measure, PD.Product, etc). And when we use it we need to set up the variable in Essbase using that alias (E.g.: DT.Feb/05/08). And if we use that variable as a substitution variable in the report data source the label displayed is the DT.2008 and not 2008 as expected.
    Does anybody have an idea how to solve that?
    Many thanks,
    Thiago Gabriel

    You usually get this error message if you are trying to assign a value from a sub var to a member that does not exist.
    e.g. trying to put FY08 which is a year member against a period dimension
    or trying to use a sub var of FY09 which does not yet exist in the essbase, so say you added a new year in planning FY09 and used the sub var in the form but have not refreshed the database then it would fail because the year would not have been pushed down to essbase yet.
    or the value of the subvar does not match a member name exactly
    or using a sub var name that does not exist in essbase, e.g. using &nextYear but the sub var has not been created in essbase.
    You can definitely use subsitution variables in columns in the version you are using and prior version.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Substitution variable - Problem

    The requirement is to have numeric value to a substitution variable. In essbase there is a provision to set numeric value to a substitution variable . i tried out the below one its not working.
    Create a sub variable and assigned value "12" and tried using the same sub variable in the MDX query but getting error. kindly let me know is it possible to set a numeric value to a sub variable and use the same in MDX formula. Any help would be greatly appreciated.
    I have seen this note in dbag :
    If a substitution variable value is numeric, different rules apply for how you enter the variable:
    If it is not used in MDX statements, enclose a substitution variable value in quotation marks; for example, if the variable name is Month, and its corresponding value is 01 (corresponding to January), place quotation marks around 01 (“01”). Substitution variables usually are used with block storage databases; they are not used in MDX statements.
    If it is used in MDX statements only, such as in formulas in aggregate storage outlines, and the value is numeric or a member name, do not enclose the value in quotation marks.
    Note:
    If a substitution variable value is numeric or a member name starting with a numeral or containing the special characters referred to above is to be used both in MDX and non-MDX situations, create two substitution variables, one without the value enclosed in quotation marks and one with the value in quotation marks.

    i got the way to do

  • Problem with substitution variable

    Hi All,
    I am facing problem with usage of substitutiion variable. I have following code in my script
    Edited by: Tarak on Mar 4, 2009 3:27 AM

    sorry I missed the script.
    create table tempdata
    (description varchar2(200))
    TABLESPACE &tspacename
    /Sqlplus is not asking for the value of tspacename.I am getting following error.
    TABLESPACE &tspacename
    ERROR at line 3:
    ORA-02216: tablespace name expectedI am not sure what is wrong with SQLPLUS setting.Can anybody help?

  • Problem with my substitution variable.

    My substitution variables don't prompt properly now. It worked fine before, but I don't know what I did to it. Here is the test code:
    set define on;
    connect sys/&sysPassword @&instanceName as sysdba;
    execute dbms_output.put_line('this is a test');
    When I tried to execute above lines in sqlplus, it didn't prompt anything, but got following result instead:
    SQL> set define on;
    SQL> connect sys/&sysPassword@&instanceName as sysdba;
    Enter value for syspassword: execute dbms_output.put_line('this is a test');
    Enter value for instancename:
    SP2-0306: Invalid option.
    Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
    where <logon> ::= <username>[<password>][@<connect_string>] | /
    SQL>
    I remember when I used substitution variables before in sqlplus worksheet, it popup a dialog for input, but it doesn't anymore.
    Any ideas about this issue? Or what setting could affect the behavior? Thanks in advance.

    It would work only if you put these set of statements in a .SQL file and run that file at SQL*Plus prompt:
    SQL> @the_sql_script_created_above.SQL

  • SQLPlus problem - user enters quote in substitution variable

    Hello,
    I have a SQL Plus script report, where user is prompted to enter "customer name".
    Some customer names contain single quotes/apostrophes.
    When user type such name, the script will error out with
    ORA-01756: quoted string not properly terminated
    I can't ask users to use '' instead of ' . I can't control what they enter. Is there a way to process single quote so the statement below will work:
    select * from sometable where customer_name = '&1'
    where &1 = Smith's
    I can't do replace, etc, because it's all error out with the same error. I need to replace ' on SQLPlus level somehow. One logical way to do it would be to redefine the string separation charachter somehow...
    SQL*Plus: Release 8.0.6.0.0
    Thanks,
    Vlad
    Message was edited by:
    user454392

    As it's a SQL*Plus substitution variable it is literally copied into the code just prior to compilation, so you can't stop it from breaking the compilation of the code. q quoted strings are the only solution I can think of but of course they are only available from 10g onwards.
    The other alternative is to capture the input in a shell/batch script which validates it first and then passes the value to the SQL to be executed.

  • Problem setting the value of a substitution variable in a calc script

    Hi, All.
    I'm trying to update the value of a substitution variable inside an IF statement and I'm having trouble.
    Here's the code:
    *"Jan"(*
    IF  (LoopCounter = 1) &varEntity = "100";
    ENDIF;)
    the error I get back from EAS is:
    Error: 1200336 Error parsing formula for [Jan] (line 54): [(] without [)]

    I know CL knows a lot about HBR, if he's around today... LOL
    As a matter of fact, I just used an HBR (not using Calc Manager till I have to)'s macro functionality to drive fx for different Scenarios in a Planning app. Here's how I call the macro:
              /*     Call the macro mcrFxCoreOutYears for the four fx rate types for ALL 12 months of the year.     */
              FIX(&BudYear)
                   %mcrFxCoreOutYears(Constant)
                   %mcrFxCoreOutYears(Comparable)
                   %mcrFxCoreOutYears(Estimate)
                   %mcrFxCoreOutYears(Actual)
              ENDFIXI pass the Scenarios Constant, Comparable, Estimate, and Actual to the macro mcrFxCoreOutYears. You can apply HBRs against Essbase.
    I believe (I can't remember what exactly -- is it that templates don't accept parameters? That seems hard to believe. Looking at a CM template, that does seem to be the case. Bummer if I'm right.) that Calc Manager BRs have less functionality wrt templates, but I haven't worked with CM for over a year.
    It works really well -- a single place to maintain code and no appreciable performance cost.
    You cannot launch a HBR from a MaxL script but HBRs can be launched from command lines -- this may constrain where you place your automation (it basically has to run off of whatever the EAS server is. You may end up shelling out of MaxL to execute the HBR or even execute scripts across servers -- that does get more complicated.).
    Anyway, if you have any more questions, ask away -- it really is a very powerful component. I will have to look at CM more closely (sooner or later I will lose the HBR vs CM argument and at least need to know if templates support parameters) to see if I'm right on what I wrote above.
    Regards,
    Cameron Lackpour
    P.S. You cannot define an ARRAY in an HBR macro because ARRAY arrayname[value] gets read as a parameter. I ended up declaring the array in the calling HBR.
    P.P.S. I really need to write up the fx approach in a blog post -- it is wicked fast and really easy to use. Too many other posts in the queue already.
    Edited by: CL on Aug 24, 2011 1:48 PM

  • Isql*plus 9.2 problem: Substitution variables

    hi, i'm new to using isql*plus.
    i have written the following script to setup my the structure of a database, it works but when i execute it it asks me to:
    Substitution Variables
    Enter values for substitution variables in the script to execute:
    Variable      Value
    d
    I cant work out why, please help.
    here's the script:
    --author: daniel smith
    --student number: 2235592
    --date: 17/02/2005
    --isql plus
    --Application Development and Database (AD&D)
    --Assessment 3
    --drop existing tables
    drop table expense;
    drop table sess;
    drop table assignment;
    drop table task;
    drop table stage;
    drop table project;
    drop table task_type;
    drop table employee;
    drop table grade;
    --create new tables
    create table grade
    grade_no number(6) primary key,
    description varchar2(50),
    rate_per_hour number(5,2)
    create table employee
    employee_no number(6) primary key,
    surname varchar2(50),
    first_name varchar2(50),
    grade_no number(6),
    foreign key (grade_no) references grade(grade_no)
    create table task_type
    task_type_no number(6) primary key,
    description varchar2(50),
    grade_no number(6),
    foreign key (grade_no) references grade(grade_no)
    create table project
    project_no number(6) primary key,
    project_code varchar2(50),
    client varchar2(50),
    description varchar2(50),
    manager number(6),
    foreign key (manager) references employee(employee_no)
    create table stage
    project_no number(6),
    stage_no number(6),
    description varchar2(50),
    Start_date date,
    planned_Duration number(6,1),
    fees_basis varchar2(2),
    primary key (project_no,stage_no),
    foreign key (project_no) references project(project_no),
    constraint fees_basis_ck check(fees_basis IN ('fq','vs','vn','cs','cn'))
    create table task
    project_no number(6),
    stage_no number(6),
    task_no number(6),
    description varchar2(50),
    estimated_hours number(6,2),
    planned_start_date date,
    max_duration number(6,2),
    task_type_no number(6),
    primary key (project_no,stage_no,task_no),
    foreign key (project_no,stage_no) references stage(project_no,stage_no),
    foreign key (task_type_no) references task_type(task_type_no)
    create table Assignment
    project_no number(6),
    stage_no number(6),
    task_no number(6),
    employee_no number(6),
    estimated_hours number(6),
    primary key (project_no,stage_no,task_no,employee_no)
    create Table Sess
    Session_no number(6),
    Session_date date,
    actual_Hours number(6),
    chargeable char(1),
    project_no number(6),
    stage_no number(6),
    task_no number(6),
    employee_no number(6),
    primary key (Session_no),
    Foreign key (project_no, stage_no, task_no, employee_no)
    references Assignment(project_no, stage_no, task_no, employee_no),
    constraint chargeable_sess check(chargeable IN ('y','n'))
    create table expense
    expense_no number(6),
    description varchar2(50),
    quantity number(4),
    unit_cost number(4,2),
    chargeable char(1),
    project_no number(6),
    primary key(expense_no),
    foreign key(project_no) references project(project_no),
    constraint chargeable_exp check(chargeable IN ('y','n'))
    **********************************************************

    << ..
    << --Application Development and Database (AD&D)
    << --
    take the '&' off your script,
    oracle thinks you want to define variable D,
    and obviously you don't want that

  • Substitution variable in Load rule Header Essbase 11.1.1.3

    Think its obvious you can use substitution variable as a Header definition on Load rules, does version 11.1.1.3 has any issues' with it, i am running into Unexpected Essbase error 1019026.
    Error:
    Unknown member [Mgmt Actual,Base,No Vertical,No Customer] found while processing string [Mgmt Actual","Base","No Vertical","No Customer]
    Unexpected Essbase error 1019026
    I want to copy Actual data into other scenario's in ASO cube so thought will use substitution variables to eliminate duplication on load rules.
    Mgmt Actual is a scenario set thru Substitution variable at the DB level
    i.e *&CurScen="Mgmt Actual" (set at DB level)*
    Header Definition on load rule *&CurScen,"Base","No Vertical","No Customer"*
    Data load work fine If i replace substitution variable with original member *"Mgmt Actual","Base","No Vertical","No Customer"*.
    I did notice some users complaining erratic behavior when substitution variables are placed in load rule header at the End on multiple members, i have tried all places End, First and Middle.
    tried using single Load rule with EAS and MAXl same results.
    i want to keep altering scenarios on header definition and use same rule files.
    alter database AppName.DbName set variable CurScen '"Mgmt Actual"';
    Running out of ideas any help!

    Error:
    Unknown member [Mgmt Actual,Base,No Vertical,No Customer] found while processing string [Mgmt Actual","Base","No Vertical","No Customer]
    Unexpected Essbase error 1019026
    *1019026 Unknown member memberName found while processing string string*
    Possible Problems
    Analytic Services does not recognize the listed string as a member of the outline.
    Possible Solutions
    Make sure that the member name is valid. The member name is in the rules file.
    * Are you using the correct rules file?
    * Is the rules file connected to the correct outline?
    * Can you validate the rules file?
    * 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 dimension build or add the member in the Outline Editor.
    * Make sure that the member is not specified as a header in the rules file.
    Regards,
    Prabhas

  • Substitution Variable update issue

    Hi,
    I am using Essbase 9.2.0.3. I have noticed a problem afetr updating Substitution Variable.
    The calculation script which uses the Substitution Variable works well after updating the variable.
    But the Member formula doesn't work, unless we restart the application .The member formula is in Period dimension to calculate QTD/YTD.
    Formula is: QTD=@MEMBER(@CONCATENATE (QTD,&ActEnd));
    Have anyone come across this? why the outline formula is not taking the updated value fronm Substitution Variable?
    Thanks,
    Tarini

    Hi,
    I reported this issue to the support and it was classified as: Bug 13072601: USING SUBSTITUTION VARIABLES IN FORMULAS OF OUTLINE MEMBERS.
    But as support didn't see this behavior as unusual or as a bug I went deeper and requested for enhancement. I asked them if it is possible to introduce a config setting which would switch on/off automatic updates of subs vars in outline as well as in partitions.
    Status is: Approved for Future Release, but there is no fixed version available yet.
    The ER# is: 13107378: AN ESSBASE CONFIG SETTING WHICH MAY SWITCH ON/OFF AUTOMATIC UPDATES OF SUBSVARIA
    So anyone interested can requested them for status.
    Regards,
    Adam

  • Outline Order, Calc Script Performance, Substitution Variables

    Hi All,
    I am currently looking in to the performance side.
    This is mainly about the calculation script performance.
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    I would be looking forward for your suggestions.
    It would be really apprecialble if It is Ok to share your contact number so that I can get in touch with you. That could be of great help from your side.

    I have provided some answers below:
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    ----------------------------You are absolutely right here but it helps to understand the underlying principles and best practices as you seem to understand.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    ----------------------------This is one reason but another is to manage disk I/O during calculations. Especially when performing the intial calculation of a cube, the order of sparse dimensions from smallest to largest will measurably affect your calc times. There is another consideration here though. The smallest to largest (or least to most) sparse dimension argument assumes single threading of the calculations. You can gain improvements in calc time by multi-threading. Essbase will be able to make more effective use of multi-threading if the non-aggregating sparse dimensions are at the end of the outline.
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    ----------------------------Index entry or block numbering is indeed based on outline order. However, you do not have to put the members in a cross-dimensional expression in the same order.
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    ----------------------------No it does not.
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    --------------------------This will not necessarily improve performance in and of itself.
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    --------------------------You would be well advised to do this and it would almost certainly improve performance. WARNING: There may be a reason for the multiple fix statements. Each fix statement is one pass on all of the blocks of the cube. If the calculation requires certain operations to happen before others, you may have to live with the multiple fix statements. A common example of this would be calculating totals in one pass and then allocating those totals in another pass. The allocation often cannot properly happen in one pass.
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    -------------------------Without knowing more about the application, there is no way of knowing. Knowledge is power. You may want to look into taking the Calculate Databases class. It is a two day class that could help you gain a better understanding of the underlying calculation principles of Essbase.
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    ------------------------Your cube size is large and block density is quite low but there are too many other factors to consider to simply say that you should make changes based solely on these parameters. Too often we get focused on block density and ignore other factors. (To use an analogy from current events, this would be like making a decision on which car to buy solely based on gas mileage. You could do that but then how do you fit all four kids into the sub-compact you just bought?)
    Hope this helps.
    Brian

Maybe you are looking for