Page 1 of 1

Tool to detect overfeeding?

Posted: Thu Jan 27, 2011 4:21 pm
by florian.fasshauer
Is there any tool to detect if TM1 rules are fed correctly?

Re: Tool to detect overfeeding?

Posted: Thu Jan 27, 2011 7:12 pm
by tomok
florian.fasshauer wrote:Is there any tool to detect if TM1 rules are fed correctly?
Afraid not. If there were that person would be quite rich.

Re: Tool to detect overfeeding?

Posted: Thu Jan 27, 2011 10:58 pm
by Gregor Koch
tomok wrote:
florian.fasshauer wrote:Is there any tool to detect if TM1 rules are fed correctly?
Afraid not. If there were that person would be quite rich.
I have to agree that there is no tool which does this but you can check overfeeding with an additional cube, a simple rule and a simple feeder statement. Unfortunately it has not made me rich so far but let's see.

Happy to mail a sample database which shows how to do this.

Re: Tool to detect overfeeding?

Posted: Tue Jan 17, 2012 4:27 am
by sivan307
Hi Greg:

Can you please send me a sample database.

Thanks,
Kal
sivan307@gmail.com

Re: Tool to detect overfeeding?

Posted: Tue Jan 17, 2012 8:14 am
by lotsaram
I think this rule code is suitably generic that there is no issue in quoting it.
Create cube "OVERFEED" with the same dimensions as subject cube.
Add rule to OVERFEED as follows:
SKIPCHECK;
[]=N:IF(DB(’Source’,!dim1 , !dim2, ...)=0,1,0);
Add feeder to subject cube as follows:
[]=>DB(‘OVERFEED’, !dim1 , !dim2, ...);
Rule save can be time-consuming and can chew memory but it will find all cells with zero value that are fed.

(Gregor's model may be different but it would be exactly the same technique.)

Re: Tool to detect overfeeding?

Posted: Tue Jan 17, 2012 5:04 pm
by sivan307
Thanks Lotsaram, really helpful.

Regards,
Kal

Re: Tool to detect overfeeding?

Posted: Tue Jan 17, 2012 10:11 pm
by Gregor Koch
It is just the same.

Re: Tool to detect overfeeding?

Posted: Wed Feb 22, 2012 6:35 am
by winsonlee
I have create a separate cube and insert the rules for the new cube and the existing cube. From the 0 and 1 how can i tell if it is over feeding or not ?



lotsaram wrote:I think this rule code is suitably generic that there is no issue in quoting it.
Create cube "OVERFEED" with the same dimensions as subject cube.
Add rule to OVERFEED as follows:
SKIPCHECK;
[]=N:IF(DB(’Source’,!dim1 , !dim2, ...)=0,1,0);
Add feeder to subject cube as follows:
[]=>DB(‘OVERFEED’, !dim1 , !dim2, ...);
Rule save can be time-consuming and can chew memory but it will find all cells with zero value that are fed.

(Gregor's model may be different but it would be exactly the same technique.)

Re: Tool to detect overfeeding?

Posted: Wed Feb 22, 2012 8:07 am
by lotsaram
winsonlee wrote:I have create a separate cube and insert the rules for the new cube and the existing cube. From the 0 and 1 how can i tell if it is over feeding or not ?
Do you really need to ask that question?
Any value of 1 in the second cube indicated that
- the equivalent cell in the source cube is fed but the cells value is 0, therefore is is by definition overfed

(Although note "overfed" by literal definition does not always equate to "should not have been fed". Sometimes there is a good reason and some overfeeding is a necessary evil for example some allocation models)

Re: Tool to detect overfeeding?

Posted: Thu Feb 23, 2012 3:10 pm
by rozef
Thanks lotsaram for your trick, but your missing something in your answer:
lotsaram wrote:Any value of 1 feeded in the second cube indicated that- the equivalent cell in the source cube is fed but the cells value is 0, therefore is is by definition overfed
So you got to check the totals of all your dimensions to get the number of overfed cells.

Re: Tool to detect overfeeding?

Posted: Wed Mar 07, 2018 4:46 pm
by thomaszabel
I know this is an old thread, but...

I like this idea to find overfeeding of cells with a zero, but I'm concerned about a cell being fed multiple times by different feeders (overlap).

Is that an issue, and if so, any way to figure it out? I inherited a cube that is moderately large, but takes more than an hour to load Feeders for our nightly restart. I'm trying to reduce restart time.

And yes, I know about persistent feeders. That may be an option, but I want to make sure the feeders on this cube are as optimized as possible first.

Thanks!

Re: Tool to detect overfeeding?

Posted: Wed Mar 07, 2018 8:14 pm
by PavoGa
The only way I know of is, once a cell (or block of cells) is identified as overfed, review the feeders that are feeding that cube. A quick hint: look for feeders that are feeding a consolidation. If feeding to and from the same consolidation, it is a shortcut for feeding leaf cells. HOWEVER, if one feeds a consolidation from something other than itself or a consolidation sharing like-named leaf elements, you will feed ALL of the leaf elements in the target cube and that gets slow. Really slow. Did I say it gets slow?

Code: Select all

# Really Bad Feeder.  Feeds the 'All Months' consolidation which will FEED every leaf element in All Months regardless of whether it has a value or not.
['Cost'] => DB('The Main Cube', !Version, 'All Months', 'Cost');

# using a consolidation as a shortcut.   All Employees feeds All Employees.  Easily enough done with !Employee as well, but just to demonstrate
['All Employees', 'Salary'] => DB('Labor Calc', !Versions, 'All Employees', 'Salary')
As has been stated, whoever comes up with a way to analyze and perfect feeders is probably going to do all right financially.

Ty

Re: Tool to detect overfeeding?

Posted: Thu Mar 08, 2018 1:45 pm
by Steve Rowe
My two p.
There's two kinds of overfeeding.
[Left]=>[Right];

If you overfeed on the right then you end up with slower calculation performance and slower starter up times. This can be detected by the rule approach outlined above.
If you overfeed from the left only then you end up with slow start ups only. (assumes no persistent feeders).

Overfeeding on the left is hard to detect and often ignored as there is no user facing impact. It is also more likely to be logically required by additive type rules that can not be met with consolidations (i.e. a = b + c; You have to feed with b and c).

Options / strategy for start-up time reduction.
Make sure you understand the model and understand that feeders are accurate as possible.
Multi-threaded start-up cfg but expect this to consume RAM
Persistent feeders.

Re: Tool to detect overfeeding?

Posted: Fri Mar 09, 2018 3:32 pm
by thomaszabel
Good tips and thoughts. Thanks! It's going to take a while to go through all the feeders in this cube, but I'll get it running more efficiently in the end.

Re: Tool to detect overfeeding?

Posted: Fri Mar 09, 2018 4:34 pm
by Wim Gielis
Hello,

Take into account that elements need to be fed, but that's it. How they are fed is (in theory) not important.

It's not necessarily reversing your rule, it could also be that 1 element feeds several other elements, even if that one element does not occur in the rule.

Re: Tool to detect overfeeding?

Posted: Fri Mar 09, 2018 6:23 pm
by jim wood
Wim Gielis wrote:
Fri Mar 09, 2018 4:34 pm
It's not necessarily reversing your rule, it could also be that 1 element feeds several other elements, even if that one element does not occur in the rule.
Very true. The example I always give for this is product margin. Sales units is the drive of sales, but it's also the driver of Margin, you don't sell anything you don't make margin on it,

Jim.

Re: Tool to detect overfeeding?

Posted: Mon Mar 12, 2018 12:12 pm
by Elessar
Hi,

Overfeeding "from the Left" can also affect data input (and data load) time (It can be a few seconds, but this can already annoy users)