Page 1 of 1

Feeder issue... Can someone help

Posted: Mon May 23, 2022 5:59 pm
by Paul-TM1
Hi All,
I am having an issue with a feeder. I am trying to feed Standard hours into Labor cube and after I wrote a feeder like below, it just consumes all the memory and does not return until the server runs out of memory and I kill the service and restart.

Feeder:

Code: Select all

['Standard Hours'] => DB('Labor','All Projects', 'All Employees',!Months,'Forecast','Productive Hours') ;
'StandardHours' cube has 2 dimensions
1. Months
2. 'Standard Hours'

'Labor' Cube has 5 dimensions
1. Version
2. Project
3. Employee
4. Months
5. 'Productive Hours' Measure

When I tried to feed one Project and one employee, everything is fine.

Code: Select all

['Standard Hours'] => DB('Labor','02880.00.02', '900040',!Months,'Forecast','Productive Hours') ;
The rule seems to be working fine.

Code: Select all

['Productive Hours'] = N: DB( If( ATTRS('Versions', !Versions, 'LiveVersion') @= 'Y',  'StandardHours','') , !Months,'Standard Hours') ;
What can be done? I am thinking it's a case for overfeeding? Can someone please help? If I do not feed, Labor rollup is not getting rolledup.

Thanks,
Paul.

Re: Feeder issue... Can someone help

Posted: Mon May 23, 2022 6:20 pm
by declanr
With your current rule/feeder set up, it would be assuming that EVERY Employee is performing "Productive Hours" on EVERY Project EVERY Month.

In reality, I expect the setup is more realistic that an employee would only work on 1 or a small number of projects in a given month?
If that's the case, generally you would have some other way of flagging which employees are working on which projects each month - and then you can feed from that flag instead. That way you only feed what is needed,

Essentially what you have at the moment, is *almost* the equivalent of feeding every single cell (at least it feeds every intersection of Productive hours for "Live" versions)... if you also have the "Productive Hours" measure feeding additional cells after that, then you are triggering a large portion of your application. This is an extreme example of overfeeding - if your employee and/or project dimensions are large (which I expect they are from what you have said) it is not unexpected for it to tank a system's performance.

Re: Feeder issue... Can someone help

Posted: Mon May 23, 2022 7:24 pm
by Paul-TM1
Thanks Declanr for the quick response. I tried to change the feeders to 'All projects' for one employee and I still got the same response. There are about 1600 projects. But employees are about 100 that work on that project.

Code: Select all

['Standard Hours'] => DB('Labor','All Projects', '900040',!Months,'Forecast','Productive Hours') ;
Another advice needed. What is the best way to trace feeder path. I have the feeder working for one year (whole of 2022) and does not work for 2023. "Check Feeders" for 2022 says calculated for all months and for 2023 months "not fed".


Thanks,
Paul

Re: Feeder issue... Can someone help

Posted: Tue May 24, 2022 7:56 am
by burnstripe
Have you got a measure in the labour cube which populates fte or headcount. It sounds like you may be better feeding from another measure in the labour cube which establishes the employee relationship to project rather than from the standard hours cube

Re: Feeder issue... Can someone help

Posted: Tue May 24, 2022 8:29 am
by gtonkin
Paul-TM1 wrote: Mon May 23, 2022 5:59 pm ...The rule seems to be working fine.

Code: Select all

['Productive Hours'] = N: DB( If( ATTRS('Versions', !Versions, 'LiveVersion') @= 'Y',  'StandardHours','') , !Months,'Standard Hours') ;
...
I am still stuck on this rule - have seen this approach in use on feeders but not rules. Why would you not do the following:

Code: Select all

['Productive Hours'] = N: 
 If( ATTRS('Versions', !Versions, 'LiveVersion') @= 'Y', 
   DB( 'StandardHours', !Months,'Standard Hours'),
   0) ;
Not sure what the DB to a blank cube may be doing and just seems awkward to me. YMMV...

Re: Feeder issue... Can someone help

Posted: Wed Jun 01, 2022 1:42 pm
by Paul-TM1
Thanks Gtonkin and BurnStripe for the advices.
Sorry I was away and could not get to this earlier.

I have tried this approach, and the rule works, but the consolidation fails because of the feeder which runs out of memory.

Code: Select all

['Productive Hours'] = N: 
 If( ATTRS('Versions', !Versions, 'LiveVersion') @= 'Y', 
   DB( 'StandardHours', !Months,'Standard Hours'),
   0) ;
I am now considering creating a feeding on project-employee relation. I will getback once I have the results.

Thanks,
Paul.

Re: Feeder issue... Can someone help

Posted: Wed Jun 01, 2022 4:34 pm
by tomok
I don't understand the need to feed the Standard Hours measure in the Labor cube. The only issue you'll encounter if you don't feed it would be possible zero-suppression of that measure whenever someone was browsing the Labor cube. It's really easy to get around that problems with a few reporting tricks so I wouldn't knock myself out feeding something that quite frankly does not have to be fed.

Re: Feeder issue... Can someone help

Posted: Thu Jun 02, 2022 8:42 am
by lotsaram
What Tom said.

Re: Feeder issue... Can someone help

Posted: Thu Jun 02, 2022 2:08 pm
by MarenC
Isn't he actually feeding Productive Hours from Standard Hours, despite what he says?

Maren

Re: Feeder issue... Can someone help

Posted: Fri Jun 03, 2022 8:46 pm
by Paul-TM1
Thanks for all your advices. Yes, just the rule was enough.
The mistake I did was - not feeding the calculations properly within the Labor cube. Due to this, rollup was not working. Once I fixed it, was all OK.

Thanks again!
Paul.