Page 1 of 1

Feeders between 2 cubes

Posted: Wed Dec 09, 2009 1:35 pm
by Jan
Hello,

I got 2 cubes, one cube (A) with 13 dimensions and 1 cube (B) with 5 dimensions. They both have 2 dimensions in common + the data dimension.
Now what I want to do is show the data of cube B in cube A. I can see the data fine with the rules I have written in cube A but I've got a problem to feed the cells. Since they only have 2 dimensions in common I have to feed on the top consolidations for the remaining 10 dimensions but once I save the rule in cube B, it bloats up the server and eventually crashes due to memory > 2GB (the model itself is about 20MB).

What am I doing wrong? Do you need any more input from me?

Thanx in advance

Re: Feeders between 2 cubes

Posted: Wed Dec 09, 2009 4:24 pm
by ajain86
How are your 2 statements structured?

I would think you could just do something like this for the feeder statement:

[common dimension 1, common dimension 2] => DB(cube,!dim1, !dim2, ... !dim13);

Re: Feeders between 2 cubes

Posted: Thu Dec 10, 2009 6:17 am
by appleglaze28
I think I'm having the same problem with Jan. I have cube 1 as assumption cube with the the following dimension:
Assumption Cube
Year
Age_of_Receivable
Month (Jan, Feb, etc...)
Product
Assumption Measure

Then on Cube 2 I have the following dimensions:
Company
Age_of_Receivable
Year
Month_Cut_off (Jan-25, Feb-25)
Product
Customer
Computation Measure

I'm trying to get the Base % Penalty from the assumption cube to my computation cube:

Code: Select all


#REGION BASE % - COMMISSION LOOK UP CUBE
['Base % - Commission','January-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'January', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','February-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'February', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','March-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'March', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','April-25' ] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'April', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','May-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'May', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','June-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'June', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','July-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'July', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','August-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'August', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','September-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'September', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','October-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'October', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','November-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'November', !base_year, 'Base % - Commission'),STET);
['Base % - Commission','December-25'] =IF(['Delivery Date']<>0, DB('assumption_commission_penalty_rate_by_product', !base_age_of_receivable, !base_current_product, 'December', !base_year, 'Base % - Commission'),STET);
#ENDREGION
I just wrote an if statement so when I suppress zero so not all data will be loaded with its “Base % - Commission”, I will be left with only the items that has a value loaded to its data point.

When I write a feeder statement on the assumption cube, TM1 hangs and when I kills TM1, when I try to re-log on to TM1, I can no longer log into TM1…(I’m running this locally on my PC) when I restart the server, I can’t even restart it so I’m forced to restart my whole PC

The feeder statement is like this

Code: Select all

FEEDERS;
['Base % - Commission',{'January','February','March','April','May','June','July','August','September','October','November','December'} ] => DB('commission_cube_by_product', 'Total Nexus Company', !base_current_product, !base_age_of_receivable, !base_year, 'TOTAL YEAR', 'Total Customers', 'Base % - Commission');

Re: Feeders between 2 cubes

Posted: Thu Dec 10, 2009 2:30 pm
by Jan
ajain86 wrote:How are your 2 statements structured?

I would think you could just do something like this for the feeder statement:

[common dimension 1, common dimension 2] => DB(cube,!dim1, !dim2, ... !dim13);
I don't understand your feeder. I don't need to specify my common dimension 1 and common dimension 2 in the left part of the feeder statement because I want all elements to feed for a certain data element.

My feeders in cube B looks like this:

Code: Select all

['Cost FTE']=>DB('CCR Account Reporting','ALL REPORTING','ALL ACTIVE','ALL CLUSTER','ALL SCENARIO','ALL DOMAIN',!CCR Period,!CCR CostCenter,'ALL COSTCENTEROWNER','ALL COSTNATURE','ALL COSTNATURECATEGORY','ALL ACCOUNTS','ALL SUPPLIER','Cost FTE');
Meaning my 'Cost FTE' field in cube B will feed the 'Cost FTE' cells in Cube A. The 2 common dimensions between these 2 cubes are: 'CCR Period' and 'CCR CostCenter', for the other dimensions I feed on the top consolidations as you can see. Saving this feeder results in a crash of my TM1 server, it consumes to much memory.

The rule in cube A: (which works perfectly)

Code: Select all

['Cost FTE']=DB('CCR FTE Input',!CCR Period,!CCR CostCenter,'ALL OU','ALL EMPLOYEE','Cost FTE');

Re: Feeders between 2 cubes

Posted: Thu Dec 10, 2009 3:01 pm
by Michel Zijlema
Hi Jan,

You don't need to feed from the source cube. I assume that you don't want to fill every cell in cube A with a value from cube B, but only certain relevant combinations.
F.i. you only need a value for ['Cost FTE'] if there is a value for f.i. a field ['FTE']. In this case you can use the ['FTE'] value in cube A to feed the ['Cost FTE'] value in cube A:
['FTE'] => ['Cost FTE'];

This will not overfeed your cube.

Michel