Page 1 of 1

Intracube Feeders

Posted: Mon Sep 14, 2009 7:32 pm
by jorelb
TM1 Version: 9.4 MR1
Microsoft Windows Server 2003 x64 SP2

When I started learning TM1, I was told that I must have feeders when I use “Skipcheck”. However, recently, I was introduced to a concept that if I write a rule that references data from another cube I do not need a feeder from the source cube as long as I have data from the destination cube that feeds that rule. The rules appear to work, but I guess I need to understand the concept. Can anybody enlighten me?

Thanks.

Below is an example of a rule:

I have two cubes a Standard Cost and a Revenue and COGs cube. In the Revenue and COGs cube the “Gross Cost” is calculated by multiplying “Quantity” (entered in the Revenue and COGS cube by Revenue folks) and multiplied by a “Std Unit Cost” value generated by a DB from a “Standard Cost” cube.
Revenue and COGs cube:
Skipcheck;
[‘Gross Cost’] =N: [‘Qty’] * DB(‘forecast:Standard Cost’, !Forecast, !Version, !Period, !Sku, ‘Std Unit Cost’) ;
Feeders;
[‘Qty’] => [‘Gross Cost’];

Standard Cost cube – No Entry

Re: Intracube Feeders

Posted: Mon Sep 14, 2009 9:09 pm
by Alan Kirk
jorelb wrote:TM1 Version: 9.4 MR1
Microsoft Windows Server 2003 x64 SP2

When I started learning TM1, I was told that I must have feeders when I use “Skipcheck”. However, recently, I was introduced to a concept that if I write a rule that references data from another cube I do not need a feeder from the source cube as long as I have data from the destination cube that feeds that rule. The rules appear to work, but I guess I need to understand the concept. Can anybody enlighten me?

Thanks.

Below is an example of a rule:

I have two cubes a Standard Cost and a Revenue and COGs cube. In the Revenue and COGs cube the “Gross Cost” is calculated by multiplying “Quantity” (entered in the Revenue and COGS cube by Revenue folks) and multiplied by a “Std Unit Cost” value generated by a DB from a “Standard Cost” cube.
Revenue and COGs cube:
Skipcheck;
[‘Gross Cost’] =N: [‘Qty’] * DB(‘forecast:Standard Cost’, !Forecast, !Version, !Period, !Sku, ‘Std Unit Cost’) ;
Feeders;
[‘Qty’] => [‘Gross Cost’];

Standard Cost cube – No Entry
Simply put, it doesn't matter where the feeder is coming from. All that matters is that you feed from a cell which has a (non-zero) value whenever the rule itself needs to return a (non-zero) value.

In this case "Gross Cost" will only have a non-zero value if "Qty" has a non-zero value. Accordingly feeding the rule from Qty is just as valid as feeding from the Standard Cost cube... in fact moreso, since it's really the primary driver of the rule. (You can have a Std Unit Cost without having any quantity, but if you have no quantity then the Gross Cost will always be zero regardless of the Std Unit Cost. It's therefore the most efficient feeder.)

Put another way, the fact that your rule is pulling some data from another cube in a rule doesn't automatically mean that you need to have a feeder from that other cube; your feeder needs to be the argument that's the primary driver for the rule calculation, regardless of where that argument resides. In this case, it would be the Qty value.

Re: Intracube Feeders

Posted: Tue Sep 15, 2009 5:16 am
by jorelb
Thanks Alan!

Jose