Multiple Fix Statements

We have calc scripts that are not fixing on one dimension, hence, every member of that dimension is being calc'd. If we have multiple fix statements throughout the calc script, could I just add the missing dimension member to the first fix statement and it would apply throughout the script instead of updating all of the fix statements throughout the script? In essence, once a dimension member is fixed on, it will remain fixed until another fix statement specifially overrides it? I would appreciate any thoughts. Thanks!

Hi Glenn, :)
You are of course and as usual correct re the UNION effect of nested FIX statements that reference the same dimension.
I think the OP was discussing the same member FIXed upon multiple times within the same calc script/HBR. Maybe he has a union occuring and doesn't realize it.
Are you referring to his second post where he states:
Will there be any performance benefits if I change it so that there is one fix statement at the top that's applicable to all calcs, and then change the fix statements subsequently for calcs that need to change their focus?I guess that implies a situation where he first FIXed on Actual and then didn't terminate with an ENDFIX before he went on to FIX on Budget. As you state, that would then cause a union and probably screw his data up in a fairly exciting manner.
Regards,
Cameron Lackpour

Similar Messages

  • Executing a stored procedure containing multiple Select statements

    Post Author: Beverly
    CA Forum: General
    I am using Crystal  10.0 against a MS SQL 2000 server.
    I am trying to create a report based on a stored procedure that contains multiple select statements.  The sp requires a single parameter (Claim number) and contains 17 Select statements that produce results.
    I am able to use the Add command and execute the sp with the parameter, but I am only getting the results of the first select statement in the sp back in my data set.  Is there a way to have the data from each Select statement returned to my report?
    I have used Crystal for a while, but pretty much for straight-forward reporting.  I am familiar with the basics of SQL.
    I would appreciate any help anyone can offer.
    Thanks.

    Post Author: BISoftware
    CA Forum: General
    I believe Crystal Reports can only handle one recordset at a time, which means it can only handle a single select statement.  The only way I can see around this would be to break up your stored procedure into multiple stored procedures, so that each only contains a single select statement.  Then, use subreports to report on each individual sp. Hope this helps. - Davewww.BusinessSoftwareResource.com

  • Doubt in FIX statement..

    Hi Friends,
    Why do we have square brackets for some members in the FIX statement, like in example below..
    FIX(&CurrentProjMonth:"Dec","CURRENT",[LE],[Product],...
    Thanks,
    Raju..
    Edited by: 988835 on Feb 18, 2013 10:14 PM

    Hi,
    Square brackets in business rule symbolizes those are Run Time Prompts and are global variables.
    Hope this helps.
    Regards
    -SM

  • Use of attributes in FIX statement w/ other mbrsets

    Hi all,I just discovered that in 6.1.4, using a FIX statement like:FIX (@ATTRIBUTE("Diet"), @LEVMBRS(Products, 0))will actually select all products, not just a subset that have the attribute "Diet" (where "Diet" is, of course, an attribute of products).Now you might think I'm ignorant, since it seems logical that the subset "Diet" might be overridden by the superset "Products". However the same problem happens if I use:FIX (@ATTRIBUTE("Diet"), @ATTRIBUTE("Discontinued"))This statement returns neither the intersection nor the union of those two subsets - I seem to get ALL products.What gives? Am I just a foolish country boy?-dan

    Does this select ALL of the products, or just the Level 0 products? The reason I ask is that the statement will not be combined using AND logic - only members of different dimensions will be combined using AND logic. Try the following:FIX (@LEVMBRS(Product, 0) AND @ATTRIBUTE(Diet))Now, if your attribute is at level 0 (I assume it is) and you want to select them, just use:FIX (@ATTRIBUTE(Diet))That will select all of the products that have a Diet attribute.Hope that helps.Regards,Jade-------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

  • Using variables in a fix statement

    I am using a nested fix statement on a dense member and would like to use variables to represent certain intersections. Since the variables need to be within a calc member bloc, where do I place them? Do they go inside the fix statement witht the parenthesis just around teh variables or the last parenthesis at the end of the fix statement?

    If you mean substitution variables, they are defined outside the calc script at a dp, app, or server level. They simply substitute their textual value at the place they appear in the script. If the substitution results in a valid calc script where it occurs, then you are fine. So FIX ( &subvar ) could be valid.If you mean temporary variables, they hold intermediate calculational values. The docs say "VAR commands can only be assigned values within a member calculation or when VAR is declared. " That is, you may either say 'VAR tempvar = 1000; ' [declare and set value] or 'VAR tempvar;' [declare only, often at the start of your script] then somewhere in the script 'tempvar = expression;' [value gets assigned]. This last expression would not appear within the parentheses of a FIX ( members ) statement, but somewhere within the FIX block. You would never say FIX ( tempvar ) as it is not an outline member.

  • Problem with FIX-Statement in Business Rule

    Hello,
    ich have a business rule with two nested FIX-Statements.
    I calculate depending on the month in the runtime-prompt a forecast for this month. After that i fix on that month an clear some specific accounts. But some of these accounts still have data.
    they are in the cleardata section and they are children of FiBuKonten from the first fix. When i leave out the @CHILDREN("FiBuKonten") in the first fix the accounts are cleared as excepted, but i need that fix because not all accounts are part of this forecast.
    I changed everything to work as a calc-script and the same problem appears, on dev and prod database.
    Why are some accounts cleared while others not ? Really misterious!
    Here is the rule
    FIX([TEBIT_RTP_Year],[TEBIT_RTP_Version],"IFRS operativ",[TEBIT_RTP_Entity],"Daten brutto","Daten_brutto_P_M",@CHILDREN("FiBuKonten"))
    [TEBIT_RTP_Period](
    IF(@ISMBR("Jan"))
    Actual_kum = Budget_kum;
    ELSEIF(@ISMBR("Feb"))
    Actual_kum = Budget_kum;
    ELSEIF(@ISMBR("Apr"))
    Actual_kum = @ROUND(("1HR"->Dec - Actual_kum->Mar)/9 + Actual_kum->Mar,2);
    ELSEIF(@ISMBR("May"))
    Actual_kum = @ROUND(("1HR"->Dec - Actual_kum->Apr)/8 + Actual_kum->Apr,2);
    ELSEIF(@ISMBR("Jul"))
    Actual_kum = @ROUND(("2HR"->Dec - Actual_kum->Jun)/6 + Actual_kum->Jun,2);
    ELSEIF(@ISMBR("Aug"))
    Actual_kum = @ROUND(("2HR"->Dec - Actual_kum->Jul)/5 + Actual_kum->Jul,2);
    ELSEIF(@ISMBR("Oct"))
    Actual_kum = @ROUND(("3HR"->Dec - Actual_kum->Sep)/3 + Actual_kum->Sep,2);
    ELSEIF(@ISMBR("Nov"))
    Actual_kum = @ROUND(("3HR"->Dec - Actual_kum->Oct)/2 + Actual_kum->Oct,2);
    ENDIF;)
    FIX([TEBIT_RTP_Period])
         CLEARDATA "41000000";
         CLEARDATA "41100000";
         CLEARDATA "41200000";
         CLEARDATA "41990000";
         CLEARDATA "41000900";
         CLEARDATA "41096000";
         CLEARDATA "41196000";
         CLEARDATA "41296000";
         CLEARDATA "41940000";
         CLEARDATA "42000000";
         CLEARDATA "42100000";
         CLEARDATA "42200000";
         CLEARDATA "42099000";
         CLEARDATA "42199000";
         CLEARDATA "42299000";
         CLEARDATA "42990000";
         CLEARDATA "41918000";
         CLEARDATA "41100900";
         CLEARDATA "42091000";
         CLEARDATA "42918000";
         CLEARDATA "54000000";
         CLEARDATA "54009000";
         CLEARDATA "54009900";
         CLEARDATA "54009600";
         CLEARDATA "54130200";
         CLEARDATA "93541175";
         CLEARDATA "54001000";
         CLEARDATA "54001900";
         CLEARDATA "54014000";
         CLEARDATA "54019000";
         CLEARDATA "54021000";
         CLEARDATA "54021900";
    ENDFIX
    ENDFIX
    Thx for your help.
    Greets
    Kevin

    Does it make a difference when a dimension has dynamic calc members and i dont fix on that dimension to fix on the Level 0 members of that dimension ? The result should be the same in my eyes.
    SGF is dense. I found out that everytime i the fix includes that first member M_124100 the error occoured.
    I changed the rule in the form that i split the FIX Statement. And now it works without the error and with all data cleared. Even when i don`t reorder the dimension SGF.
    Again thanks for your help.
    Greets
    Kevin
    FIX([TEBIT_RTP_Year],[TEBIT_RTP_Version],"IFRS operativ",[TEBIT_RTP_Entity],"Daten brutto","Daten_brutto_P_M")
    FIX(@CHILDREN("FiBuKonten"))
    [TEBIT_RTP_Period](
    IF(@ISMBR("Jan"))
    Actual_kum = Budget_kum;
    ELSEIF(@ISMBR("Feb"))
    Actual_kum = Budget_kum;
    ELSEIF(@ISMBR("Apr"))
    Actual_kum = @ROUND(("1HR"->Dec - Actual_kum->Mar)/9 + Actual_kum->Mar,2);
    ELSEIF(@ISMBR("May"))
    Actual_kum = @ROUND(("1HR"->Dec - Actual_kum->Apr)/8 + Actual_kum->Apr,2);
    ELSEIF(@ISMBR("Jul"))
    Actual_kum = @ROUND(("2HR"->Dec - Actual_kum->Jun)/6 + Actual_kum->Jun,2);
    ELSEIF(@ISMBR("Aug"))
    Actual_kum = @ROUND(("2HR"->Dec - Actual_kum->Jul)/5 + Actual_kum->Jul,2);
    ELSEIF(@ISMBR("Oct"))
    Actual_kum = @ROUND(("3HR"->Dec - Actual_kum->Sep)/3 + Actual_kum->Sep,2);
    ELSEIF(@ISMBR("Nov"))
    Actual_kum = @ROUND(("3HR"->Dec - Actual_kum->Oct)/2 + Actual_kum->Oct,2);
    ENDIF;)
    ENDFIX
    FIX([TEBIT_RTP_Period])
    CLEARDATA "41000000";
    CLEARDATA "41100000";
    CLEARDATA "41200000";
    CLEARDATA "41990000";
    CLEARDATA "41000900";
    CLEARDATA "41096000";
    CLEARDATA "41196000";
    CLEARDATA "41296000";
    CLEARDATA "41940000";
    CLEARDATA "42000000";
    CLEARDATA "42100000";
    CLEARDATA "42200000";
    CLEARDATA "42099000";
    CLEARDATA "42199000";
    CLEARDATA "42299000";
    CLEARDATA "42990000";
    CLEARDATA "41918000";
    CLEARDATA "41100900";
    CLEARDATA "42091000";
    CLEARDATA "42918000";
    CLEARDATA "54000000";
    CLEARDATA "54009000";
    CLEARDATA "54009900";
    CLEARDATA "54009600";
    CLEARDATA "54130200";
    CLEARDATA "93541175";
    CLEARDATA "54001000";
    CLEARDATA "54001900";
    CLEARDATA "54014000";
    CLEARDATA "54019000";
    CLEARDATA "54021000";
    CLEARDATA "54021900";
    ENDFIX
    ENDFIX

  • Executing multiple DDL statements with OracleCommand

    hi..
    im having trouble executing multiple ddl statements with the the oracle command object. i have tried to enclose them within Begin.. End; block but with no use.
    this problem seems to occur only with DDL statements,.. as my DML like update, delete and Inserts seem to work fine when enclosed within the PL /SQL block.
    single DDL statements also seem to work fine. so im guessing this has nothing to do with priviledges. any ideas?
    my code as follows
    OracleCommand command = new OracleCommand();
    command.CommandType = CommandType.Text;
    command.CommandText = string.Format(@"{0}",script);
    conn.Open();
    command.Connection = conn;
    command.ExecuteNonQuery();
    the script is read from a file, and looks like this. (note : i have removed any line breaks or any other characters)
    BEGIN ALTER TABLE SYSTEMUSER DISABLE CONSTRAINT FK_USER_CLIENT; ALTER TRIGGER SET_SUBSCRIPTION_SUB_I DISABLE; END;
    this is the error i get.
    Oracle.DataAccess.Client.OracleException: ORA-06550: line 1, column 7:
    PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
    begin case declare exit for goto if loop mod null pragma
    raise return select update while with <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> <<
    close current delete fetch lock insert open rollback
    savepoint set sql execute commit forall merge pipe.

    If I'm not mistaken, we're not allowed to issue DDL inside anonymoue block (or stored procedure) since DDL has implicit commit in it. But you still can execute DDL using EXECUTE IMMEDIATE or using DBMS_SQL package. Try changing your CommandText like this,
    BEGIN
       EXECUTE IMMEDIATE 'ALTER TABLE SYSTEMUSER DISABLE CONSTRAINT FK_USER_CLIENT';
       EXECUTE IMMEDIATE 'ALTER TRIGGER SET_SUBSCRIPTION_SUB_I DISABLE';
    END;Hope this helps,
    [Nur Hidayat|http://nur-hidayat.net/]

  • How to send multiple customer statements by email using RFKORD11 program.

    Hi All,
    How to send multiple customer statements by email using RFKORD11 program. Is it possible?
    As of now we copied the stanadard program and sending the customer statements by email, one by one.
    if i execute the z program it will show the customer statement and send mail option.
    if i click send mail it will send that customer statement to the corresponding customer.
    then again i need to click back, it will show next customer statement and click on send mail.
    Pl guide me, if any one worked on this program.
    thanks in advance.
    Regards,
    Mahesh

    Try execute the program in the background to see if that helps.

  • How to send multiple customer statements by email using RFKORD11

    Hi All,
    How to send multiple customer statements by email using RFKORD11 program.
    As of now we copied the stanadard program and sending the customer statements by email, one by one.
    if  i execute the z program it will show the customer statement and send mail option.
    if i click send mail it will send that customer statement to the corresponding customer.
    then again i need to click back, it will show next customer statement and click on send mail.
    Pl guide me, if any one worked on this program.
    Regards,
    Mahesh

    Hi .
    You first need to copy that program to Z and make the changes in it. Can you convert sapscript to smartform?
    then you can write a logic to send mail in the loop.
    to send the pdf file
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/snippets/mailsendthroughoutputcontrols
    Regards,
    Madhuri
    Edited by: madhuri sonawane on Jun 10, 2009 4:20 PM

  • Problem Using Multiple With Statements

    I'm having a problem using multiple WITH statements. Oracle seems to be expecting a SELECT statement after the first one. I need two in order to reference stuff from the second one in another query.
    Here's my code:
    <code>
    WITH calculate_terms AS (SELECT robinst_current_term_code,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '40'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '100'
    END first_term,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '100'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '160'
    END second_term
    FROM robinst
    WHERE robinst_aidy_code = :aidy)
    /*Use terms from calculate_terms to generate attendance periods*/
    WITH gen_attn_terms AS
    SELECT
    CASE
    WHEN first_term LIKE '%60' THEN 'Fall '||substr(first_term,0,4)
    WHEN first_term LIKE '%20' THEN 'Spring '||substr(first_term,0,4)
    END first_attn_period,
    CASE
    WHEN second_term LIKE '%60' THEN 'Fall '||substr(second_term,0,4)
    WHEN second_term LIKE '%20' THEN 'Spring '||substr(second_term,0,4)
    END second_attn_period
    FROM calculate_terms
    SELECT *
    FROM gen_attn_terms
    <code>
    I get ORA-00928: missing SELECT keyword error. What could be the problem?

    You can just separate them with a comma:
    WITH calculate_terms AS (SELECT robinst_current_term_code,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '40'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '100'
    END first_term,
    CASE
    WHEN robinst_current_term_code LIKE '%60' THEN robinst_current_term_code - '100'
    WHEN robinst_current_term_code LIKE '%20' THEN robinst_current_term_code - '160'
    END second_term
    FROM robinst
    WHERE robinst_aidy_code = :aidy),
    /*Use terms from calculate_terms to generate attendance periods*/
    gen_attn_terms AS
    SELECT
    CASE
    WHEN first_term LIKE '%60' THEN 'Fall '||substr(first_term,0,4)
    WHEN first_term LIKE '%20' THEN 'Spring '||substr(first_term,0,4)
    END first_attn_period,
    CASE
    WHEN second_term LIKE '%60' THEN 'Fall '||substr(second_term,0,4)
    WHEN second_term LIKE '%20' THEN 'Spring '||substr(second_term,0,4)
    END second_attn_period
    FROM calculate_terms
    )Not tested because there are no scripts.

  • Multiple UPDATE statement in a message

    Hi Experts,
    Here is a scenario where we need to send multiple UPDATE statements in single message
    the structure is as below.
    <Table_name> 0..unbounded occurrence
               <action> UPDATE
               <access>
                       <non key fields>
               </access>
               <key>
                       <key fields>
               </key>
    in the above case the node <Table_name> would occur multiple times, the issue is only the first occurrence of the update statement is executed, rest of the update statements are ignored.
    did my approach is wrong, please help...
    thanks.

    Bandana,
    No your approach is not wrong. But you may need to tweak little bit to get your requirement correctly.
    Please follow Raj or Jais reply in this threads:
    JDBC Receiver - Multiple rows Update
    JDBC receiver multiple records UPDATE
    But with this approach it would be multiple calls. If I were you I would write SQL_DML statement to update all at once.
    Regards,
    ---Satish

  • How to return the result set of multiple select statements as one result set?

    Hi All,
    I have multiple select statements in my stored procedure that I want to return as one result set 
    for instance 
    select id from tableA
    union 
    select name from table b 
    but union will not work because the result sets datatypes are not identical so how to go about this ?
    Thanks

    You have to CAST or CONVERT (or implicitly convert) the columns to the same datatype.  You must find a datatype that both columns can be converted to without error.  In your example I'm guessing id is an int and name is a varchar or nvarchar. 
    Since you didn't convert the datatypes, SQL will use its data precedence rules and attempt to convert name to an int.  If any row contains a row that has a value in name that cannot be converted to an int, you will get an error.  The solution is
    to force SQL to convert the int to varchar.  So you want something like
    select cast(id as varchar(12)) from tableA
    union
    select name from tableb
    If the datatypes are something other that int or varchar, you must find a compatable datatype and then convert one (or both) of the columns to that datatype.
    Tom

  • FIX Statement problem

    In this calc:
    FIX("Actual","Polling",@LEVMBRS ("Measure", 0),"26Apr11":"02Jan12")
    DATACOPY "R0003152" TO "R9003152";
    ENDFIX     
    When I try to substitute the ancestors of the date range     from "26Apr11":"02Jan12" to @RELATIVE("P05 FY2012":"P13 FY2012",0), which are equivalent
    I am getting an error. Error is : 1200414 Error parsing formula for [FIX STATEMENT] (line 14): number of dimensions [1] does not match number of gen/level [9] in function [@DIM]     .
    I can't figure this one out. Anyone see why this is happenng here?

    In my Time dimension the hierarchy goes from days ie. 24June11 at level 0 up to Periods (months essentially) P1, P2...
    When I copy data from one Org. member to another I need to do it by Period and would prefer to do using Periods, but at the lowest level which is days. I was only looking for a function I could use to identify the lowest level (days) in this dimension by using the Periods members. So, I need to copy data from x member to y member for P2 to P4 for example which would be whatever days that equates to in those periods. I just need a function to bring back the days in those periods for a specified range...like a @LEVMBRS("P2":"P4", 0) but this function does not work in this case.

  • 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!
    Thanks

    Hi,
    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

  • Attributes Issue in FIX Statement Calculation

    Hi All,
    I have issue with calculating FTE. I have a dimension call Employees and has an attributes (Full-Time / Part-Time). I'm trying to calculate FTE. Below is my code. It seems to be ignoring Attribute in the Fix Statement. when I run this calc script FTE for every employees is 0.5 since that's the last thing it does. If I comment out the second fix statement FTE for every employees is 1. I'm not sure why it's not it's ignoring my statement on the Attributes.
    FIX(@LEVMBRS("Time Periods",0),"FY11","WP","Working Version",@LEVMBRS("Measures",0),"USD",@LEVMBRS("Entities",0),@LEVMBRS("Sites",0),@LEVMBRS("Employees",0),@LEVMBRS("Job Codes",0),@LEVMBRS("Cost Centers",0),@LEVMBRS("SBU",0),@LEVMBRS("EE_Status",0),@ATTRIBUTE("Full-Time"))
    FTE(
    IF
    ("Base_Salary">0);
    "FTE"=1;
    ELSE
    "FTE"==#MISSING;
    ENDIF;
    ENDFIX;
    FIX(@LEVMBRS("Time Periods",0),"FY11","WP","Working Version",@LEVMBRS("Measures",0),"USD",@LEVMBRS("Entities",0),@LEVMBRS("Sites",0),@LEVMBRS("Employees",0),@LEVMBRS("Job Codes",0),@LEVMBRS("Cost Centers",0),@LEVMBRS("SBU",0),@LEVMBRS("EE_Status",0),@ATTRIBUTE("Part-Time"))
    FTE(
    IF
    ("Base_Salary">0);
    "FTE"=0.5;
    ELSE
    "FTE"==#MISSING;
    ENDIF;
    ENDFIX;
    Edited by: user8988798 on Mar 26, 2010 9:57 AM

    Having both @LEVMBRS("Employees",0) and @ATTRIBUTE("Full-Time") is your problem. You are saying give me all of the level zero members of employee and also give me the members that have Full time. Since attributes are tied to the base members you would just need @ATTRIBUTE("Full-Time") to get the full time employees

Maybe you are looking for