Calc script basic

what is the difference b/w these two scripts....does any of the below scripts optimize the performance?
Fix( &CurrYr,&CurrVer)
Agg ( "Department","Location","Project")
ENDFIX
Fix( &CurrYr,&CurrVer)
Agg ( "Department")
Agg ("Location")
Agg ("Project")
ENDFIX

yeah they are basically same. Although, You might wanna agg the dimension in the order they are in the outline. I've seen a substantial improvement in some cases.

Similar Messages

  • Examples of Calc Scripts

    Hello,is there any where a site or a documentation on calc script examples?If yes, could some one guide me to this information.Thank you!Bob

    There are examples and a good discussion of Calc Script basic in the Database Administrators Guide. In versions 6.0 and higher this is available in electronic form from the Essbase Program Group under Server Documentation.There are also specific courses that concentrate on calculation design and development available from Hyperion Solution and its PartnersCourse descriptions for the Hyperion Solutions Education offerings can be found at http://www.hyperion.com/services/ then select “Education offerings” under “learn more about”.Joseph HoganSenior Essbase Lead Consultant – Hyperion Solutions203.703.3300 x6364

  • IF Statement with multiple ORs in Calc Script

    Hello,
    May I know what is the best way to script the following statement in a Member formula, not calc script (can't use Fix statements)
    If (A->B->C == 1, 3 or 5 AND X->B->C == Value1)
    returnvalue1
    ELSE
    #Missing.
    Basically I am looking for syntax for an IF statement where IF one condition is equal to multiple values as mentioned, then the result is this...
    Help is much appreciated.  Thanks.
    Adi

    You won't be able to use a comma separated list, you'll have to repeat the combination. A->B->C == 1 or A->B->C == 3 so on and so forth
    If you can give a use case scenario or the logic behind it then there are more chances that you might end up with a nicer solution.
    Regards
    Celvin

  • Calc Scripts

    <p>Hello,  I am new to Essbase and calcscripts as well as this discussion board. I have been reading a calc script in hopes of optimizing itsince it seems to take longer than anticpated.  Someone elsewrote it but I am trying to figure if parts of it are really doinganything except taking up time.  The following snipet is whatexactly I am curious about.</p><p> </p><p>**I have placed comments amongst the calc script to specifyareas that I am unclear about.</p><p> </p><p>Fix(currentyear, financial, CalcMAct)</p><p>SET AGGMISSG OFF;</p><p>Fix (HEL, Init, "NoMfgS", @RELATIVE("TotSellMeth", 0))<br>     DataCopy "HEGS" TO"GoodS@L";<br>     DataCopy "HECS" TO"GoodP";</p><p>     // Why fix here when nothing seems tohappen below and a new fix proceeds it after the last endfix?<br>      Fix ("GoodS@ L","GoodP")  <br>          @IDESCENDANTS(UB88);  // To me this doesn't seem to be doing much<br>      EndFix<br>EndFix<br>SET AGGMISSG ON;</p><p><br>Fix (@RELATIVE (UB88, 0))  //Is this doing anything since anew fix comes right after it?</p><p>//  I understand this fix because it is fixating andcopying but don't understand how the other fix helped get to thispoint.<br>Fix (@RELATIVE ("TotSellMeth", 0), @RELATIVE("TotMan", 0))<br>      DataCopyWorking->Init->"GoodQ" TOAct->Init->"GoodQ";<br>EndFix<br><br>Fix (Act, Init)  //  What is this doing if another fixproceeds right after it?<br><br>Fix (@RELATIVE ("TotSellMeth", 0), @RELATIVE("TotalMan", 0))</p><p>.</p><p>.</p><p>.</p><p>.</p><p>As I stated I am a newbie and I am not sure if those fixes I hadcomments on are indeed necessary or if they are just loadingdatablocks into storage and not being used to really fixate onanything.  I was under the impression from a course I took athyperion that to fixate on a particular datablock you use one fixor nested fixes.  </p>

    The line which you don't think is doing anything is applying the member calcs (from the outline) to the descendants of UB88. When a member name is placed by itself as a statment, it means to use the calculation that is in the outline, basically as a calc of that item at the time it is called, nesting it in the fix as it is simply means that there is a datacopy (probably to create blocks) and then a focus forther in on the two dimesions and recalcing Descendents of UB88.<BR><BR>Nesting fixes like this is not an unusual way of doing things. I might fix on a date in a single fix statement, then nest a couple of other fixes on other dimensions within the first fix, maybe doing sonething different in different regions.

  • To View Calc Scripts and Report scripts via MaxL or Esscmd

    Hi all,
    Can somebody tell how to read any calc script or report script in any database with the help of MaxL or Esscmd?
    For example if there is any .csc or .rep file, I want to read the context of the file i.e. the script that is written in the file. Is it possible via MaxL or Esscmd?
    Does Hyperion supports this functionality?
    Regards,
    James

    You know that calc and report scripts are text files, right?
    They are typically stored in the database directory, although that is not a requirement; they can be stored in other client-accessible directories and run from there.
    I haven't done it in ages, but is also possible to pass calc and report scripts to Essbase via the API. I can't remember if the API will let you enumerate calc scripts from the database directory. I sort of strongly think yes. Someone who is more knowledgeable will either correct or refute that statement pretty soon. :)
    If you want to list the objects (calcs or reports): http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/techref.htm
    A few things that you can do with MaxL re calc scripts:
    1) execute calculations, including a string that you pass through MaxL: http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/excalc.htm
    2) delete calculations: http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/drpcalc.htm
    3) list the calcs: http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/dispclc.htm
    4) create the calc: http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/crecalc.htm
    Report scripts are sort of a poor relation in MaxL (and were in Esscmd as well). You can basically only run a report as kind of export: http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/exprt.htm
    So, I think it's mostly there, especially the display object command. BTW, if MaxL can list it, the API can too -- how else does MaxL work?
    Regards,
    Cameron Lackpour
    Edited by: CL on Dec 1, 2008 11:53 PM
    Didn't post the right URLs. Now fixed. CL

  • Execute Calc script in Maxl with compained all script

    Hi,
    I have nearly 20 Calc script in one of the application. I need to run all the script once I change the calc script.
    Execute calculation default 'databasename.application-name' ;
    Is there any command in MaxL directly use to run all the calc script?
    Kindly let me know.

    I'm not sure why anyone would want to run 20 scripts. If I wanted to do that I would combine them into one or two. If your heart is set on running ALL the scripts in your database, You could do something like create a generic MaxL script like:
    Execute calculation sample.basic.$1
    then in your batch script have a statement that selects all of the files that end in .csc for the directory and pass them to the script essmsh mymaxl.mxl Filename
    I'll assume either the scripts are named in the order you want them to run or you could rename them with a numberic to indicate the run order.

  • CALC SCRIPT - HELP PLEASE!!! URGENT

    I am trying to write a Calc Script for the Outline below -
    AP_Related
    Trade_AP +
    2200 + (Alias – A/P Trade related Party)
    2210 + (Alias – A/P Trade I/P)
    2215 +
    AP_Corporate +
    2240 + (Alias – Brazil Fees)
    2250 + (Alias – Corporate Chargebacks)
    2260 + (Alias – Service Fees)
    2270 + (Alias – Fusion Fees)
    2280 + (Alias – Tech Fees)
    AP_Corp_IP + (UDA – Input_Accs)
    I want to put the values in 2240 and 2250 into AP_Corporate and the values of 2260,2270 and 2280 into 2210.
    I am trying to add the code to the existing code.
    /*Fix on members to copy Actual data to Forecast - */
    FIX(&ActMonthEnd,&ForecastYear,"Final",@RELATIVE("Product Groups",0),@RELATIVE("Departments",0),
    @RELATIVE("ICP",0),@RELATIVE("TOT_USG",0),@RELATIVE("Accounts",0))
    "Actual"(
    @CALCMODE(bottomup);
    IF(@ISUDA("Accounts","INPUT_ACCS"))
    "Basic"->"Forecast"->&ForecastYear=@SUM(@REMOVE(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0),
    @REMOVE(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0),
    @UDA("Accounts","SUMMED_ACCS"))))-@CURRMBR("Accounts");
         IF(@ISMBR("Tot_I/P_Mat_Costs_Roll Prod_INP"))
              "Basic"->"Forecast"->&ForecastYear->"Tot_I/P_Mat_Costs_Roll Prod_INP"=#Missing;
         ENDIF
         IF(@ISMBR("Metal_Costs_3rd_Party_INP"))
              "Basic"->"Forecast"->&ForecastYear->"Metal_Costs_3rd_Party_INP"=#Missing;
         ENDIF
         ELSEIF(@ISMBR("Oth_Exp_Misc_Inp"))
              "Basic"->"Forecast"->&ForecastYear->"Oth_Exp_Misc_Inp"="40110100"+"40079000"-"30100200";
         ELSEIF(@ISMBR("TOT_ALLOW_INP"))
              "Basic"->"Forecast"->&ForecastYear->"TOT_ALLOW_INP"="12005000"+"12005100";
    Edited by: user11300497 on Jun 24, 2009 12:00 PM

    Thanks for the response,but the Original script I sent is based on UDA's.I am sending the script and the modified Outline with the UDA's.Any help is greatly appreciated.
    The members are from Account dimension.
    AP_Related
    Trade_AP +
    2200 + (Alias – A/P Trade related Party)
    2210 + (Alias – A/P Trade I/P)
    2215 +
    AP_Corporate +
    2240 + (Alias – Brazil Fees) (UDA's:Summed_ACS)
    2250 + (Alias – Corporate Chargebacks)(UDA's:Summed_ACS)
    2260 + (Alias – Service Fees)(UDA's:Summed_ACS)
    2270 + (Alias – Fusion Fees)(UDA's:Summed_ACS)
    2280 + (Alias – Tech Fees)(UDA's:Summed_ACS)
    AP_Corp_IP + (UDA – Input_Accs)
    /* Purpose to copy a single month of actuals to the working forecast replacing a month of forecast.
    Run monthly to update the current Forecast */
    /* Assumptions.
    The substitution variables for
    ActMonthEnd = Is set to the month containing the Actuals to be copied.
    ActualYear = Is set to the year containing the Actuals to be copied.
    ForecastYear = Is set to the Current Forecast year value.
    ForecastVersion = Is set to the appropiate archive Forecast version.
    All input accounts have a UDA of "INPUT_ACCS" and not the UDA "SUMMED_ACCS"
    A parent has only one account with the "INPUT_ACCS" UDA amoung its children
    All siblings of the "INPUT_ACCS" member that are to be summed into the input account have a UDA of "SUMMED_ACCS"
    FIX("LC")
    FIX(&ActMonthEnd,&ForecastYear,"Basic",@IDESCENDANTS ("TOT_USG"),
    @REMOVE (@IDESCENDANTS("Accounts"),
    @LIST(
    "30000000",@SHARE("30000000"),
    "30003300",@SHARE("30003300"),
    "30020400",@SHARE("30020400"),
    "30020500",@SHARE("30020500"),
    "30010200",@SHARE("30010200"),
    "30010400",@SHARE("30010400"),
    "41002200",@SHARE("41002200"),
    "41002300",@SHARE("41002300"),
    "74001000",@SHARE("74001000"),
    "41000100",@SHARE("41000100"),
    "41001400",@SHARE("41001400"),
    "53000000",@SHARE("53000000"),
    "59000000",@SHARE("59000000"),
    "IP_Ship",@SHARE("IP_Ship"),
    "IP Tolling Ship",@SHARE("IP Tolling Ship"),
    "IP_NonAlum_Ship",@SHARE("IP_NonAlum_Ship"),
    "3rd_Party_Ship",@SHARE("3rd_Party_Ship"),
    "3rd party Tolling Ship",@SHARE("3rd party Tolling Ship"),
    "Margin - Full",@SHARE("Margin - Full"),
    "Margin - Tolling",@SHARE("Margin - Tolling"),
    "Discounts - Full - Value",@SHARE("Discounts - Full - Value"),
    "Discounts - Tolling - Value",@SHARE("Discounts - Tolling - Value"),
    "Base Metal Freight / Logistics - USD",@SHARE("Base Metal Freight / Logistics - USD"),
    "Flash Operating EBITDA",@SHARE("Flash Operating EBITDA"),
    "Flash Total Book Inventory",@SHARE("Flash Total Book Inventory"),
    "BMC / Tonne",@SHARE("BMC / Tonne"),
    "IP BMC / Tonne",@SHARE("IP BMC / Tonne"),
    "BMC_CPL",@SHARE("BMC_CPL"),
    "BMC_Cur",@SHARE("BMC_Cur"),
    "BMC_M0",@SHARE("BMC_M0"),
    "BMC_M1",@SHARE("BMC_M1"),
    "BMC_M2",@SHARE("BMC_M2"),
    "BMC_M3",@SHARE("BMC_M3"),
    "BMC_PQ",@SHARE("BMC_PQ"),
    "CPL Adjustment",@SHARE("CPL Adjustment")
         CLEARDATA "Forecast";
    ENDFIX
    /* copy in Actual Currency Rates for proper monthly converison
    FIX(&ActMonthEnd,&ForecastYear,"EOMRATE","Product_None","Dept_None","ICP_None",
    "Entity_None","Rate_EUR_USD","Rate_INR_USD","Rate_GBP_USD","Rate_KRW_USD","Rate_BRL_USD",
    "Rate_CHF_USD","Rate_CAD_USD","Rate_MYR_USD","Rate_SEK_USD")
    DATACOPY "Actual"->"Final" TO "Forecast"->"Basic";
    ENDFIX
    /*Fix on members to copy Actual data to Forecast - */
    FIX(&ActMonthEnd,&ForecastYear,"Final",@RELATIVE("Product Groups",0),@RELATIVE("Departments",0),
    @RELATIVE("ICP",0),@RELATIVE("TOT_USG",0),@RELATIVE("Accounts",0))
    "Actual"(
    @CALCMODE(bottomup);
    IF(@ISUDA("Accounts","INPUT_ACCS"))
    "Basic"->"Forecast"->&ForecastYear=@SUM(@REMOVE(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0),
    @REMOVE(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0),
    @UDA("Accounts","SUMMED_ACCS"))))-@CURRMBR("Accounts");
         IF(@ISMBR("Tot_I/P_Mat_Costs_Roll Prod_INP"))
              "Basic"->"Forecast"->&ForecastYear->"Tot_I/P_Mat_Costs_Roll Prod_INP"=#Missing;
         ENDIF
         IF(@ISMBR("Metal_Costs_3rd_Party_INP"))
              "Basic"->"Forecast"->&ForecastYear->"Metal_Costs_3rd_Party_INP"=#Missing;
         ENDIF
         ELSEIF(@ISMBR("Oth_Exp_Misc_Inp"))
              "Basic"->"Forecast"->&ForecastYear->"Oth_Exp_Misc_Inp"="40110100"+"40079000"-"30100200";
         ELSEIF(@ISMBR("TOT_ALLOW_INP"))
              "Basic"->"Forecast"->&ForecastYear->"TOT_ALLOW_INP"="12005000"+"12005100";
         ELSEIF(@ISMBR("Int_Exp_Third_Oth_INP"))
              "Basic"->"Forecast"->&ForecastYear->"Int_Exp_Third_Oth_INP"="40071200"+"40071300"+"40075530"+"40075540"+"40075550"+"40075570"+"40075580"+"40075590"+"40075610"-"30063200";
         ELSEIF(@ISMBR("Realized_Der_Metal_Inp"))
              "Basic"->"Forecast"->&ForecastYear=@sum(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0))-@CURRMBR("Accounts")-
              (2*("30121240"));
         ELSEIF(@ISMBR("Unrealized_Der_Metal_Inp"))
              "Basic"->"Forecast"->&ForecastYear=@sum(@RELATIVE(@PARENT(@CURRMBR("Accounts")),0))-@CURRMBR("Accounts")-
              (2*("30131240"));
         ELSEIF(@ISMBR("TOT_EMP_INP"))
    "Basic"->"Forecast"->&ForecastYear=@SUM(@UDA("Accounts","EMP_ACCS"));

  • Can not run the calc scripts by mxl, if the first character is Number

    I found that if you create the calc scrpt like 1abc.csc. You can not run it by mxl. I tried for times but do not know the reason for that. I found that you can use number in the name of the calc scripts(like abc1.csc, a1bc.csc), but not for the first character(like 1abc.csc).
    Below is my mxl scripts:
    ×××××××××××××××××××××××××××××××××××
    login admin identified by password on localhost;
    spool on to 'C:\abc.log' ;
    execute calculation sample.basic.1abc;
    spool off;
    logout;
    ×××××××××××××××××××××××××××××××××××
    I write a bat file below:
    ×××××××××××××××××××××××××××××××××××
    D:\Hyperion\AnalyticServices\bin\essmsh C:\abc.mxl
    ×××××××××××××××××××××××××××××××××××
    I can run the scripts if I change the name "1abc" to "abc1"or "a1bc".
    Of course I can run this calc in EAS, no matter the name is "1abc" or "abc1".
    Anybody find the same problem with me?

    I agree, if ever there was a "best practice" to developing scripts (especially when using variables) it is to enclose in single quotes. I actually use double quote, single quote.
    execute calculation "'$4'"."'$5'"."'$6'";

  • Runtime Calc Scripts

    How can I limit the scope of a script based on a users security profile? For example, if I have a script that is not limited by entities, but I want multiple users who do have limited access to use it and only apply to their entity security definitions, i.e., John only has access to Los Angeles, so when he runs the script it will only calculate for Los Angeles. Currently, I have to maintain several identical scripts, that only differ by entity. Is there a way around this so I only have to maintain 1 script?

    There are several Ways to do it .1. Wether you are running these scripts through Batch File ?Create Dynamical Calc scripts useinf Excel Templates, Easy to create and Easy to develop useing Visual Basic.2. replace strings in Calc Scripts .3. Dynamically change substitution variable through scripts.Let me know if you have nay Questions ?ThanksSreenivas

  • Calc Script Clarification

    Hi,
    In our Hyperion Planning System there are 7 Dimensions. Two of them are Locations and Accounts.
    There is a one script which written earlier which we need to understand as follows,
    VAR M1
    M1= 9998;
    FIX(Budget,FY09,Monthly,P000)
    FIX(Jan)
    +"Location A"+
    +(+
    IF (M1 = 9998)
    +"Finance Charge" = "Finance Charge" * 100;+
    ENDIF;
    +)+
    ENDIFX
    ENDFIX
    Please let us know the propose of having *"Location A"* before the IF statement

    Nilaksha,
    You're looking at an Essbase calc script/Hyperion Business Rule and within that, a member calc block.
    Member calculation blocks are started with a member, i.e., "Location A", then a left parentheses, then code, then a right parentheses.
    What's weird about a member calc block is that you could write it to use just the account you want to calculate, i.e., "Finance Charge", or another member from the same dimension. Why would they be different? Perhaps originally Location A was calculated along with Finance Charge and then got removed? <--That seems likely, as you can assign values to more than one member in a member calc block.
    It's confusing -- you would think that you'd only be able to write to one, but that isn't so.
    "Location A"
    IF (M1 = 9998)
    "Finance Charge" = "Finance Charge" * 100;
    "Location A" = something * something ;
    ENDIF;
    )What's also interesting about calc member blocks is that you don't need to assign the member on the left hand side of the equals sign for the member defined in the block such as:
    "Finance Charge"
    IF (M1 = 9998)
    "Finance Charge" * 100;
    ENDIF;
    )It's basically like taking a formula out of the outline and putting it into a calc script.
    One last thing -- Essbase calc script variables (M1) can only be used within member calc blocks -- unfortunately not elsewhere.
    Btw, I assume your example was redacted for public consumption, as it always fires with M1 is always equal to 9998.
    Regards,
    Cameron Lackpour

  • Allocating via Calc Script

    I’m attempting to allocate some information to a lower level of detail via a calc script. I've hit a few snags. The cube has 9 dimenstions:
    Accounts
    Time Period
    Reinsurance
    Distribution
    Company
    Product
    SubAccount (or issue year)
    Budget Center
    Years
    Under accounts we have an account, APE, that we’ll be utilizing to allocate percentages. We load APE to bottom level Company, SubAccount & Product but we do not have it at the BudgetCenter level (just loaded at a generic member). Also under Accounts we have D909100, which we load percentages to at bottom level for Company & BudgetCenter. What we’re trying to do is allocate the percentages we load in D909100 in their Budget Centers & Company down to the SubAccount & Product level based on APE numbers as drivers. The allocation account code is S909100. Any suggestions would be great as what I'm calculating now in the script isn't bringing me back any data.
    Here's the basic thing I'm attempting to do w/in the script:
    SET CLEARUPDATESTATUS OFF;
    SET UPDATECALC OFF ;
    SET CACHE HIGH;
    FIX("DecYTD","2008", "D-900",@IDESCENDANTS ("Company"),@IDESCENDANTS ("Subaccount"),
    @IDESCENDANTS ("Product"),@IDESCENDANTS ("BudgetCenter"))
         "S909100" = ("APE" / "APE" -> "Subaccount" -> "Product") * ("D909100" -> "SubAccount" -> "Product";
    ENDFIX

    Are you getting any correct results? Generally if you have a block creation issue you usually see a case where some members have the correct results and other members don't. Usually some of the blocks exist and you get this mixed match of some members right and others missing, that is clear block creation issue problem and as other posts have pointed out some solutions, I won't. If you are not getting any results at all, anywhere, then you are probably not referencing things properly, which is not uncommon with allocations when you have a lot of dimensions.
    First, are all the members in your fix statement, stored level 0 members? For instance "DecYTD", maybe it is, but I wonder if that is a calculated member and maybe you should be fixed on "Dec" (depends on how your cube is set up).
    Also you are fixing on IDESCENDANTS() for your results. That is going to take an awfully long time. Might be quicker to fix on level 0 and then roll up the results. Could also help you pinpoint more accurately where the problem is. (unless you have a specific reason for allocating at all levels, I would stay away from that.
    I also have concerns about the fact that you are fixed on IDESCENDANTS of BudgetCenter, but you state that you do not load data to all level 0 members of BudgetCenter, just a generic member. It would seem you need to specify that generic member in your equation, or at the very least, aggregate BudgetCenter prior to allocation and then reference BudgetCenter in your cross dimensional specifications.
    Try to visualize how these intersections are happening as your allocations process. You are fixed on IDESCENDANTS of most dimensions, but then in your equation you are not referencing all your dimensions. Therefore Essbase is going to dynamically use members relative to the particular block it has in memory at the time. I think you need to tighten up you equation to ensure you are referencing cells that have data in them. Use adhoc queries to retrieve different data sets and you will see that a lot of times there is no data.

  • How do you stop multiple users executing the same calc script at the same time?

    We have an issue when  users uplaod a spreadsheet and then run a calc script. at one time we have multiple exectuions of the script running.
    This slows up the system and we have to go cancel all the executions and run it again.
    Can we stop this and put them on a queue, so only one execution of the calc happens at one time. Or stop multiple executions getting submitted at all.

    You could use EXCLUSIVECALC to stop more than one calc running at the same time, although this will apply to all applications on your server.  And it doesn't just stop the same calc being launched twice.  Easier than the alternatives I can think of though, if it works for you.

  • @ATTRIBUTESVAL works properly in Calc script but not in Member Formula.

    We are using Essbase 11.1.2 –
    "Global_Period" is a Dynamic Calc Member. Below is its Member Formula:
    "ProjType " is an attribute (text) dimension.
    "Global_Period" ="ValidAccount";
    IF (@ISLEV ("Total_Expenses", 0) AND @ISMBR("HSP_InputValue") AND @ISLEV ("Version",0) AND
    @ISMBR("No_GL_Account") AND @ISLEV ("Scenario",0) AND @ISLEV ("Years",0) AND @ISMBR ("Local")
    AND @ISLEV("Tot_Org",0) AND NOT @ISIDesc ("Service_Division") AND @ISLEV("Tot_PRJ",0) )
    "Global_Period"->"No_GL_Account"-> @CURRMBR ("Projects") =
    1* "ValidAccount"->"Global_Version" ->"Global_Scenario"->&Budget_Year->"Global_Entity"->
    "No_GL_Account"->"HSP_InputValue"->"Local"->
    @MEMBER(@NAME(@CONCATENATE ("Proj_",@ATTRIBUTESVAL("ProjType"))));
    ENDIF
    The above Member- Formula is failed to work when opening a Data Form that contain "Global_Period".
    The error messages in the log file are as follow:
    [Thu Mar  1 16:55:39 2012]Local/Projects/Plan1/admin@Native Directory/1122748736/Error(1200370)
    Error executing formula for [Global_Period] (line 1): attempt to cross a null member in function [@X]
    [Thu Mar  1 16:55:39 2012]Local/Projects/Plan1/admin@Native Directory/1122748736/Error(1200370)
    Error executing formula for [Global_Period] (line 0): attempt to cross a null member in function [@_VAL]
    When converting the "Global_Period" to be a Store member.
    The Calc Script below is exactly equivalent to the Formula, and run perfectly with no Errors.
    "Global_Period" ="ValidAccount";
    FIX ("HSP_InputValue", "Local","No_GL_Account", @RELATIVE ("Total_Expenses", 0),
    @RELATIVE ("Version",0), @RELATIVE("Scenario",0), @RELATIVE ("Years",0),
    @REMOVE (@RELATIVE ("Tot_Org",0),@IDESCENDANTS ("Service_Division")),
    @RELATIVE ("Tot_PRJ",0))
    SET CREATENONMISSINGBLK ON;
    "Global_Period"
    ("Global_Period"->"No_GL_Account" -> @CURRMBR ("Projects")=
    1* "ValidAccount"->"Global_Version" ->"Global_Scenario"->&Budget_Year->
    "Global_Entity"->"No_GL_Account"->"HSP_InputValue"->"Local"->
    @MEMBER(@NAME(@CONCATENATE ("Proj_",@ATTRIBUTESVAL("ProjType"))));
    SET CREATENONMISSINGBLK OFF;
    ENDFIX
    For many reasons we prefer to use the Dynamic Calc Formula for "Global_Period".
    As result of some checking I discover that the problem is with the function @ATTRIBUTESVAL,
    because the formula has worked fine when I replace the @ATTRIBUTESVAL with a string.
    Please help, what is the right way to write the formula in order to make it work.
    Thanks
    Tami Kedem

    Dear Cameron Lackpour,
    Thank you very much, for your reply.
    I'd given it a try, but it didn't help.
    The purpose of this formula is as follow:
    We holds 1's (ones) for allowable combinations of "Project_Type and Accounts", namely, each project type has different list of accounts that are allowed for input.
    I need to populate the input 1's to all projects (and their children) according to its "ProjType".
    The Data forms has periods in columns, thus by putting "Global_Period" (Hide) as the first column, and use "Suppress Missing rows" - for each project (on the "Page") , the form will show just the allowable Accounts in rows.
    (we have around 300 Accounts, 50,000 members in Project dimension and around 25 Types of projects).
    Please help.
    Thanks!
    Regards,
    Tami Kedem

  • How to make a calc script on a dense dimension ?

    Dears,
    I want to make a calculation script on a dense dimension where :
    - I want to get an input from a member, then make a mathematical calculation , then populate the result in another member at the same dimension .
    For More Clarification :
    I have the following fix
    CALC ALL ;
    FIX ("SAR","Working.V01","Budget2012","FY12","G_10","NM_CAT01","Employee General","BegBalance")
    "Internal Transportation" = "Monthly Transportation"*30 ;
    ENDFIX
    -Internal transportation and monthly transportation are 2 members on FB_account dimension (dense dimension) .
    Waiting for your response, Thanks in advance.

    Dear ,
    I appreciate your feedback . But, My problem is that after executing the calc script , No calculation happens .
    by another means ,
    -If I wrote "Internal transportation" = 500 ; --> It put 500 in it
    -If I wrote "Internal transportation" = "Internal transportation" * 100 ; --> No calculation happened but it executed successfully
    -if I wrote "Internal transportation" = "Monthly transportation" = 500; --> No calculation happened but it executed successfully
    I don't know Why ???

  • The export file from a calc script - naming and date/time stamp

    Here is a simple calc script to export data.
    2 questions:
    1. Is there an easy way to add a date/time stamp on the name of the data file so that it does not overwrite the older ones every time?
    2. I tried to specify the path so that it write to another server. "\\mfldappp011\E:\Exp_AW.txt". It's not working. How should I specify the path ?
    Fix (@Relative("Yeartotal",0),"Actual","Working",&ActualYear);
    Dataexport "file" "," "C:\Exp_AW.txt" "#MI";
    EndFix;
    Edited by: user9959627 on Sep 7, 2012 11:25 AM

    Probably easiest to call the maxl script from a command line script, then rename the exported file to include the tme stamp and copy/move it to a location.
    Cheers
    John
    http://john-goodwin.blogspot.com/

Maybe you are looking for

  • CS5 prints too light using new Mac, perfect from older Mac?

    Images edited w. Photoshop CS5 (v. 12.03) on a Mac running OS 10.6.8 print perfectly on my Epson Stylus Pro 3880. But the same files printed from a newer Mac running OS 10.7.4 and Photoshop CS5 (v12.1) print too light. Exact same printer settings in

  • How i can block my Itunes account

    How i can block my itunes account? Sometimes only using a few games my  kids or me get charged without even knowing..... There's some way itunes have to ask you if you really want to purchase a game? Thank yoy.

  • Issues with mail when I have to change my yahoo password

    Hello I am having problems with mail on my mac. 1) For some time I have been unable to send photos by email from iphoto.  When I try to do this it says 'the email server didn't recognise your username/password combination'.  I'm not sure how to fix t

  • To export as Quicktime movie or QT conversion??

    OK As I read through the search results I am seeing advice to use one or the other. When should you use which? Sara

  • How to export ipod tunes to itunes?

    I have over 5700 songs on my home computer and ipod and want to set it up at work. Is there a way to transport songs from an exsisting ipod to a new empty itunes application? HP 4100Y   Windows XP