ASO Calc Script (AKA Saved Query)

We leveraging query tracking and have attempted to leverage the saving of the tracked queries as script we should be able to run monthly... Should be able to is the problem..!!
Our outline dimensions are static, but the structured are very fluid and this seems to keep our scripts from working. Does anyone have an idea how we can leverage these scripts, or something like. I have attempted to leverage the following process with limited success
1. enable query tracking
2. materialize suggested views
3. run report scripts to mirror regular retrieval issues
4. materialize the views based on the tracking
Length process, but beats nothing..
Any other idea's??

I think you might be confusing BSO calc scripts with ASO custom calcs, there is a whole section in the documentation on ASO calcs - http://docs.oracle.com/cd/E40248_01/epm.1112/essbase_db/aso_custcalc_alloc.html
There are also examples on the internet if you search spend some time researching.
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • How to run a Calc script in ASO application

    Hi,
    I have gone through the Essbase Release 11.1.2 and I tried to implement the Calc scripts in ASO application.
    When I tried to Create a Calc Script using Calc script editor for ASO Application in EAS console it say's "Calc script is not supported in ASO application". When i saved the Calc scripts it appears in Backend but it is not visible in EAS console.
    I tried to call the Calc script using MDX script but it says "Unable to open the file Custom calculation terminated with Essbase error 1241109"
    Can anyone help me how to work on Calc scripts in ASO application?
    Thanks in advance

    I think you might be confusing BSO calc scripts with ASO custom calcs, there is a whole section in the documentation on ASO calcs - http://docs.oracle.com/cd/E40248_01/epm.1112/essbase_db/aso_custcalc_alloc.html
    There are also examples on the internet if you search spend some time researching.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • CONTEST - Auto Balancing Calc Script in ASO

    I am trying to figure out a way to automate some autobalancing we would like to do in our Essbase verson 11.1.2 ASO cube. We currently feed subledger detail into the system and also feed the total ledger values in a separate scenaro. Due to timing, the pieces to not always equal the whole. I am trying to find a way to auto balance these items with a calc script in ASO. Here is an Example.
    Scenario
    ~*Ledger Total* (Scenario where we load ledger data to for the _E members)
    ~Total Actual
    +Actual_E (_E source acconts)
    +Actual_A (subledger detail)
    Actual_Adj (would like to move the difference of Ledger Total minus Actual_E Actual_A)
    Accounts:
    123456
    +123456_E (Ledger topsides and where we would like the difference placed for Actual_Adj)
    +456839_A
    +839020_A
    Cost Centers:
    BYM345
    +BYM345_E (Ledger topsides and where we would like the difference placed for Actual_Adj)
    +HJEUFS_A
    +JHM345_A
    Legal Entity
    78GHT
    +78GHT_E (Ledger topsides and where we would like the difference placed for Actual_Adj)
    +HLD599_A
    +783GHU
    Also have dimensions for version, analytic, product, supplement, period, year
    Data Example for intersection:
    Ledger Total
    Account: 123456(loaded to 123456_E) Dollar Amount $50,000
    CC: BYM345(loaded to BYM345_E) Dollar Amount $50,000
    LE: 78GHT(loaded to 78GHT_E) Dollar Amount $50,000
    Account/Scenario 123456_E/Actual_E $8,000
    456839_A/Actual_A $9,000
    839020_A/Actual_A $30,000
    CALC ADJ             123456_E/Actual_Adj $3,000 (Auto calculated by taking $50,000 from Ledger Total less 123456 account rollup for Actual_E and Actual_A or 50,000-8,000-39,000=3,000)
    Total Actual for Account rollup 123456 now equals Ledger Total Account rollup of 50,000
    The same logic would apply for Cost Center and Legal Entity. This is a tough one, so not sure it can be achieved.

    I think you might be confusing BSO calc scripts with ASO custom calcs, there is a whole section in the documentation on ASO calcs - http://docs.oracle.com/cd/E40248_01/epm.1112/essbase_db/aso_custcalc_alloc.html
    There are also examples on the internet if you search spend some time researching.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Regarding Calc Script query

    HI All,
    I having requriement to copy one version to another for some of the specific months.... Do u all have any idea?

    Of course we have ideas. You would use a calc script with a fix statement to do it.
    My answer is about as long as your question because you don't give us any information to help you. Your question is very generic and you don't supply details like the dimensions in your database, what exactly you are trying to do, what is dense and sparse, etc. Given more information, perhaps a more complete answer could be given.

  • Is there exist Str to num ifunction n BSO calc script

    Hi all,
    Do we have any function in Essbase calc script for BSo
    Iam using in ASO
    StR to Num
    Num to Str
    same function I need in bso
    Which functions can i use insted of this in BSO
    Any help would be appriciated

    There are no functions that do that. The closest you could get is the @member what will turn a value into a member name. For the functionality you want, you would have to use a Custome Defined Function (CDF). If this is for comparison, there is one already created at https://codesamples.samplecode.oracle.com/servlets/tracking/action/ExecuteQuery?query=essbase1
    You will have to log in to get there

  • Using Powershell Script Run simple query in MS Access 2007 and export the results of query to Excel

    Hi Experts,
    I have a Access 2007 DB file and 2 Big tables inside that (bigger than the size that can be easily handled by MS Excel 2007).
    My requirement is automate using powershell scripts the below things.
    1. Create a SQL query in Access DB and save that in access DB
    2. Run the saved query and export the result in excel sheet where I can create the charts and Pivots. Thanks in advance
    Prajesh

    Do you have to use the Access query, couldn't you just recreate the query in Powershell?  Here's a link with good info that references an existing script for querying an Access database:
    http://blogs.technet.com/b/heyscriptingguy/archive/2009/08/13/hey-scripting-guy-can-i-query-a-microsoft-access-database-with-a-windows-powershell-script.aspx
    Once you have your dataset you can pipe it to
    Export-Csv -NoType c:\pathtofile\output.csv

  • Saving query result to a file

    Hi,
    I have a sql*developer version 1.5 but i am getting a problem while saving query result to a file. When i click on "script output "-> "file icon" nothing is showing.
    Can anyboby guide me whether its a bug or some other settings are required.
    I have oracle 10.2.0.3 working on linux.
    Thanks & regards
    Girish

    I am getting the same thing and as far as I know it is a bug.
    As a workaround, you can either copy the contents of the script output or run the query as a statement (F9) instead of as a script (F5) and export the query results from the results tab.

  • How to launch Calc Scripts from Analyzer

    Hello all,Just wondering if that there is an easier way to launch calcs from analyzer... what are some of the ideas -using a executable lauch button, hyperlink, via Analyzer API? Any other ideas appreciated. regards, Ray

    This message has resolved my query by setting a larger MAX_PROPERTY_VALUE_LENGTH to "30"Thanks.I have come across this problem before. If it is the same problem it is to do with the length of your calc scripts. Obviously Essbase calc scripts are stored as .csc files, if these are too big Analyzer can't read them. This issue is caused by the ADM layer that Analyzer uses. Search on the server for a file called adm.properties .You should find the file in the following directory \\hyperion\analyzer\adm\lib .You may find you have more than one copy on the Server in which case edit them all. In the file find a string called MAX_PROPERTY_VALUE_LENGTH. You will find this is currently to 4 (this respresents 4kb). Increase the value to say 20. Save changes, restart Analyzer Service and hopefully this should have fixed the problem. I would love to know if this works. Paul Armitage. Analitica Ltd. www.analitica.co.uk

  • Issue with new ASO Calc

    Has anyone seen the new ASO calcs just give up early?
    I am talking about the new 11.1.2.2 EXECUTE CALCULATION statement in MaxL for ASO cubes
    execute calculation on app.db with
      local script_file "script.txt"
      POV "Crossjoin({descendants([dim1top],levels([dim1],0))},
                   Crossjoin({descendants([dim2top],levels([dim2],0))},
                      etc)"
    SourceRegion "{list of members providing data}";
    The calc runs fine, MaxL reports that it completed and generated N new cells (like 13K). Problem is it should have generated 30K cells. When I drill in I see that it did not calc all of the intersections. It is as if it reached a certain point and said "Oh, that's enough" and stops ... but no error. The POV tuple is big, but still well below the 2^64 level where you'd get that error. There is NOTHING that distinguishes an intersection that it failed to calc from the ones that it successfully computed other than that every account below a specific member is vacant. The spot where it quits is repeatable, too ... if it generates 13,303 cells on one run, it will generate the same number on the next. Increasing the "Pending cache size limit" does nothing. Adding an aggregation makes it faster but no better.
    The only way this works is to break it up into small bits of Year x Scenario members. <ugh> And even then I am not 100% certain the calc has done every cell unless I check the values in the cube.
    Anybody???

    The EXECUTE CALCULATION and EXECUTE ALLOCATION functions do not seem to accept the NONEMPTY directive.  Or I have the syntax completely wrong.  I have tried various ways of saying NON EMPTY ... member, tuple even NONEMPTY CROSSJOIN (okay, its a Microsoft MDX concept, but I was hoping it was an undocumented feature). 
    Can someone provide example syntax for a POV specification that would only process the calculation / allocation for tuples that have data?
    Background - I am eliminating seven ~ members from a large (6K members) entity dimension so I can set that hierarchy type to Stored. This dramatically improves retrieve performance. The "formerly ~" members must stay in the tree -- moving them out would be too easy ;-) -- so I have added seven _OFFSET twin members and need them to = -1* their "formerly ~ twin".  The twin may be either a rollup or a level 0 member of entity.  The _OFFSET member is its level 0 sibling.  
    This is my "allocation" process that works, I pass an Entity as $1 and a currency as $2 ... unfortunately I will need to repeat it 70x (once for each 10 currencies x 7 entities) due to the 2^64 limitation.  I am hoping that NONEMPTY would reduce the size of the tuple to allow it to run in a single pass.
    execute allocation process on database $App.$Db with
    pov
    " CrossJoin ( {descendants([Total Geo],levels([Geography],0))},                                          /* Geography */
        CrossJoin ( {descendants([Total Projects],levels([Project],0))},                                        /* Project */
          CrossJoin ( {descendants([Scenario],levels([Scenario],0))},                                           /* Scenario */
            CrossJoin ( {descendants([Version],levels([Version],0))},                                             /* Version */
              CrossJoin ( {descendants([Year],levels([Year],0))},                                                    /* Year */
                Crossjoin( {[$2]},                                                                                                  /* Currency */
                  CrossJoin ( {[JAN]:[DEC]},                                                                                  /* Period */
                    CrossJoin ( { descendants([Income Statement],levels([Account],0))},                    /* Account */
                      CrossJoin ( {descendants([FXENGINE_INPUT],levels([Data_Source],0))},            /* Data_Source */
                        CrossJoin ( {descendants([Total Legal Entities],levels([Legal_Entity],0))},          /* Legal_Entity */
                          CrossJoin ( {descendants([Total ICP],levels([Interco_Partner],0))},                   /* Interco_Partner */
                                      Except( {descendants([Cur_Rate],levels([Cur_Rate],0))}                     /* Cur_Rate */
                                            , {[Rate_Table],[TRANSACTIONAL_INPUT]}
    amount
    "-[$1]"
    target
    range           "{[$1_OFFSET]}"
    range           "{[$1_OFFSET]}"
    spread

  • Using calc script function when setting substitution variable value

    I would like to be able to execute the below, but this wont work since it is a combination of MaxL and calc script syntax:
    alter database 'App'.'DB' set variable 'Var1' @PARENT("Day 1");
    The following does not work either for the same reason:
    set A = @PARENT("Day 1");
    echo $A;
    alter database 'App'.'DB' set variable 'Var1' $A;
    Is there a correct way to do the above, and is it even possible? Or will the variable literally have to contain the value "@PARENT("Day 1")" to be later parsed in a calc script?

    Hi James. I was hoping that 'query database' with the 'member info' option was going to include the parent in the result set, but it's just a bunch of storage / consolidation properties so no luck there.
    The only idea i could come up with (and this is getting pretty clunky) would be to use MaxL to execute a report script (or MDX query, but the output would be different and probably harder to parse):
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    {SUPHEADING}
    {TABDELIMIT}
    <ROW("YourDimension")
    <PARENT &YourSubVar
    !This spits out a tab delimited file containing just one line - the name of the parent of the member named in &YourSubVar, and one data value, tab delimited. You could then parse the output in cmd (I'm assuming you're on Windows) using FOR /F to grab the first value and then pass it back in to a subsequent MaxL command to update the value of the second subvar (as referenced in your fix).

  • Parallel calc script execution

    Hi All,
    We are having HP UX box with 4 processor and have 15 calc scripts. For parallel execution of these scripts We have set Calcparallel as 3 in .cfg file. My query is if these scripts are fired at the same time, will they going to execute in a seq. manner or in parallel fashion.
    We have 11 dim. in which 10 are sparse and 1 is dense in our outline. We have analysed the log but could not figure out anything.
    Any suggestions/guidance !!
    Regards
    -len

    To run three calc scripts simultaneously, you're going to need three people who kick it off in EAS/Excel/MaxL or more likely three separately yet simultaneously scheduled MaxL scripts that execute the calculations.
    From a data integrity (or just your sanity) perspective, it is good that the three calcs are addressing different parts of the database.
    However, from an Essbase data cache/disk controller perspective, the two are going to be spending a lot of time thrashing as Essbase tries to load blocks for all three calcs into and out of memory as the calculations proceed.
    You may find that these processes are faster when they are truly run one after the other.
    Of course the only way to really know is the benchmark both approaches and see what happens.
    Regards,
    Cameron Lackpour
    Edited by: CL on May 16, 2009 5:57 PM
    Whoops, three, not two.
    Edited by: CL on May 16, 2009 5:57 PM
    Whoops again, two referred to the data cache/disk controller, not the three calcs. I should not reread my posts and think that I can "improve" them.

  • 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 ???

Maybe you are looking for