I'm new to this forum, so any wrong-doings ar unattended. I appreciate corrections ...
Now to my problem.
I have a cube "Polis_Detail" (see attachment Polis_Detail_cub.jpg).
In the rules I do a "last non-zero value into next level" (for Polis_line_items that begin with "Bestand"); see # 6.
Code: Select all
SKIPCHECK;
['Polis Line Totaal']=0;
# Opmerking : Alle berekeningen ivm relatieve tijden
# dienen geplaatst te worden NA alle 'gewone' berekeningen op meetwaarden
#
# X. Bevroren Actuals
#[{'Actual','Light Actual'}] = N: IF(DB('Tech_Gesloten_Maanden','Actual', 'Polis', !Tijd, 'Bevroren maanden')
#=1,STET,CONTINUE);
# 0. Ongeldige/Weinig interessante combinaties
# Geen berekeningen uitvoeren op het scenario 'Laadversie'
['Laadversie' ] = 0;
# Geen berekningen op bepaalde elementen in de Polis_Line dimensie
# die zijn er niet ...? [{'Polis Line Totaal','Alle Elementen','Hiërarchie Aantal','Hiërarchie Bedrag'} ] = 0;
# Geen berekeningen uitvoeren op de geconsolideerde elementen binnen de
# dimensie 'Scenario'
#[]=IF(ELLEV('Scenario',!Scenario)<>0,0,CONTINUE);
# 0. Vrijgegeven Actuals
['Actual_Def', {'Original Value','Adjustment','Value Cum'}] = N:
IF(DB('Tech_Gesloten_Maanden', 'Actual_Def', 'Polis_Vrijgeven', !Tijd, 'Gesloten maanden')=1
, ['Actual']
, 0);
# 1. Gemiddelde berekeningen - Dienen uitgevoerd te worden op ALLE scenario's
['G.NWPOST',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.NWPOST' ] \ ['A.NWPOST' ]*1000;
['G.ROYEM',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.ROYEM' ] \ ['A.ROYEM' ] * 1000 ;
['G.OVVOLM',{'Value','Adjustment','Original Value','Value Cum'} ] = ['B.OVVOLM' ] \ ['A.OVVOLM' ] * 1000;
['G.OVERMUT',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.OVERMUT' ] \ ['A.OVERMUT' ] * 1000 ;
['G.AUTPREM',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.AUTPREM' ] \ ['A.AUTPREM' ] * 1000 ;
['G.BESTANDP',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.BESTANDP' ] \ ['A.BESTANDP' ] * 1000 ;
['G.REALGROW',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.REALGROW' ] \ ['A.REALGROW' ] * 1000 ;
['G.BESTAND',{'Value','Adjustment','Original Value','Value Cum'}] = ['B.BESTAND' ] \ ['A.BESTAND' ] * 1000 ;
# 2. REALGROW
# A3aan - 20131010 - ,'Value Cum' overal verwijderd omdat die verderop berekend wordt
#voorbeeld verwijderde 1e regel: ['A.REALGROW',{'Original Value','Adjustment','Value Cum'}] = N: IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1,['A.NWPOST' ] + ['A.ROYEM' ],CONTINUE);
['A.REALGROW',{'Original Value','Adjustment'}] = N:
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1,
['A.NWPOST' ] + ['A.ROYEM' ],
CONTINUE);
['B.REALGROW',{'Original Value','Adjustment'}] = N:
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1,
['B.NWPOST' ] + ['B.ROYEM' ],
CONTINUE);
# 3 MOVING AVERAGE
['A.VS.BESTA',{'Original Value','Adjustment','Value','Value Cum'}] = IF(ELLEV('Tijd',!Tijd)=0,
(
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-1'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-2'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-3'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-4'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-5'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-6'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-7'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-8'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-9'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-10'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden) +
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M-11'),!Polis_Branche,!Scenario,'Bestand Aantal',!Polis_Detail_Meetwaarden)
)\12,CONTINUE);
# 4. INCREASE / DECREASE
# A3aan - 20131008 - Overal "N:" toegevoegd om alleen op het laagste nivo te berekenen EN WEER VERWIJDERD IVM VERWIJDEREN VALUE en VALUE CUM
# A3aan - 20131010 - ,'Value Cum' overal verwijderd omdat die verderop berekend wordt
# A3aan - 20131010 - 'Value', overal verwijderd omdat die in de hierarchy berekend wordt
#voorbeeld verwijderde 1e regel: ['TECH_A.OVERMUT_GT',{'Value','Adjustment','Original Value','Value Cum'}]=N: IF(['A.OVERMUT' ] > 0, ['A.OVERMUT' ], 0);
['TECH_A.OVERMUT_GT',{'Adjustment','Original Value'}] = IF(['A.OVERMUT' ] > 0, ['A.OVERMUT' ], 0);
['TECH_A.OVVOLM_GT',{'Adjustment','Original Value'}] = IF(['A.OVVOLM' ] > 0, ['A.OVVOLM' ], 0);
['TECH_B.OVVOLM_GT',{'Adjustment','Original Value'}] = IF(['B.OVVOLM' ] > 0, ['B.OVVOLM' ], 0);
['TECH_B.OVERMUT_GT',{'Adjustment','Original Value'}] = IF(['B.OVERMUT' ] > 0, ['B.OVERMUT' ], 0);
# A3aan - 20131008 - Overal "N:" toegevoegd om alleen op het laagste nivo te berekenen EN WEER VERWIJDERD IVM VERWIJDEREN VALUE en VALUE CUM
# A3aan - 20131010 - ,'Value Cum' overal verwijderd omdat die verderop berekend wordt
# A3aan - 20131010 - 'Value', overal verwijderd omdat die in de hierarchy berekend wordt
['TECH_A.OVVOLM_LT',{'Adjustment','Original Value'}] = IF(['A.OVVOLM' ] < 0, ['A.OVVOLM' ], 0);
['TECH_A.OVERMUT_LT',{'Adjustment','Original Value'}] = IF(['A.OVERMUT' ] < 0, ['A.OVERMUT' ], 0);
['TECH_B.OVERMUT_LT',{'Adjustment','Original Value'}] = IF(['B.OVERMUT' ] < 0, ['B.OVERMUT' ], 0);
['TECH_B.OVVOLM_LT',{'Adjustment','Original Value'}] = IF(['B.OVVOLM' ] < 0, ['B.OVVOLM' ], 0);
# A3aan - 20131007 - STET vervangen door CONTINUE
# A3aan - 20131008 - Overal "N:" toegevoegd om alleen op het laagste nivo te berekenen EN WEER VERWIJDERD IVM VERWIJDEREN VALUE en VALUE CUM
# A3aan - 20131010 - ,'Value Cum' overal verwijderd omdat die verderop berekend wordt
# A3aan - 20131010 - 'Value', overal verwijderd omdat die in de hierarchy berekend wordt
['A.OTHERINC',{'Adjustment','Original Value'}] =
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1, ['TECH_A.OVERMUT_GT'] + ['TECH_A.OVVOLM_GT'], CONTINUE);
['B.OTHERINC',{'Adjustment','Original Value'}] =
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1, ['TECH_B.OVERMUT_GT'] + ['TECH_B.OVVOLM_GT'], CONTINUE);
['A.OTHERDEC',{'Adjustment','Original Value'}] =
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1, ['TECH_A.OVERMUT_LT'] + ['TECH_A.OVVOLM_LT'], CONTINUE);
['B.OTHERDEC',{'Adjustment','Original Value'}] =
IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1, ['TECH_B.OVERMUT_LT'] + ['TECH_B.OVVOLM_LT'], CONTINUE);
# 5. Overige Polis Line Berekeningen - Budget & Outlook
############################# EINDE REKENREGELS MEETWAARDEN #################################
# 6. Cumulatieve waarden
[{'Original Value','Adjustment', 'Value'}] = C:
IF(SUBST(!Polis_Line,1,7)@='Bestand' & Ellev('Tijd',!Tijd) > 0
, IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)), !Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0
, DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)
, IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-1),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0
, DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-1),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)
, IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-2),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0
, DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-2),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)
, IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-3),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0
, DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-3),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)
, 0))))
, STET);
# A3aan - 20131010 - VALUE CUM op ieder nivo bepalen
['Value Cum'] = N:
IF(ATTRS('Tijd', !Tijd,'Month_Code')@='1',
['Value' ],
IF (SUBST(!Polis_Line,1,7)@='Bestand',
['Value' ],
['Value' ] + DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, ATTRS('Tijd',!Tijd,'M-1'),!Polis_Branche,!Scenario,!Polis_Line,'Value Cum')));
['Value Cum'] = C:
IF(Ellev('Tijd',!Tijd) > 0,
IF (SUBST(!Polis_Line,1,7)@='Bestand',
IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)), !Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0,
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden),
IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-1),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0,
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-1),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden),
IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-2),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0,
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-2),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden),
IF(DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-3),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden)<>0,
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)-3),!Polis_Branche, !Scenario, !POLIS_Line, !POLIS_Detail_Meetwaarden),
0)))),
DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, elcomp('Tijd',!Tijd,Elcompn('Tijd',!Tijd)), !Polis_Branche, !Scenario, !Polis_Line,'Value Cum')),
IF(ATTRS('Tijd', !Tijd,'Month_Code')@='1',
['Value' ],
IF (SUBST(!Polis_Line,1,7)@='Bestand',
['Value' ],
['Value' ] + DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator, ATTRS('Tijd',!Tijd,'M-1'),!Polis_Branche,!Scenario,!Polis_Line,'Value Cum'))));
FEEDERS;
# 0. Vrijgegeven Actuals
['Actual', {'Original Value','Adjustment'}] => ['Actual_Def'];
['Actual','Value Cum'] => ['Actual_Def','Value Cum'] ;
# 1. Gemiddelde berekeningen
['A.NWPOST',{'Adjustment','Original Value','Value Cum'}] => ['G.NWPOST' ] ;
['B.ROYEM',{'Adjustment','Original Value','Value Cum'}] => ['G.ROYEM' ];
['B.OVVOLM',{'Adjustment','Original Value','Value Cum'}] => ['G.OVVOLM' ];
['B.OVERMUT',{'Adjustment','Original Value','Value Cum'}] => ['G.OVERMUT' ];
['B.AUTPREM',{'Adjustment','Original Value','Value Cum'}] => ['G.AUTPREM' ];
['B.BESTANDP',{'Adjustment','Original Value','Value Cum'}] => ['G.BESTANDP' ];
['B.REALGROW',{'Adjustment','Original Value','Value Cum'}] => ['G.REALGROW' ] ;
['B.BESTAND',{'Adjustment','Original Value','Value Cum'}] => ['G.BESTAND' ];
# 2. REALGROW
# VALUE CUM moet ook geFEED worden omdat het item anders niet wordt getoond bij "Suppress Zeroes"
[{'A.NWPOST','A.ROYEM'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''),!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Real Growth Aantal',!Polis_Detail_Meetwaarden);
[{'B.NWPOST','B.ROYEM'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''),!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Real Growth Bedrag',!Polis_Detail_Meetwaarden);
# 3 MOVING AVERAGE
# VALUE CUM moet ook geFEED worden omdat het item anders niet wordt getoond bij "Suppress Zeroes"
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => ['Bestand Aantal VS' ] ;
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+1'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+2'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+3'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+4'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+5'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+6'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+7'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+8'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+9'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+10'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
['A.BESTAND',{'Adjustment','Original Value','Value Cum'}] => DB('Polis_Detail',!Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+11'),!Polis_Branche,!Scenario,'Bestand Aantal VS', !Polis_Detail_Meetwaarden);
# 4. INCREASE / DECREASE
# VALUE CUM moet ook geFEED worden omdat het item anders niet wordt getoond bij "Suppress Zeroes"
['A.OVERMUT',{'Adjustment','Original Value','Value Cum'}] => ['TECH_A.OVERMUT_GT'];
['B.OVERMUT',{'Adjustment','Original Value','Value Cum'}] => ['TECH_B.OVERMUT_GT'];
['A.OVVOLM',{'Adjustment','Original Value','Value Cum'}] => ['TECH_A.OVVOLM_GT'];
['B.OVVOLM',{'Adjustment','Original Value','Value Cum'}] => ['TECH_B.OVVOLM_GT'];
['A.OVERMUT',{'Adjustment','Original Value','Value Cum'}] => ['TECH_A.OVERMUT_LT'];
['B.OVERMUT',{'Adjustment','Original Value','Value Cum'}] => ['TECH_B.OVERMUT_LT'];
['A.OVVOLM',{'Adjustment','Original Value','Value Cum'}] => ['TECH_A.OVVOLM_LT'];
['B.OVVOLM',{'Adjustment','Original Value','Value Cum'}] => ['TECH_B.OVVOLM_LT'];
# A3aan - 20131010 - Tijd M+11 vervangen door tijd om te onderzoeken waarom dec12 nu (in oktober 2013) niet gevuld is
# VALUE CUM moet ook geFEED worden omdat het item anders niet wordt getoond bij "Suppress Zeroes"
#[{'TECH_A.OVERMUT_GT','TECH_A.OVVOLM_GT'},{'Adjustment','Original Value','Value Cum'}] =>
#DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1, 'Polis_Detail', ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,
#!Polis_Zakelijk_Indicator,ATTRS('Tijd',!Tijd,'M+11'),!Polis_Branche,!Scenario,'Other Increases Aantal', !Polis_Detail_Meetwaarden);
[{'TECH_A.OVERMUT_GT','TECH_A.OVVOLM_GT'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Other Increases Aantal', !Polis_Detail_Meetwaarden);
[{'TECH_B.OVERMUT_GT','TECH_B.OVVOLM_GT'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Other Increases Bedrag', !Polis_Detail_Meetwaarden);
[{'TECH_A.OVERMUT_LT','TECH_A.OVVOLM_LT'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Other Decreases Aantal', !Polis_Detail_Meetwaarden);
[{'TECH_B.OVERMUT_LT','TECH_B.OVVOLM_LT'},{'Adjustment','Original Value','Value Cum'}] =>
DB(IF(ELISANC('Scenario','Actual Scenarios',!Scenario)=1
, 'Polis_Detail'
, ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,'Other Decreases Bedrag', !Polis_Detail_Meetwaarden);
# 5. Overige Polis Line Berekeningen - Budget & Outlook
# 6. Cumulatieve waarden
[{'Adjustment','Original Value'} ] =>
DB(IF(ATTRS('Polis_Line',!Polis_Line,'Type')@<>'Berekend'
, 'Polis_Detail'
, ''), !Polis_Label,!Polis_Bronsysteem,!Polis_Kenmerk,!Polis_Zakelijk_Indicator,!Tijd,!Polis_Branche,!Scenario,!Polis_Line,'Value Cum');
['Value Cum' ] =>
DB(IF(SUBST(!Tijd,5,2)@=SUBST(ATTRS('Tijd',!Tijd,'M+1'),5,2) & ATTRS('Polis_Line',!Polis_Line,'Type')@<>'Berekend'
, 'Polis_Detail'
, ''), !Polis_Label, !Polis_Bronsysteem, !Polis_Kenmerk, !Polis_Zakelijk_Indicator, ATTRS('Tijd',!Tijd,'M+1'),!Polis_Branche,!Scenario,!Polis_Line,'Value Cum');
As you can see in Polis_Detail_view.JPG the last not-zero value in month is put into the Quarter and the last non-zero value in quarter is put into year. So far so good.
But now the hierarchy Polis_Brache/VC Branche Totaal is not as required: The sum of level "PSB DL" is not the sum of the underlying values, but the value from "Dec 07"
Can I get the hierarchy to calculate as requested? If so how?