dbTalk Databases Forums  

MIS Alea Accelerators

comp.databases.olap comp.databases.olap


Discuss MIS Alea Accelerators in the comp.databases.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Andrea Zannetti
 
Posts: n/a

Default MIS Alea Accelerators - 07-07-2004 , 07:51 AM






Hi Everybody,
I would like to get a deeper knowledge on accelerators and correct way
to write down them.
I have some rules written in this way:
target= "source A" * "source B"

I have seen accelerator written as:

&db_name"sourceB">db_name"target"

but usually I have seen something like

&db_name"target">db_name"target"

My question so is:
what is that worth?
why?
how does that work on calculation performances?

thank you,
Andrea

Reply With Quote
  #2  
Old   
JSlingsby
 
Posts: n/a

Default Re: MIS Alea Accelerators - 07-08-2004 , 03:31 AM






Andrea

The following is a brief overview of accelerators, please note that
these examples are in a TM1 format, although ALEA and TM1 have very
similar concepts behind them particulary around accelerators.

Accelerators are a way for TM1 / ALEA to deal with sparsity within the
cubes. They work by only calculating formulas where a preceding cell
is populated with a figure other than zero.

An example will be clearer !

['Sales'] = ['Units'] * ['Unit Price'];

In this example, without accelerators the formula above would
calculate for every combination of unit, including zeroes, this will
in turn consume extra memory.

By using accelerators we can limit the scope of the calculation to
only those combinations where we have entered a value for units or
unit price.

Accelerators should take the form ['Source'] => ['Target'], so in the
example above, the accelerators would need to be :

['Units'] => ['Sales'];
['Unit Price'] => ['Sales'];

You have a choice of where you can feed from, by using both
accelerators above I am certain that the Sales will calculate, however
with this particular example it would be most likely that if I enter a
unit I would also enter a unit price, therefore I could just use the
first accelerator.

In examples where there is a choice of two feeders (possibly in a
divide by formula), I would always recommend feeding from both targets
to ensure you always capture the source cell.

If the Sales element was in a different cube then the accelerator
would need to take a slightly different format.

['Units'] => DB('CUBENAME', !DIM1, !DIM2, !DIM3, 'Sales');

You do need to be slightly careful when feeding to entire cubes like
this, as there is a chance of overfeeding and thus increasing the
memory required to run your model.

Overall accelerators can added significant advanges to performance,
although as with most things, you need to be careful in the use of
them and avoid overfeeding where you can. I have seen models where
the accelerators have become so complex that they actually become
unfeasible from a maintenance point of view.

Hope that helps,

John

andrea.zannetti (AT) libero (DOT) it (Andrea Zannetti) wrote in message news:<a5be1cfe.0407070451.101e5b1 (AT) posting (DOT) google.com>...
Quote:
Hi Everybody,
I would like to get a deeper knowledge on accelerators and correct way
to write down them.
I have some rules written in this way:
target= "source A" * "source B"

I have seen accelerator written as:

&db_name"sourceB">db_name"target"

but usually I have seen something like

&db_name"target">db_name"target"

My question so is:
what is that worth?
why?
how does that work on calculation performances?

thank you,
Andrea

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.