on ‎2016 Jan 17 4:42 PM
Hi all,
My allocation is not doing anything meaningful.
It appears that the What and Using merge is failing. There is source and Using data. Please see the log below
FACTOR:USING/TOTAL
ALLOCATION DATA REGION:
TIME:WHAT:2014.INP,WHERE:BAS(2016.TOTAL),USING:BAS(2014.TOTAL),TOTAL:<<<
CATEGORY:WHAT:CT_BUDGET,WHERE:CT_FORECAST,USING:CT_BUDGET,TOTAL:<<<
-----------------------------------------
--Read WHAT region
[TIME] =2014.INP
[CATEGORY] =CT_BUDGET
--Time to load WHAT :0.243876 second(s).
WHAT data:4 records.
-----------------------------------------
--Read USING region
[TIME] =2014.APR,2014.AUG,2014.DEC,2014.JUL,2014.JUN,2014.MAY,2014.NOV,2014.OCT,2014.SEP,2015.FEB
--Time to load USING :0.286768 second(s).
USING data:12 records.
-----------------------------------------
--Merge WHAT and USING
--Time to merge WHAT and USING :0.000099 second(s).
Data after merging WHAT and USING 0 records.
-----------------------------------------
--Apply factor
[TIME] =2014.APR,2014.AUG,2014.DEC,2014.JUL,2014.JUN,2014.MAY,2014.NOV,2014.OCT,2014.SEP,2015.FEB
TOTAL data:12 records.
WHERE=WHAT *USING/TOTAL
--Time to apply factor :0.167435 second(s).
-----------------------------------------
--Read destination and calculate difference
[TIME] =2016.APR,2016.AUG,2016.DEC,2016.JUL,2016.JUN,2016.MAY,2016.NOV,2016.OCT,2016.SEP,2017.FEB
--Time to read destination and calculate difference :0.062312 second(s).
-----------------------------------------
--Records succeeded to write back 0
-----------------------------------------
--Time to run Allocation :0.766552 second(s).
Request clarification before answering.
Hi Lucy
i agree with Vadim.
Can you try to Run your script like
*DIM TIME WHAT = 2014.INP ; WHERE = 2016.APR ; USING = 2014.APR ; TOTAL = <<<
And let us know what you get
Thanks
Sreeraj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I created the script in BPC and ran via a package.
*RUNALLOCATION
*FACTOR=USING/TOTAL
*DIM TIME WHAT=2015.INP; WHERE=BAS(2016.TOTAL); USING=BAS(2014.TOTAL); TOTAL=<<<
*DIM CATEGORY WHAT=CT_BUDGET; WHERE=<<<;USING=<<<;TOTAL=<<<
*ENDALLOCATION
The Output is listed below
-----------------------------------------
--Read WHAT region
[TIME]=2015.INP
[CATEGORY]=CT_BUDGET
--Time to
load WHAT :3.008898 second(s).
WHAT data:4 records.
-----------------------------------------
--Read USING region
[TIME]
=2014.APR,2014.AUG,2014.DEC,2014.JUL,2014.JUN,2014.MAY,2014.NOV,2014.OCT,2014.SEP,2015.FEB
--Time to load USING :0.519566 second(s).
USING data:24 records.
-----------------------------------------
--Merge WHAT and USING
--Time to merge WHAT and USING :0.000163 second(s).
Data after
merging WHAT and USING 0 records.
-----------------------------------------
--Apply factor
[TIME]
=2014.APR,2014.AUG,2014.DEC,2014.JUL,2014.JUN,2014.MAY,2014.NOV,2014.OCT,2014.SEP,2015.FEB
TOTAL
data:24 records.
WHERE=WHAT*USING/TOTAL
-----------------------------------------
--Read destination and calculate difference
[TIME]
=2016.APR,2016.AUG,2016.DEC,2016.JUL,2016.JUN,2016.MAY,2016.NOV,2016.OCT,2016.SEP,2017.FEB
--Time to
read destination and calculate difference :0.619734 second(s).
-----------------------------------------
--Records succeeded to write back 0
-----------------------------------------
Hi Lucy,
Can you please tell what other Dimensions you have in that Model beyond Time and Category? Can you please also show (from Listcube) what are values in those Dimensions for WHAT and USING regions?
Regards,
Gersh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vadim,
I don't believe that WHERE and USING have to be the same.
Consider the scenario where you wish to profile the "Where" members according to Last years figures for example.
In fact if I am trying to populate "Where" (BAS(2016.TOTAL) then it is reasonable to assume that the members contain no values so if I am forced to have WHERE and USING as identical values then USING will be empty?
This is how the Runallocation works
TIME:WHAT:2014.INP, - this is a top figure that we wish to allocate
WHERE:BAS(2016.TOTAL) - this is where you wish to distribute the top figure to
,USING:BAS(2014.TOTAL),TOTAL:<<< - this represents the historical split that the system will match. I could have put for example USING:BAS(2015.TOTAL),TOTAL:<<<
the system finds the WHAT and also the using
--Read WHAT region
[TIME] =2014.INP
-Time to load WHAT :6.163408 second(s).
WHAT data:4 records.
-----------------------------------------
--Read USING region
[TIME] =2014.APR,2014.AUG,2014.DEC,2014.JUL,2014.JUN,2014.MAY,2014.NOV,2014.OCT,2014.SEP,2015.FEB
--Time to load USING :0.539007 second(s).
USING data:36 records.
What do you mean by "accordingly"?
Do you think that the system will use 2014.01 percent to calculate "where" in 2016.01?
But why? What is the relation between 2014.01 an 2016.01?
Try:
*DIM CATEGORY WHAT=CT_BUDGET; WHERE=CT_FORECAST;USING=CT_BUDGET;TOTAL=<<<
*DIM TIME WHAT=2014.INP; WHERE=BAS(2014.TOTAL),USING=<<<;TOTAL=<<<
Ups! Looks like I was not right!
Just performed test on my system with the following script:
//Constant scope
*XDIM_MEMBERSET TITLES=1100
*XDIM_MEMBERSET BE=BE1000
*XDIM_MEMBERSET ADV=PRICEC
*RUNALLOCATION
*FACTOR=USING/TOTAL
*DIM PERIODS WHAT=2015.INP; WHERE=BAS(2015.TOTAL); USING=BAS(2014.TOTAL); TOTAL=<<<
*DIM PLANTYPE WHAT=BUDGET; WHERE=BUDGET;USING=ACTUAL;TOTAL=<<<
*ENDALLOCATION
With the following results in UJKT:
LOG BEGIN TIME:2016-01-18 17:02:22
FILE:\ROOT\WEBFOLDERS\SIM \ADMINAPP\ADVSALES\TEST.LGF
USER:V.KALININ
APPSET:SIM
APPLICATION:ADVSALES
FACTOR:USING/TOTAL
ALLOCATION DATA REGION:
TITLES:1100,
BE:BE1000,
ADV:PRICEC,
PERIODS:WHAT:2015.INP,WHERE:BAS(2015.TOTAL),USING:BAS(2014.TOTAL),TOTAL:<<<
PLANTYPE:WHAT:BUDGET,WHERE:BUDGET,USING:ACTUAL,TOTAL:<<<
-----------------------------------------
--Read WHAT region
[PERIODS] =2015.INP
[PLANTYPE] =BUDGET
[TITLES] =1100
[BE] =BE1000
[ADV] =PRICEC
--Time to load WHAT :0.210591 second(s).
WHAT data:1 records.
-----------------------------------------
--Read USING region
[PERIODS] =2014.APR,2014.AUG,2014.DEC,2014.FEB,2014.JAN,2014.JUL,2014.JUN,2014.MAR,2014.MAY,2014.NOV
--Time to load USING :0.221124 second(s).
USING data:12 records.
-----------------------------------------
--Merge WHAT and USING
--Time to merge WHAT and USING :0.000155 second(s).
Data after merging WHAT and USING :12 records.
-----------------------------------------
--Apply factor
[PERIODS] =2014.APR,2014.AUG,2014.DEC,2014.FEB,2014.JAN,2014.JUL,2014.JUN,2014.MAR,2014.MAY,2014.NOV
TOTAL data:12 records.
WHERE=WHAT *USING/TOTAL
--Time to apply factor :0.199502 second(s).
-----------------------------------------
--Read destination and calculate difference
[PERIODS] =2015.APR,2015.AUG,2015.DEC,2015.FEB,2015.JAN,2015.JUL,2015.JUN,2015.MAR,2015.MAY,2015.NOV
--Time to read destination and calculate difference :0.240054 second(s).
-----------------------------------------
--Records succeeded to write back :12
--Records failed to write back : 0
-----------------------------------------
--Time to run Allocation :1.034091 second(s).
SCRIPT RUNNING TIME IN TOTAL:1.00 s.
LOG END TIME:2016-01-18 17:02:23
With correct results in all months of 2015:
156 was correctly allocated to months of 2015 using months of 2014.
Vadim
| User | Count |
|---|---|
| 41 | |
| 4 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.