Agg calc script

Hi
I need to write a calc script which aggregates current year actual,budget and forecast.
I have 1 dense and remaining sparse dims, please help me with sample aggregation script.
Regards.

This is not a simple question to answer without knowing more about your application but try this for starters:
FIX("FY13","Actual","Budget","Forecast")
AGG("SparseDim1","SparseDim2","SparseDim3","SparseDim4");
ENDFIX
You may want to use a substitution variable for year.
I assume dense dim is dynamic calc. You ca't aggregate Year or Scenario as they are in your fix statement, you don't want to aggregate any other non-aggregating sparse dimensions such as Version either.
You probably need something more tailored to your environment but this should be a good starting point.

Similar Messages

  • Essbase Agg Calc script Running Inconsistantly

    Hi All,
    We are seeing inconsistent completion times for one of our calc scripts that simply aggregates a single Entity dimension. It runs periodically throughout the day on an already aggregated database. The normal completion time is 20 minutes. We have observed that some runs can take up to 7 hours. This issue persists even if there are no users in the system. We had the SAN and the Essbase server monitored while running this calc, but no issues were found on either end. In the essbase log, it appears that Essbase is sitting idle for a period of time while the calc is running. Has anyone experienced this before?
    ------------------------Calc script -------------------
    SET CACHE HIGH;
    SET LOCKBLOCK HIGH;
    SET MSG SUMMARY;
    SET NOTICE LOW;
    SET UPDATECALC OFF;
    SET AGGMISSG ON;
    SET CALCPARALLEL 4;
    SET CALCTASKDIMS 4;
    /* Baseline fix. */
    FIX (@RELATIVE("YearTotal",0), @RELATIVE("ACCountInc",0), @RELATIVE("AccountLine",0), @RELATIVE("AccountOther",0), "FY02", "Working")
         Agg("Entity") ;
    ENDFIX
    It became a major issue. Your inputs will really help us.
    Thanks in advance

    Couple of unknowns here but here's a few tips:
    1. Run the script in MaxL and ensure that you log users out, kill all existing app processes. Now even if this isn't do-able in the long run, you want to test this out to see that the result is consistent. A lot of times your process is waiting for other online processes to finish.
    2. Defragmentation of the BSO cube could be the cause. If you defrag the cube and the 1st time run is fast, and the 2nd time run is slow, then you have created alot of blocks that shouldn't be there. And that's your problem and you need to tune the way you agg.
    3. Check essbase statistics especial average cluster ratio to be 1
    Daniel Poon

  • Calc scripts are running slow(all of a sudden)

    All of a sudden, for the past few days, we are noticing that all our calc scripts have been running very slow.
    The same scripts used to run much faster earlier.
    Has anybody seen this kind of scenario?
    We did a RAM upgrade on the eas server, and have restarted all services.
    Other than that, nothing has changed in our system.
    Thanks.

    It can be quite common for calcs to slow down over time, but there are some things to do to mitigate this.
    1. Are you using Intelligent Calc? All things being equal (a very broad statement in essbase, since things are never equal) if there is more activity by users, it could affect how many blocks are marked dirty. This is probably not your issue, because a properly written calc wouldn't slow down much for this reason. I had to mention it though because I have seen an installation where their calc was 'Calc All' and they used intelligent calc to create the scope of the calc. (bad, very bad)
    2. Do you perform DB restructures? (either explicity by Restructuring or by exporting level 0, clearing and import level 0 then agg) If this is not done on a regular basis (regular depends on the usage of the cube) then you could be experiencing fragmentation, which increases the size of the database, increasing run times.
    3. Have you just added another fiscal year to the database? More data means bigger database.
    RAM upgrade on the EAS server shouldn't affect calc times (unless essbase services are also running on the EAS server, then there might be something to it).
    Most of these (and other) issues can be mitigated by applying proper scope to your calcs (Fix statements).
    What environment are you running in? Windows or Unix?
    New application?
    What kind of time increases are we talking about here?
    Robert

  • FDM:Issue with Launching Essbase agg calc cript after FDM load complete

    Hi experts ,
    I am using a upshell batch to run FDM custom VB script  to process 12 months data file which is running fine. All level 0 data is sucessfully loaded into Essbase.
    But now the problem is to launch Agg calc scipt in Essbase. I tried 2 options but having following issues:
    1-
    If i am giving Agg script name in Validation entity and runs the load Up-To-Consolidate then FDM runs that agg script after each month load (ie: 12 times) but i just want to run that agg script after complete 12 months data load from FDM to Essbase.
    Is there any way i can set Calc script to run after all data is loaded in Essbase ?
    2-
    If i call tha Essbase batch (which call MaxL to run the calc script) in AftLoad event script then again script is running 12 times after each load. Can you please suggest if i can modify the VB code with IFcondition here ? (ie: IF period is 12 then call \\Essbase server\***\.Batch) ? If possible please provide the sample code as i am new to VB ?
    Please suggest
    Thanks a lot !
    Vivek

    I guess you are using Batch Loader from your custom script??
    Then you could use BatchAction to execute your maxl batch when the batch processing finishes.
    In that way you would have only one execution after your 12 period file is processed.
    I would suggest having a look to "Batch-Load Single Multiload File (Up To Check) Process" section in the FDM API Guide.
    If your file is Multiload file you could also use MultiLoad Action Script.
    For example, for multiload action you could say something like:
    If Month(objLSItem.PstrTBPer) = 12 Then
    That code checks period being processed is December (in case you load from Jan to Dec)
    I hope that helps

  • Maxl doesn't logout after Calc Script execution

    Hi All,
    I have a batch script which runs to load data and then aggregate data using calc script. Maxl completes the load and then starts the calculation execution but this never ends. I tried looking into the logs and it shows that Calc Script executed but it won't log off the user and so the next process of the batch doesn't kick-in.
    Application Logs:
    Thu~May~20~12:40:36~2009~Local~****~****~hadmin~Info~(1012579)~Total Calc Elapsed Time for ~Agg.csc~ : ~1008.66~ seconds
    Thu~May~20~12:40:36~2009~Local~****~****~hadmin~Info~(1013274)~Calculation executed
    Thu~May~20~12:40:36~2009~Local~****~****~hadmin~Info~(1019018)~Writing Parameters For Database ~[****]
    Can anyone suggest me how to resolve the issue. Thanks...

    Hi Cameron,
    The script which you had given was running just great in Dev with very less data, as the aggregation was just taking 10mins but when I moved the scripts to QA where it loads data from Prod, the aggregation takes almost 2 hours to run and just as the calc script finishes it throws an Network error and Maxl doesn't end the agg script and hangs there and is forced to log off from console after 60mins of inactivity. The hang doesn't let the batch to start the next process.
    Network error for app logs:
    Tue Jun 2 06:31:51 2009 Local TinP TinP hadmin Info (1012579) Total Calc Elapsed Time for Agg.csc : 7210.71 seconds
    Tue Jun 2 06:31:51 2009 Local TinP TinP hadmin Info (1013274) Calculation executed
    Tue Jun 2 06:31:51 2009 Local TinP TinP hadmin Info (1019018) Writing Parameters For Database TinP
    Tue Jun 2 06:31:51 2009 Local TinP TinP hadmin Error (1042013) Network error 104 : Cannot Receive Data
    Tue Jun 2 07:34:23 2009 Local TinP Info (1013220) Supervisor CONSOLE has forced user hadmin to logout
    Can you suggest something. Thanks...

  • FDM Cannot Access Calc Script

    We use FDM to load data to Essbase and then run a script after export to Aggregate the data using Vlaidation Entities in FDM. We wrote a new Agg Script and so I changed the Validation entity from CalcALL to CALCCMA and now I get the below error.
    Error: Essbase API Procedure: [EsbCalcFile] Threw code: 1030214 - 1030214 - [Tue Aug 03 13:25:25 2010]XXXXX/PLANNING/IncStmt/admin/Error(1030214)
    User [admin] cannot access calc script: CALCCMA
    The script is in the same folder as the old one. What is also strange is that when I try to change back the Script to CalcALL in the FDM valdiation entity I get an error as well. I checked all the integration settings and they are correct. I checked every script in FDM and asearched the adapter XML and found no references to the CalcALL script. I can't figure out where else the script would be referenced in FDM or if I need to change something on the Essbase side.

    I just read the ReadMe and here is the relevant part:
    Essbase Security Requirements
    Some FDM tasks require the user to have certain security privileges for Essbase. The following table outlines the tasks and Essbase privileges required.
    Perform a consolidation (assigning a Validation Entity to the FDM location).     
    Add Calc privilege (ESB_PRIV_CALC) to the active database
    I'm assuming I will need a DBA to check this. The funny thing is that this was working before perfectly fine and then I changed the script in the validation entity and got the error. When I changed it back to the original script that worked I recive the same error. I was not involved in the implementation so I don't know how this was set up.

  • Running Calc Scripts via Workspace

    Currently users are given 'admin' access to Essbase. That way when they are in Workspace they can see and run calc scripts on their apps. Is there a more proper way to give users the ability to run a calc on their apps without giving them 'admin' access?

    We have the calc scripts that run for data loads and other automated processes. Some of these calc's which are just AGG's and Calc Dim's I guess could be BR's too, but then we would have duplicates......
    Thats the sorry reason :)

  • Essbase calc script performance issues

    Hi,
    I have essbase 9.3 running on Sun solaris 4 CPU, 16 GB server. The calc script "calc all" takes ~3 hrs to complete.
    This is the calc script.
    /ESS_LOCALE English_UnitedStates.US-ASCII@Binary
    SET UPDATECALC OFF;
    SET CALCPARALLEL 4;
    SET CALCTASKDIMS 2;
    CALC ALL;
    We don't have to calc all dim, but even if we
    But even with specific dim we get the same timing. Below is the script
    SET UPDATECALC OFF;
    SET CALCPARALLEL 4;
    SET CALCTASKDIMS 2;
    FIX ("Y2009", "Actual");
    CALC DIM("Data Source","Intercompany","LegalEntity","Site","Department","Entity");
    ENDFIX
    The ess00001.ind is 700 Mb and ess00001.pag is 2.1 GB.
    In Admin services, this is what I see for caches
    1) Index cache size is 1 GB for this DB
    2) Index cache current value is 1gb
    3) Datafile cache setting is 1.5 GB
    4) Datafile cache current value is 0 (?? not sure why??)
    5) Data cache setting 4.1 GB
    6) Index page setting 8 kb
    please help ...
    Thanks
    Moe

    Moe,
    I'm guessing you inherited this thing, else you would know why the cache settings are what they are, but here are some thoughts:
    Caches:
    3) Datafile cache setting is 1.5 GB
    4) Datafile cache current value is 0 (?? not sure why??)You're running the database in Buffered I/O, so the data file cache is ignored.
    1) Index cache size is 1 GB for this DB
    2) Index cache current value is 1gb You have consumed all of the cache -- I'm a little confused, as you state your .ind file to be 700 megabytes -- generally the index cache consumption doesn't go beyond the .ind file size. When you look at your hit ratio statistics in EAS, does it show a 1 against the index cache? If yes, then you don't need to look any further as that's as good as it's going to get.
    5) Data cache setting 4.1 GBUnless you're using MEMSCALINGFACTOR, I don't think Essbase is actually addressing all of the memory you've assigned. What are you showing as actually used? In any case, having a data cache almost twice as big as the .pag files is a waste as it's way too large.
    Easy, off the cuff suggestions without knowing more about your db:
    1) Try AGG instead of CALC DIM for sparse dimensions.
    2) Try turning off (yes, turning off, you'd be surprised) parallel calc, and benchmark it. It will probably be slower, but it's nice to know.
    3) Dimension order? Modified hourglass?
    4) Tried defragmenting the database and benchmarking the performance?
    5) What is your block size? Big? Small?
    6) I think you are not calculating your Accounts/Measures dimension in your calc? If you are, and it's dense, could you make those Accounts dynamic calc -- dropping a dimension from the calc can be huge.
    I'm sure there will be other suggestions -- these are the easiest.
    Regards,
    Cameron Lackpour

  • Calc script for calculating current month data after loading

    Hi,
    I'm trying to write a script to do a calculation to all dimension after load current month data; it ran successfully but current month data is all zero; can someone tell me what i'm doing wrong?
    SET CACHE HIGH;
    SET UPDATECALC OFF;
    SET CALCPARALLEL 4;
    FIX (&CurMon, &CurYr)
    AGG (Sparse2, Sparse3, Sparse 4, Sparse 5, Sparse 6);
    ENDFIX
    Dense1 – Dynamic Calc
    Period: Dense – Dynamic Calc
    Year: Sparse – Dynamic Calc
    Sparse2 – Label Only
    Sparse3 – Label Only
    Sparse 4– Label Only
    Sparse5 – Label Only
    Sparse6 – Label Only
    Thanks!

    Natilie,
    If I understand you correctly, you are loading data, then clearing out the current month->current year, and then aggregating current month->current year? There isn't going to be any data there -- you've cleared it out in your second step.
    I think the order you want is:
    1) Clear out the current month->current year to be sure it's a good load
    2) Load the current month->current year
    3) Aggregate the current month->current year
    This could be done with a single Maxl that controls two calc scripts and one import database (clear, import, agg) or you could do it manually.
    The default calc is (generally) equivalent to CALC ALL using db properties (UPDATECALC, AGGMISSG, etc.). There shouldn't be practical difference between that and the AGG portion of your calc.
    I would again confirm that all of your data is at the lowest level, i.e., you can navigate to leaf level on all dimensions and pull a data value before you aggregate. Perhaps you are loading to upper level members and don't realize it. I often use the Excel add-in's Styles to tell me if I'm at the lowest level of a db or not.
    Regards,
    Cameron Lackpour

  • Data load and calc script

    Hi friend,<BR>in my cube i have one dimension that <BR>1)contain cosolidation operater ~ for all Level0 members <BR>2)for level 1 memebers haveing conslodation operator ~<BR>3)But Level 3 members consolodation operator is +<BR> <BR>if iam useing following calc will it affect on above dimension<BR>Set Update calc off;<BR>set aggmissing on;<BR>caldim(product);<BR>product is another dimesion in the cube.<BR>my question is <BR>1)if iam useing set aggmissing on willit affect on other dimension which are not calculated on that <BR>calculation script?<BR>2)iam loading date in both upper level and lower level of led dimesion,so if iam useing above calc script any impact led dimesion<BR>

    Hi,<BR>have you tried it? What happened?<BR><BR>My opinion is "agg missing" doesn't have anything with consolidation (~) in common. When (~) is used then first child value is set to upper level. So no matter if consolidation is (~) or (+) the upper value will be overwritten if agg missing is used.<BR><BR>Also bear in mind if in the same dimension combination is used for child and upper level parent the parent value will also be overwritten is agg missing is used.<BR><BR>I suggest you create a simple sample only 2 dimensions and try it out! <img src="i/expressions/face-icon-small-smile.gif" border="0"><BR><BR>By the way. I always use (first command in calc script):<BR>SET UPDATECALC OFF;<BR>to turn of intelligence calculation.<BR><BR>Hope this helps,<BR>Grofaty

  • 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

  • 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

  • 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

  • Is it possible to load a VC-1 encoded video in Premiere?

    I have a .vc1 file that i demuxed out of an .m2ts Blu Ray file. This file is playable in VLC and I can open it in a freeware video program called Xvid4PSP, so I know the file is good. I have tried remuxing the .vc1 in more standard containers like WM

  • Create user in ADAM instance with powershell

    Hi I was wondering if you could help me with the ability to create a user in AD / Adam? I am trying to write the powershell code to create users for Teradata connectivity. the manual process is to use adsiedit and create the users through groupof nam

  • SG-300 port lock by bpduguard not visible in webGUI ?

    Hi, we are starting to replace low budget hubs by the SG-300's. On the accessports we use BPDUguard and mac security (max 1 user per port). The newest firmware is used (1.1.2.0). When i lock a port intentionally by connecting e.g. ports 4 and 5 toget

  • Tab Item change for two panel group with 4 tabs each

    Hi All Will tab work for dynamic data loading in a panel group ? scenario . Panel group got 4 tabs . each tab contains grid view jsf component. these grid view will populate data once the Index page loads . each tab;s grid view will get data dynamica

  • Incompatible signature after creating a new Flex mobile project in Flashbuilder 4.6

    When I create a new flex mobile project and try to build it right away it gives me this error 1144: Interface method initialize in namespace mx.core:IUIComponent is implemented with an incompatible signature in class utest. I have tried reinstalling