企业绩效管理网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 530|回复: 7

overriding Consolidation

[复制链接]

86

主题

397

帖子

589

积分

中级会员

Rank: 3Rank: 3

积分
589
QQ
发表于 2014-3-20 08:50:00 | 显示全部楼层 |阅读模式
I am copying the values in one version to another version (from Actuals to Budget Version), let say an element1, I have a rule on this element1 (skipcheck & feeders are there):
SKIPCHECK();
['element1'] = ['elementX']['elementY'];
.
.
.
.
Feeders;
['elementY'] => ['element1'];

No problem with this code and the values under ['element1'] @ Consolidate level performing the % at Actuals, but when I copy the same values in to the another version i.e., BUDGET using script, instead of % it is aggregating.
What is reason behind this, and can anyone help me how to resolve this. I want to apply the same rule for the Budget version.
回复

使用道具 举报

67

主题

416

帖子

511

积分

中级会员

Rank: 3Rank: 3

积分
511
发表于 2014-3-20 10:08:33 | 显示全部楼层
Hi. Is the rule only applied to version Actual?

When you mention script - do you mean you are copying from one version to another using Turbo Integrator? Also are you copying from one cube to another or within the same cube?

If it's in the same cube and you haven't specified Actual or Budget in you rule then the consolidated value will be overwritten for both versions. If you are copying to another cube you will need to apply the same rule to that cube.
回复 支持 反对

使用道具 举报

70

主题

437

帖子

578

积分

中级会员

Rank: 3Rank: 3

积分
578
QQ
发表于 2014-3-20 10:41:23 | 显示全部楼层
There may also be rule precedence in play.  If there's another rule higher up that is stetting out the budget then this rule will not be applied.  The first rule that can be applied, will be applied.

Martin
回复 支持 反对

使用道具 举报

94

主题

397

帖子

605

积分

中级会员

Rank: 3Rank: 3

积分
605
QQ
发表于 2014-3-20 11:53:39 | 显示全部楼层
jrizk wrote:Hi. Is the rule only applied to version Actual?

When you mention script - do you mean you are copying from one version to another using Turbo Integrator? Also are you copying from one cube to another or within the same cube?

If it's in the same cube and you haven't specified Actual or Budget in you rule then the consolidated value will be overwritten for both versions. If you are copying to another cube you will need to apply the same rule to that cube.


Yeah, using TI process copying from one version to another. copying is done with in the cube. Since Budget is in the same cube and earlier Actual is having the earlier said rule, hope it should apply for all irrespective of buget or actual or any other version as the rule is not specific to any version right.
回复 支持 反对

使用道具 举报

83

主题

416

帖子

580

积分

中级会员

Rank: 3Rank: 3

积分
580
QQ
发表于 2014-3-20 12:11:30 | 显示全部楼层
Martin Ryan wrote:There may also be rule precedence in play.  If there's another rule higher up that is stetting out the budget then this rule will not be applied.  The first rule that can be applied, will be applied.

Martin

Irrespective of the version ['element1'] = ['elementX']['elementY']; should work right, more over no other factors influencing this statement. Copying the values with the cube from one version to another.

My Rule Code goes here:
-------------------------------
SKIPCHECK;

[]= IF(ELPAR('DimV',!EVer, 1)@='AllFinalVersions',STET, CONTINUE);

#### RULE EXCLUSIONS ####

['VERSION 1','DA'] = N:  STET;
['VERSION 1','FF'] = N:  STET;
['VERSION 1','TVL'] =N:  STET;
['VERSION 1','VC'] = N:  STET;
['VERSION 1','OverHds'] = N:  STET;
['VERSION 1','LC'] =N:  STET;
['VERSION 1','OF'] = N:  STET;
['VERSION 1','OR'] =N:  STET;
['VERSION 1','SR1'] =N:  STET;
['VERSION 1','ows1'] =N:  STET;

['LASTYEARACTUAL','DA'] = N:  STET;
['LASTYEARACTUAL','FF'] = N:  STET;
['LASTYEARACTUAL','TVL'] =N:  STET;
['LASTYEARACTUAL','VC'] = N:  STET;
['LASTYEARACTUAL','OverHds'] = N:  STET;
['LASTYEARACTUAL','LC'] =N:  STET;
['LASTYEARACTUAL','OF'] = N:  STET;
['LASTYEARACTUAL','OR'] =N:  STET;
['LASTYEARACTUAL','SR1'] = N:  STET;
['LASTYEARACTUAL','ows1'] =N:  STET;


#### VNo ####
['VNo'] = N: IF(['VNoTrigger'] <> 0 , 1, 0);

#### MEASURES RULES ####

['USD','AFF3']=N:
DB('ForeCastCube',!Version,'AIF1','ABF1','ACS1','NSNE1'
,!sfD1,'cc1',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'TRF1');

['USD','Of Which Slots']=N:
DB('ForeCastCube',!Version,'AIF1','ABF1','ACS1','OWLT'
,!sfD1,'cc1',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'TRF1');

['USD','SR2']=N:
DB('ForeCastCube',!Version,'AIF1','ABF1','ACS1','TS1'
,!sfD1,'SR2',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['element1'] = ['elementX']['elementY'];

['AFF3 %']=
['AFF3']['AAAZ'];

['USD','Revenue']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'Revenue',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','Det1']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'Det1',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','Total Out Cost']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'Total Out Cost',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','Total In Cost']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'Total In Cost',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','TOC3']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'TOC3',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','TLC3']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'TLC3',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','TOHC1']=N:
DB('ForeCastCube',!Version,'AIF1','YES','ACS1','ACT3'
,!sfD1,'TOHC1',!SFS,'AOR1','ADR1'
,!Period,!SFV1,'RVF2');

['USD','RBBH1']=N:
['Net Contribution'] - ['Fixed Costs'];


['USD','RAPVA1] =N:['RBBH1'] + ['PVAA1'];

['EPTL1']=
['Revenue']   ['AFF3'];

['CPTL2'] =
['Net Contribution']  ['AFF3'];

['SCPTL2'] =
['Fixed Costs']  ['AAAZ'] ;


['OHPTL2'] =
['TOHC1']  ['AFF3'];

['OFPT1'] =
['Revenue']  ['AFF3'];

['DpT1'] =
['DA']  ['AFF3'];

['LPT4'] =
['TLC3']  ['AFF3'];

['SlotRev'] =
['SR2']  ['Of Which Slots'];

['LiftRev'] =
['Revenue']  (['TVL'] - ['Of Which Slots']);

['TCOCOR1'] =
['DA']  (['TVL'] - ['Of Which Slots']);

['LogORRate'] =
['Det1']  (['TVL'] - ['Of Which Slots']);

['DA'] = N:
['Total Out Cost'] + ['Total In Cost'] + ['TOC3'] ;

['FF'] = N:
['Of Which Slots'] + ['AFF3'] ;

['TVL'] =N:
['Of Which Slots'] + ['AFF3'] ;

['D&D1'] =  N:
DB('SF_Results',!Version,!ReportingCurrency,'ED1',!SFS,!Period,!SFV1,'Det1') ;

['SCBA1']=
['Fixed Costs']  ['Total Allocation'] ;






FEEDERS;
#### VNo ####
['VNT1']=>['VNo'] ;

#### MEASURE FEEDERS ####
['USD','Net Contribution'] =>['USD','RBBH1'] ;
['USD','Fixed Costs']=>['USD','RBBH1'];

##['USD','BHC1'] => ['USD','RAPVA1];
['USD','RBBH1'] => ['USD','RAPVA1];

['USD','PVAA1'] => ['USD','RAPVA1];

['elementY'] => ['element1'];


['AFF3']=>['AFF3 %'];

['AFF3'] => ['EPTL1'];

['AFF3'] => ['CPTL2'];

['Fixed Costs'] =>['SCPTL2'] ;

['AFF3'] => ['TOHC1'];

['AFF3'] => ['OFPT1'];

['AFF3'] => ['DpT1'];

['AFF3'] => ['LPT4'];

['SR2'] => ['SlotRev'];

['Revenue'] => ['LiftRev'];

['DA'] => ['TCOCOR1'];

['Det1'] => ['LogORRate'];

['TOC3'] => ['DA'] ;
['Total Out Cost'] => ['DA'] ;
['Total In Cost'] => ['DA'] ;

['Of Which Slots'] => ['FF'];
['AFF3'] => ['FF'];

['Of Which Slots'] => ['TVL'] ;
['AFF3'] => ['TVL'] ;

['ED1','Det1']=>['D&D1'] ;

['Fixed Costs'] => ['SCBA1'];
回复 支持 反对

使用道具 举报

79

主题

430

帖子

600

积分

中级会员

Rank: 3Rank: 3

积分
600
QQ
发表于 2014-3-20 12:18:27 | 显示全部楼层
ryan wrote:[quote]Martin Ryan wrote:There may also be rule precedence in play.  If there's another rule higher up that is stetting out the budget then this rule will not be applied.  The first rule that can be applied, will be applied.

Martin

Irrespective of the version ['element1'] = ['elementX']['elementY']; should work right, more over no other factors influencing this statement. Copying the values with the cube from one version to another.

My Rule Code goes here:
-------------------------------
SKIPCHECK;

[]= IF(ELPAR('DimV',!EVer, 1)@='AllFinalVersions',STET, CONTINUE);

[/quote]

Not if the budget version is steted by that rule it won't...

Are you sure that it isn't?
回复 支持 反对

使用道具 举报

80

主题

399

帖子

565

积分

中级会员

Rank: 3Rank: 3

积分
565
QQ
发表于 2014-3-20 13:09:43 | 显示全部楼层
Alan Kirk wrote:[quote]ryan wrote:[quote]Martin Ryan wrote:There may also be rule precedence in play.  If there's another rule higher up that is stetting out the budget then this rule will not be applied.  The first rule that can be applied, will be applied.

Martin

Irrespective of the version ['element1'] = ['elementX']['elementY']; should work right, more over no other factors influencing this statement. Copying the values with the cube from one version to another.

My Rule Code goes here:
-------------------------------
SKIPCHECK;

[]= IF(ELPAR('DimV',!EVer, 1)@='AllFinalVersions',STET, CONTINUE);

[/quote]

Not if the budget version is steted by that rule it won't...

Are you sure that it isn't?
[/quote]

This is my actual Version Dim:
E->AllFinalVersions
  |n-> SuperFlash Final 201105
  |n-> SuperFlash Final 201106
  |n-> SuperFlash Final 201107
E->AllVersions
  |n-> Actual
  |n-> Forecast1
  |n-> LASTYEARACTUAL
E->AllRuleVersions
  |n-> SuperFlash
n-> SuperFlash Final 201105
n-> SuperFlash Final 201106
n-> SuperFlash Final 201107

I want to move the data from SUPERFLASH to SuperFlash Final 201105
Am I requried to STET the SuperFlash Final 201105(which I have refered as BUDGET in this post earlier.
eg: []= IF(ELPAR('DimV',!EVer, 1)@='SuperFlash Final 201105',STET, CONTINUE);
回复 支持 反对

使用道具 举报

64

主题

404

帖子

540

积分

中级会员

Rank: 3Rank: 3

积分
540
QQ
发表于 2014-3-20 13:10:06 | 显示全部楼层
If you change

[]= IF(ELPAR('DimV',!EVer, 1)@='AllFinalVersions',STET, CONTINUE);

to

[]= N: IF(ELPAR('DimV',!EVer, 1)@='AllFinalVersions',STET, CONTINUE);

as you want to keep some areas open for input then you want the second one, the first applies to both the N and C level of the cube and so overrides your calc. (since it is first in  the rule sheet)

Be very careful about using Elpar in rules, (or nearly any TM1 function that has an index).  In most dimensions it's very difficult to control the indexes and in particular it's hard to be sure which parent number a particular consolidation is.  Even if you know when you save the rule it can change the next time you change the dimension.

In your rule you are much better off using ElIsAnc if you want to keep the test in this "style".  
That said you are probably better off setting up a numeric attribute on your version dimension called "InputVersion" and changing your rule to

[]=N: IF(Attrn('EVer',!EVer, 'InputVersion')=1,STET, CONTINUE);

This is a simpler test in the rule and the cube should perform better, though you may not notice the difference!

Other tips,

There a couple of your rules where you do a simple summation, you should do that in the dimension if possible, as a consolidation evaluates much faster and does not need feeding.

Cheers
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|企业绩效管理网 ( 京ICP备14007298号   

GMT+8, 2018-7-23 06:10 , Processed in 0.157607 second(s), 12 queries , Memcache On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表