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 advanceI 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/ -
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 appriciatedThere 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
PrajeshDo 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 -
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
GirishI 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
-
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
-lenTo 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 KedemDear 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.
AdiYou 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
-
Why is Encore 6.0 giving me the "blue screen of death" when I try to create a menu?
When I purchased my student edition 6.0 (which I love by the way), Encore did not have any of the libraries loaded up on it. After reading some discussions, I downloaded the missing folders. Now, when I try to create a menu, my computer shuts down an
-
Error while building xml document
Hi Everyone, I have a problem while building xml document. I have developed my java files using IBM Eclipse 3.0 and i had no problem while executing the files. But while i am trying to execute the same code in jdk/bin, xml document is not working.. N
-
Issue while polling in clustered environment.
Hi All, I am using a polling adapter which polls records from two database tables. I have set Database rows per transaction as 10 and polling interval as 30 secs. Our servers are running in clustered mode. The issue is that, when the rows are picked
-
Old pc crashed how can I upload ipod playlist and save to new pc?
How can I upload my playlist off my IPod to a new pc?
-
Export-Quicktime-DVPAL 48kHz anamorphic settings for 16:9???
I have project I filmed on a Sony PD170 in 16:9, brought it into FCPHD and changes sequence to 16:9 looks fine for what I want. Now when I export it out for DVDSpro I use the "Export-Quicktime-DVPAL 48kHz anamorphic" setting when I look at the file i