FEED lowest level

Post Reply
shockwave
Posts: 88
Joined: Mon Dec 15, 2008 10:45 am
OLAP Product: TM1
Version: 9.1.3
Excel Version: 2003 SP3

FEED lowest level

Post by shockwave »

Hi All,

Trying to streamline some of my feeders and need some help with my code. I basically want to only feed cells that are N level. I have incorporated the ISLEAF formulae, but not sure whether this is the most efficient approach, my statement looks quite large. I have created the following, but will i have to create the isleaf formulae for every dimension in my db formulae or is there a better way of writiing it???

on first attempt i have the following ( which is fine but I will need to reiterate the isleaf formulae for every dim)

['e2e accounts':'COMP_REV','Total','Financial']=>
DB('E2E',!coo_ausext,'COMP_REV',!e2e cost behaviour,if((ISLEAF=1),!e2e cost type,STET),!e2e driver,'Revenue',IF((ISLEAF=1),!e2e product,STET),!e2e segment,!e2e value chain,!e2e version,!month,if(dimix('year',!year)>=dimix('year','2008'),!year,stet),'Financial');

I tried to write it like below ( but it threw back an error - i have a dimension called "e2e_driver" that shares a element called 'COMP_REV" with e2e_accounts which maybe the cause of the error)

['e2e accounts':'COMP_REV','Total','Financial']=>
if((ISLEAF=1),
DB('E2E',!coo_ausext,'COMP_REV',!e2e cost behaviour,!e2e cost type,!e2e driver,'Revenue',!e2e product,!e2e segment,!e2e value chain,!e2e version,!month,if(dimix('year',!year)>=dimix('year','2008'),!year,stet),'Financial')
,STET);

Any ideas how I can write this better??

Cheers

Shock
User avatar
Steve Rowe
Site Admin
Posts: 2416
Joined: Wed May 14, 2008 4:25 pm
OLAP Product: TM1
Version: TM1 v6,v7,v8,v9,v10,v11+PAW
Excel Version: Nearly all of them

Re: FEED lowest level

Post by Steve Rowe »

Shock,
Feeders only work at the N level anyway so your Isleaf test is redundant, TM1 already works the way you are trying to make it work.

If you have C levels in your feeder statement it's really shorthand for all the N level elements below this element.

The syntax of a feeder must be []=>DB() so to conditionalise it the IF statements go inside the DB statement, typically to turn off a feeder you would put

[]=>DB( If ( exp=TRUE, 'CubeName', ''), Rest of DB);

So the cube name is present or not present depending on the expression.


Cheers,
Technical Director
www.infocat.co.uk
shockwave
Posts: 88
Joined: Mon Dec 15, 2008 10:45 am
OLAP Product: TM1
Version: 9.1.3
Excel Version: 2003 SP3

Re: FEED lowest level

Post by shockwave »

Thanks for clarifying that for me Steve.

Cheers
Shock
Post Reply