Understanding Tm1 Rules
Posted: Wed Jun 14, 2017 3:10 pm
Hi All ,
I am a new bie to tm1 rules and went over the tm1 user guide to understand the basics about the rules and gone through few existing rules that were used by existing cubes .I appreciate your help in clearing my doubts .The cube is basically used as AR scoring model which will have many measures and a total points will be calculated based on these measures .
AR Measure looks like in the attachment .
My rules are
['AR% 0'] = if(['Current AR'] = 0 ,0,(['Current AR'] \ ['Total AR View']));
['AR% 1 - 30' ] =if(['Past Due 1 - 30' ] =0,0,(['Past Due 1 - 30']\['Total AR View']));
['AR% 31 - 60'] =if(['Past Due 31 - 60'] =0,0,(['Past Due 31 - 60'] \['Total AR View'] ));
['AR% 61 - 90'] =if(['Past Due 61 - 90']=0,0,(['Past Due 61 - 90'] \['Total AR View']));
['AR% 91 - 180'] =if(['Past Due 91 - 180']=0,0,(['Past Due 91 - 180'] \['Total AR View']));
['AR% 180+'] =if(['Past Due More than 180']=0,0,(['Past Due More than 180'] \['Total AR View']));
SO these rules has calculations if the measure value is not equal to zero, perform the calculations otherwise do nothing and it makes sense to have feeders.
My assumption is we need feeders now so that tm1 will skip rows with zero values and feed only non zero cells . This is all good so far .
Next set of rules .
['Current Points'] =if(['AR% 0'] >=0, ['AR% 0'] *DB('AR Parameter Scoring', '0 Weight', 'Values'),['AR% 0']* -1);
['1 to 30'] =if(['AR% 1 - 30'] >=0, ['AR% 1 - 30'] *DB('AR Parameter Scoring', '1 -30 Weight', 'Values'),['AR% 1 - 30']* -1);
['31 - 60'] =if(['AR% 31 - 60'] >=0, ['AR% 31 - 60'] *DB('AR Parameter Scoring', '31 - 60 Weight', 'Values'),['AR% 31 - 60']* -1);
['61 - 90'] =if(['AR% 61 - 90'] >=0, ['AR% 61 - 90'] *DB('AR Parameter Scoring', '61 - 90 Weight', 'Values'),['AR% 61 - 90']* -1);
['91 - 180'] =if(['AR% 91 - 180'] >=0, ['AR% 91 - 180'] *DB('AR Parameter Scoring', '91 - 180 Weight', 'Values'),['AR% 91 - 180']* -1);
['180+'] =if(['AR% 180+'] >=0, ['AR% 180+'] *DB('AR Parameter Scoring', '180 + Weight', 'Values'),['AR% 180+']* -1);
These rules tells us if the value of the measure is positive then do some calculations else just multiply by -1 , here its nothing to do with 0 values its all based on greater or lesser
DO I really need a feeder here , it doesnt work if I a feeder is not added .
And now the issue is only in this rule
['0 AR Adjustment'] = IF(['Total AR View'] >0, 0, DB( 'AR Parameter Scoring', '0 AR Adjustment', 'Values' ));
All the rule says is measure value is negative then use the lookup value otherwise put 0 .
On zero suppression of above measure my measure value disappears and says no applicable values , which means its not fed even if I have my feeders in place.
Feeders:
['Current AR'] => ['AR% 0'] ;
['Past Due 1 - 30' ] => ['AR% 1 - 30' ] ;
['Past Due 31 - 60']=> ['AR% 31 - 60'] ;
['Past Due 61 - 90']=> ['AR% 61 - 90'] ;
['Past Due 91 - 180']=> ['AR% 91 - 180'] ;
['Past Due More than 180'] => ['AR% 180+'] ;
['Current Points']=> ['AR% 0'] ;
['1 to 30']=> ['AR% 1 - 30'] ;
['31 - 60']=> ['AR% 31 - 60'] ;
['61 - 90'] => ['AR% 61 - 90'] ;
['91 - 180']=> ['AR% 91 - 180'] ;
['180+']=> ['AR% 180+']
['Total AR View'] =>['0 AR Adjustment'];
Thanks,
I am a new bie to tm1 rules and went over the tm1 user guide to understand the basics about the rules and gone through few existing rules that were used by existing cubes .I appreciate your help in clearing my doubts .The cube is basically used as AR scoring model which will have many measures and a total points will be calculated based on these measures .
AR Measure looks like in the attachment .
My rules are
['AR% 0'] = if(['Current AR'] = 0 ,0,(['Current AR'] \ ['Total AR View']));
['AR% 1 - 30' ] =if(['Past Due 1 - 30' ] =0,0,(['Past Due 1 - 30']\['Total AR View']));
['AR% 31 - 60'] =if(['Past Due 31 - 60'] =0,0,(['Past Due 31 - 60'] \['Total AR View'] ));
['AR% 61 - 90'] =if(['Past Due 61 - 90']=0,0,(['Past Due 61 - 90'] \['Total AR View']));
['AR% 91 - 180'] =if(['Past Due 91 - 180']=0,0,(['Past Due 91 - 180'] \['Total AR View']));
['AR% 180+'] =if(['Past Due More than 180']=0,0,(['Past Due More than 180'] \['Total AR View']));
SO these rules has calculations if the measure value is not equal to zero, perform the calculations otherwise do nothing and it makes sense to have feeders.
My assumption is we need feeders now so that tm1 will skip rows with zero values and feed only non zero cells . This is all good so far .
Next set of rules .
['Current Points'] =if(['AR% 0'] >=0, ['AR% 0'] *DB('AR Parameter Scoring', '0 Weight', 'Values'),['AR% 0']* -1);
['1 to 30'] =if(['AR% 1 - 30'] >=0, ['AR% 1 - 30'] *DB('AR Parameter Scoring', '1 -30 Weight', 'Values'),['AR% 1 - 30']* -1);
['31 - 60'] =if(['AR% 31 - 60'] >=0, ['AR% 31 - 60'] *DB('AR Parameter Scoring', '31 - 60 Weight', 'Values'),['AR% 31 - 60']* -1);
['61 - 90'] =if(['AR% 61 - 90'] >=0, ['AR% 61 - 90'] *DB('AR Parameter Scoring', '61 - 90 Weight', 'Values'),['AR% 61 - 90']* -1);
['91 - 180'] =if(['AR% 91 - 180'] >=0, ['AR% 91 - 180'] *DB('AR Parameter Scoring', '91 - 180 Weight', 'Values'),['AR% 91 - 180']* -1);
['180+'] =if(['AR% 180+'] >=0, ['AR% 180+'] *DB('AR Parameter Scoring', '180 + Weight', 'Values'),['AR% 180+']* -1);
These rules tells us if the value of the measure is positive then do some calculations else just multiply by -1 , here its nothing to do with 0 values its all based on greater or lesser
DO I really need a feeder here , it doesnt work if I a feeder is not added .
And now the issue is only in this rule
['0 AR Adjustment'] = IF(['Total AR View'] >0, 0, DB( 'AR Parameter Scoring', '0 AR Adjustment', 'Values' ));
All the rule says is measure value is negative then use the lookup value otherwise put 0 .
On zero suppression of above measure my measure value disappears and says no applicable values , which means its not fed even if I have my feeders in place.
Feeders:
['Current AR'] => ['AR% 0'] ;
['Past Due 1 - 30' ] => ['AR% 1 - 30' ] ;
['Past Due 31 - 60']=> ['AR% 31 - 60'] ;
['Past Due 61 - 90']=> ['AR% 61 - 90'] ;
['Past Due 91 - 180']=> ['AR% 91 - 180'] ;
['Past Due More than 180'] => ['AR% 180+'] ;
['Current Points']=> ['AR% 0'] ;
['1 to 30']=> ['AR% 1 - 30'] ;
['31 - 60']=> ['AR% 31 - 60'] ;
['61 - 90'] => ['AR% 61 - 90'] ;
['91 - 180']=> ['AR% 91 - 180'] ;
['180+']=> ['AR% 180+']
['Total AR View'] =>['0 AR Adjustment'];
Thanks,