Symbol and Feeder

Post Reply
kiamkhai
Posts: 19
Joined: Fri Aug 08, 2008 2:42 am

Symbol and Feeder

Post by kiamkhai »

Hello Dear TM1 Developers

Hope to get some tips or clarifications from valued TM1 developers regarding my queries as follows:

1. What is the actual meaning of this symbol " =>"? I know it's used in the Feeder section but no one can explain to me its real meaning including the vendor of TM1.

2. How does feeder work? Is it independently or work closely with Skipcheck?

3. Would appreciate it if someone can explain to me he following example which I can't figure out its actual meaning:
Example of "Conditional Feeder" as follows:
Given a cube SalesBySaleperson with Dimensions:
- Salesperson
- Product
- Month
- Measures ('Sales' and 'Commissions')
If you calculate Commissions based on Sales using a commission rate as follows:
['Commissions'] = N:['Sales'] * db['CommissionRates',!product, !month);
Commissions should be fed from Sales, but only if the commission rate for the product in the month where the sale occurs is non-zero.
This can be accomplished by a feeder of the form:
['Sales']=> db[cubename, !salesperson, !product, !month, 'Commissions');
Here, cubename is a conditional expression that results in a blank if the corressponding commission rate is zero. Since a blank name cause the feeder to be ignored, the required effect is produced.
The complete feeder would then read:
['Sales']=> db( if(db('CommissionRates',!product, !month)= 0, ' ', 'SalesBySaleperson'), !salesperson, !product, !month, 'Commissions');

Cheers :lol:

Regards
Tee Kiam Khai
User avatar
Eric
MVP
Posts: 373
Joined: Wed May 14, 2008 1:21 pm
OLAP Product: TM1
Version: 9.4
Excel Version: 2003
Location: Chicago, IL USA

Re: Symbol and Feeder

Post by Eric »

I am sure "The Captain" will add more color to my response, but hopefully I can get you started.
What is the actual meaning of this symbol " =>"?

No one can a good definition because there really isn't one. Some may say it can be defined as "Feed"

Example
Sales Feed Commissions
['Sales'] =>['Commissions'];
How does feeder work? Is it independently or work closely with Skipcheck?
If Skipcheck is used you eliminate TM1's algorithm to SKIP or ignore anything that does not have a stored value. The key is that a cell containing a calculation is NOT a stored value, because of the in memory nature of TM1, and is thereby ignored is skipcheck is used. To manage this you set feeders in place to tell the TM1 algorithm not to ignore the cell.
3. Would appreciate it if someone can explain to me he following example which I can't figure out its actual meaning:
Example of "Conditional Feeder" as follows:
Given a cube SalesBySaleperson with Dimensions:
- Salesperson
- Product
- Month
- Measures ('Sales' and 'Commissions')
If you calculate Commissions based on Sales using a commission rate as follows:
['Commissions'] = N:['Sales'] * db['CommissionRates',!product, !month);
Commissions should be fed from Sales, but only if the commission rate for the product in the month where the sale occurs is non-zero.
This can be accomplished by a feeder of the form:
['Sales']=> db[cubename, !salesperson, !product, !month, 'Commissions');
Here, cubename is a conditional expression that results in a blank if the corressponding commission rate is zero. Since a blank name cause the feeder to be ignored, the required effect is produced.
The complete feeder would then read:
['Sales']=> db( if(db('CommissionRates',!product, !month)= 0, ' ', 'SalesBySaleperson'), !salesperson, !product, !month, 'Commissions');
I think I would go with
['Sales']=> db[cubename, !salesperson, !product, !month, 'Commissions');
knowing that I might overfeed. Other might disagree. Another rule of thumb is that if you are using a condition of zero for a feeder something is wrong

Once again these are my broad stroke responses to get the concept across. There are defiantly more through answers to your quesitons.

Hope that helps
Regards,
Eric
Blog: http://tm1-tipz.blogspot.com
Articles: http://www.google.com/reader/shared/use ... /label/TM1


Production: 32 bit 9.0 SP2, Windows 2000 Advanced Server. Web: 32 bit 9.0 SP2, Windows 2000 Server. Excel 2003
User avatar
Michel Zijlema
Site Admin
Posts: 712
Joined: Wed May 14, 2008 5:22 am
OLAP Product: TM1, PALO
Version: both 2.5 and higher
Excel Version: 2003-2007-2010
Location: Netherlands
Contact:

Re: Symbol and Feeder

Post by Michel Zijlema »

Skipcheck and Feeders are related. S&F is a performance optimalization mechanism within TM1. Within MOLAP cubes usually more than 80% of the cells will never hold a value. This is called sparsity. Normally TM1 ignores all zero cells when calculating the values for a consolidated element. When rules are defined on a cube however, TM1 needs to check all empty cells in the rule calculated area because those cells could recieve a calculated value. Checking all cells will negatively impact performance. As most of those cells will never recieve a calculated value this is a lot of uneccessary overhead. By using SKIPCHECK you tell TM1 to stop evaluating all cells, but this will lead to consolidation errors as TM1 will also skip cells that actually would recieve a calculated value. By using FEEDERS you can 'teach' TM1 what cells would recieve a value. In the feeders section the drivers for the calculation are defined.
['Sales'] => ['Commissions'] means 'Sales' feeds 'Commissions', meaning 'when sales has a non-zero value commissions will also get a non-zero value'. The feeder marks the 'Commissions' cells. TM1 will evaluate all 'fed' (marked) cells - also when Skipcheck is activated.

In the conditional feeder example there is a condition added which limits the amount of cells that will be fed. 'Sales' will only feed 'Commissions' when there is a commission rate specified. This condition is implemented in TM1 by - based on this condition - enabling or disabling the cube name in the feeder formula: when the commission rate is zero the cube name in the formula will be '', which in effect disables the feeder, when the commission rate is non-zero the cube name in the formula is 'SalesBySaleperson', which in effect enables the feeder.

HTH, Michel
ScottW
Regular Participant
Posts: 152
Joined: Fri May 23, 2008 12:08 am
OLAP Product: TM1 CX
Version: 9.5 9.4.1 9.1.4 9.0 8.4
Excel Version: 2003 2007
Location: Melbourne, Australia
Contact:

Re: Symbol and Feeder

Post by ScottW »

I think Michael has covered what feeders are. I think it is a bit of a concern if your TM1 vendor can't give you an adequate explanation! The documentation in the "TM1 Rules Guide" is on the whole quite good and I suggest yo read section 5 "improving performance with feeders."

In your example you can avoid the conditional feeder if "overfeeding" is not a concern, if it is then you need the conditional feeder.
Cheers,
Scott W
Cubewise
www.cubewise.com
Post Reply