企业绩效管理网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 560|回复: 7

overriding Consolidation

[复制链接]

86

主题

397

帖子

596

积分

高级会员

Rank: 4

积分
596
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

帖子

566

积分

高级会员

Rank: 4

积分
566
发表于 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

帖子

587

积分

高级会员

Rank: 4

积分
587
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

帖子

609

积分

高级会员

Rank: 4

积分
609
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

帖子

588

积分

高级会员

Rank: 4

积分
588
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

帖子

606

积分

高级会员

Rank: 4

积分
606
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

帖子

573

积分

高级会员

Rank: 4

积分
573
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

帖子

556

积分

高级会员

Rank: 4

积分
556
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-10-22 22:58 , Processed in 0.164051 second(s), 12 queries , Memcache On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

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