Page 1 of 1

Understanding Feeders

Posted: Fri Nov 01, 2019 3:11 pm
by MarenC
Hi,

Just want to try and get my head around feeders and start with basics!

Imagine I have 2 cubes, CubeA and CubeB and I want to feed from CubeA to CubeB.

The rule in CubeB is as follows:

['Sales Amount'] = n: DB('CubeA', !Year, !Product, 'New Items', 'Sales');

Would I better in the feeder doing (method 1):

['Sales']=>DB('CubeB', 'Actuals', !Year, !Product, 'Sales Amount');

or would I be better with this (method 2):

['New Items', 'Sales']=>DB('CubeB', 'Actuals', !Year, !Product, 'Sales Amount');

Or putting the question another way, would method 1 be feeding more than method 2?

Maren

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 3:28 pm
by Wim Gielis
You restrict the feeder on the left hand side of method 2, so wouldn’t make sense that it is less feeders in that case ?

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 3:46 pm
by MarenC
Thanks for the response Wim,

so what you are saying is there is no difference between method 1 and 2 because the determination of how many cells are fed would by looking at the right side of the feeder statement?

So in the following example method 1 would be feeding less than method 2:

Method1:
['Sales']=>DB('CubeB', 'Actuals', !Year, !Product, 'Sales Amount');
Method2:
['Sales']=>DB('CubeB', 'All Versions', !Year, !Product, 'Sales Amount');

Maren

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 4:01 pm
by Wim Gielis
You are confusing yourself with right and left.
The left-hand side of a feeder is different from the right-hand side. Did you check the documentation ?

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 4:11 pm
by MarenC
I have read the following,
"The feeder area identifies a component of a rules-derived value. When this component contains a non-zero value, a placeholder is fed to cells containing the rules-calculated value identified on the right-hand side of the statement. This placeholder alerts the TM1 consolidation engine to include the rules-derived value when performing consolidations."
From this I assumed, in my first example, that Method 2 would only feed the right hand side cells if there was a non zero value against element intersection New Items and sales, whereas Method 1 would only feed on the right if there was a non zero value against Sales.

In my second example in method 1 I used Actuals, which is a single element and in method 2 I used All Versions, which is a consolidation.

So in this example I would expect only actuals cells to be fed, whereas in method 2 I would expect cells for every version to be fed.

Have I got this all wrong and if possible could you please explain why?

Maren

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 4:28 pm
by Wim Gielis
MarenC wrote: Fri Nov 01, 2019 4:11 pmFrom this I assumed, in my first example, that Method 2 would only feed the right hand side cells if there was a non zero value against element intersection New Items and sales, whereas Method 1 would only feed on the right if there was a non zero value against Sales.
Feeders are a concept at level 0 in a dimension. I cannot know whether 'New Items' is level 0 or consolidated. If it is level 0, a feeder will be sent if its value for Actuals is non-zero (input data or fed itself).

If it's a consolidated value, feeders will be sent for all of its descendants elements, as long as they are non-zero for Actuals (input data or fed themselves).

Example 1, method 1 will send at least as many feeders as example 1, method 2.
MarenC wrote: Fri Nov 01, 2019 4:11 pmIn my second example in method 1 I used Actuals, which is a single element and in method 2 I used All Versions, which is a consolidation.
As said above, feeding towards a consolidated element on the right hand side is different. Again, feeding is a concept at level 0 in dimensions. By feeding a consolidated element, you implicitely feed all of its descendants elements. This is to be avoided wherever possible.
MarenC wrote: Fri Nov 01, 2019 4:11 pmSo in this example I would expect only actuals cells to be fed, whereas in method 2 I would expect cells for every version to be fed.
Correct.

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 4:57 pm
by MarenC
Thanks Wim, that helps!

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 5:16 pm
by Wim Gielis

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 5:31 pm
by gtonkin
I often point new staff to this page:
https://www.ibm.com/developerworks/data ... ge620.html

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 5:32 pm
by MarenC
Hi Wim,

updated the first link, the max issue is still under consideration!

Maren

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 5:33 pm
by MarenC
Hi gTonkin,

believe it or not but I have just spent the last hour reading that very article!

I have also added it to my favourites bar for future reference

Maren

Re: Understanding Feeders

Posted: Fri Nov 01, 2019 6:07 pm
by Wim Gielis
MarenC wrote: Fri Nov 01, 2019 5:32 pm Hi Wim,

updated the first link, the max issue is still under consideration!

Maren
Thanks for the update