on 05-24-2016 5:13 PM
Hi folks.
Please I have a dimension( A) and I want to display in total of year the last inputed value , because now if 31.12.2015 is empty 2015 is empty How could I achieve that?
thank you
You can't achieve it by design of BPC
AST - always YTD, and for YTD the Total is equal to the last base period of the year!
As an alternative you can copy last loaded period to all empty periods till the end of the year.
Vadim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Please look on the MEASURE code using transaction SE38: UJA_MAINTAIN_MEASURE_FORMULA
CLOSINGPERIOD([%TIME%].[LEVEL02])
For PERIODIC you have to copy only YTD accounts: AST and LEQ
You provide in %TIME_SET% the last period uploaded to copy to the remaining months. Then:
*SELECT(%LASTTID%,[TIMEID],TIME,ID=%TIME_SET%) //get TIMEID of last upload
*SELECT(%Y%,[YEAR],TIME,ID=%TIME_SET%) //get Year of last upload
*SELECT(%TARGET%,[ID],TIME,TIMEID>%LASTTID% AND YEAR=%Y% AND CALC=N)
//%TARGET% will contain remaining periods
*XDIM_MEMBERSET TIME=%TIME_SET%
*WHEN ACCOUNT.ACCTYPE
*IS AST,LEQ
*FOR %T%=%TARGET%
*REC(EXPRESSION=%VALUE%,TIME=%T%)
*NEXT
*ENDWHEN
Vadim
The same can be also done with RUNALLOCATION:
*SELECT(%LASTTID%,[TIMEID],TIME,ID=%TIME_SET%) //get TIMEID of last upload
*SELECT(%Y%,[YEAR],TIME,ID=%TIME_SET%) //get Year of last upload
*SELECT(%TARGET%,[ID],TIME,TIMEID>%LASTTID% AND YEAR=%Y% AND CALC=N)
*SELECT(%BS%,[ID],ACCOUNT,ACCTYPE=AST,LEQ) //Select all AST and LEQ accounts
*XDIM_MEMBERSET ACCOUNT=%BS% //Scope only AST and LEQ
*RUNALLOCATION
*FACTOR=1
*DIM TIME WHAT=%TIME_SET%;WHERE=%TARGET%
*ENDALLOCATION
Will run faster then WHEN/ENDWHEN
Vadim
Absolutely not possible: SELECT apply conditions to master data, not on transaction data!
In theory you can create a special property in TIME dimension: LASTLOADED and manually maintain it as Y for the last month with uploaded data. Then the script will not ask user to provide last loaded moth ID, but:
*SELECT(%SOURCE%,[ID],TIME,LASTLOADED=Y)
the use %SOURCE% instead of %TIME_SET%
Vadim
PROMPT(SELECTINPUT, %TEMPS_DIM%,,, TEMPS)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,REPARTITION.LGF)
here is the new advanced script but what should I change exactly in the script ?
*SELECT(%LASTTID%,[TIMEID],TIME,ID=%TIME_SET%) //get TIMEID of last upload
*SELECT(%Y%,[YEAR],TIME,ID=%TIME_SET%) //get Year of last upload
*SELECT(%TARGET%,[ID],TIME,TIMEID>%LASTTID% AND YEAR=%Y% AND CALC=N)
//%TARGET% will contain remaining periods
*XDIM_MEMBERSET TIME=%TIME_SET%
*WHEN ACCOUNT.ACCTYPE
*IS AST,LEQ
*FOR %T%=%TARGET%
*REC(EXPRESSION=%VALUE%,TIME=%T%)
*NEXT
*ENDWHEN
here is the new advanced script
PROMPT(SELECTINPUT,,,,,%TEMPS_DIM%,TEMPS)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,REPARTITION.LGF)
and the allocation scrpit
*SELECT(%LASTTID%,[TIMEID],TEMPS,ID=%SELECTION%)
*SELECT(%Y%,[YEAR],TEMPS,ID=%SELECTION%)
*SELECT(%BS%,[ID],KPI_CDG,ACCTYPE=AST)
*SELECT(%TARGET%,[ID],TEMPS,TIMEID>%LASTTID% AND YEAR=%Y% AND CALC=N)
*RUNALLOCATION
*XDIM_MEMBERSET KPI_CDG=%BS%
*FACTOR=1
*DIM TEMPS WHAT=%SELECTION%;WHERE=%TARGET%
*ENDALLOCATION
and it's not working and thank you vadim for your time
PROMPT(SELECTINPUT,,,,"%TEMPS_DIM%")
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,SELECTION,%SELECTION%)
TASK(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,REPARTITION.LGF)
Still not working it's the scrpit that we have by default
and here is my scrpit
*SELECT(%LASTTID%,[TIMEID],TEMPS,ID=%TEMPS_SET%)
*SELECT(%Y%,[YEAR],TEMPS,ID=%TEMPS_SET%)
*SELECT(%BS%,[ID],KPI_CDG,ACCTYPE=AST)
*SELECT(%TARGET%,[ID],TEMPS,TIMEID>%LASTTID% AND YEAR=%Y% AND CALC=N)
*RUNALLOCATION
*XDIM_MEMBERSET KPI_CDG=%BS%
*FACTOR=1
*DIM TEMPS WHAT=%TEMPS_SET%;WHERE=%TARGET%
*ENDALLOCATION
Still have "Temps not assigned in DM
Thank you
regards.
Sorry, but I am completely lost with your explanations and the scripts you have! Also I have no idea how do you launch scripts.
And the idea of the script from your last message is absolutely unclear...
Sorry, may be it's better to open a new discussion and explain everything correctly, step by step?
P.S. My original script was designed for:
1. Single month data load of Balance Sheet accounts (AST,LEQ), data load has to be done in the order of months (01, 02,03....)
2. After loading data to the last month the values of BS accounts will be copied to the remaining months of the year
User | Count |
---|---|
15 | |
4 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.