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 |