Alternative way to feed
Posted: Tue Jul 28, 2015 5:51 am
Hi there,
I am looking for some advice on how to improve the time this feeder takes to evaluate during start-up or save, currently about 1 hour. Technically the target cube is fed correctly and the usage is performant, but I am designing a similar set of monthly and weekly cubes for another part of the business and was hoping for an insight from the brains trust of alternative approaches. The Measures dimension is shared and contains about 90 different elements for the variety of Revenue calulations and inputs.
I believe the issue is due to the fact the feeder is effectivly 'looping' through each measure, day by day translating, the translation is effectively fixed but will be looked up on each iteration of measure.
The weekly cube is a 1 to 7 cycle (Sun to Sat), so has a translation cube to map the components Year/Week/Week_Day to Yer/Period/Period_Day and vice versa, one way for the rule and the other for the feeder.
Rule:PN_Revenue_Weekly
[] = N:
DB('PN_Revenue_Monthly', !Version,
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),1,4),
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),5,2),
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),7,2),
!PN_Service, !Measures_PN_Revenue);
Feeder:PN_Revenue_Monthly
['Feeding Versions','Future Years'] =>
DB('PN_Revenue_Weekly', !Version,
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),1,4),
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),5,2),
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),7,2),
!PN_Service, !Measures_PN_Revenue);
Let me know if another further information is required.
Regards
I am looking for some advice on how to improve the time this feeder takes to evaluate during start-up or save, currently about 1 hour. Technically the target cube is fed correctly and the usage is performant, but I am designing a similar set of monthly and weekly cubes for another part of the business and was hoping for an insight from the brains trust of alternative approaches. The Measures dimension is shared and contains about 90 different elements for the variety of Revenue calulations and inputs.
I believe the issue is due to the fact the feeder is effectivly 'looping' through each measure, day by day translating, the translation is effectively fixed but will be looked up on each iteration of measure.
The weekly cube is a 1 to 7 cycle (Sun to Sat), so has a translation cube to map the components Year/Week/Week_Day to Yer/Period/Period_Day and vice versa, one way for the rule and the other for the feeder.
Rule:PN_Revenue_Weekly
[] = N:
DB('PN_Revenue_Monthly', !Version,
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),1,4),
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),5,2),
SUBST(DB('PN_Year_Period_Week_Day', !Year, 'Input', !Week, !Week_Day, 'F_YYYYMMDD'),7,2),
!PN_Service, !Measures_PN_Revenue);
Feeder:PN_Revenue_Monthly
['Feeding Versions','Future Years'] =>
DB('PN_Revenue_Weekly', !Version,
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),1,4),
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),5,2),
SUBST(DB('PN_Year_Period_Week_Day', !Year, !Period, '00', !Period_Day, 'F_YYYYWWDD'),7,2),
!PN_Service, !Measures_PN_Revenue);
Let me know if another further information is required.
Regards