cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Top Down Allocation - 0 Records

Former Member
0 Likes
831


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).

Accepted Solutions (1)

Accepted Solutions (1)

0 Likes

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

Former Member
0 Likes

Hi..

I curtailed the code to

DIM TIME WHAT = 2015.INP ; WHERE = 2016.APR ; USING = 2014.APR ; TOTAL = <<<

Same problem

--Merge WHAT and USING

--Time to merge WHAT and USING :0.000235 second(s).
Data after merging WHAT and USING 0  records.

former_member186338
Active Contributor
0 Likes

Please show report screenshot like in my post!

May be some other dimensions are different between 4 records in WHAT and 12 records in USING...

Also full script is required to see the scoping before allocation.

Former Member
0 Likes

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

-----------------------------------------

Former Member
0 Likes

Vadim - Dearest - just read this!!

May be some other dimensions are different between 4 records in WHAT and 12 records in USING...

You may have something as the two of the dimensions have different members. does this mean I have to include them in the allocation?

former_member186338
Active Contributor
0 Likes

All other members has to be the same or you have to specify it like category. Report screenshot please.

former_member186338
Active Contributor
0 Likes

Sample:

You have ACCOUNT dimension:

For 2015.INP, CT_BUDGET you have values on A1,A2,A3,A4

And for BAS(2014.TOTAL), CT_BUDGET you have value on A5


The result will be 0 records!

Former Member
0 Likes

It was indeed related to the different dimension members - think we all learnt a lot anyway

thanks

Lucy

Answers (2)

Answers (2)

Former Member
0 Likes

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

former_member186338
Active Contributor
0 Likes

Hi Lucy,

In order to continue discussion you have to:

1. Show full script.

2. Initial data in what and using total as a report.

3. Other info in line with:

vadim

former_member186338
Active Contributor
0 Likes

P.S. And the issue is here:

TIME:WHAT:2014.INP,WHERE:BAS(2016.TOTAL),USING:BAS(2014.TOTAL),TOTAL:<<<

Where and Using have to be the same or single member

Former Member
0 Likes

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?

former_member186338
Active Contributor
0 Likes

Sorry, but how the system will understand the relation between 2014.01 and 2016.01 etc...

Former Member
0 Likes

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:<<<

former_member186338
Active Contributor
0 Likes

Historical split is valid for 2014.01,2014.02...

But how the system will know that percent for January 2014 have to be stored in January 16 ? For allocation you have 2 lists of unrelated members (months of 2 Years).

Hope it's clear.

Former Member
0 Likes

that's why they have  *FACTOR=USING/TOTAL

it Basically says we are USING 2014.01..2014.02 etc and dividing each period by the TOTAL of the year to give a percentage value for the WHERE

former_member186338
Active Contributor
0 Likes

Sorry, looks like not clear!

"it Basically says we are USING 2014.01..2014.02 etc and dividing each period by the TOTAL of the year to give a percentage value for the WHERE"

USING 2014.01 dividing by 2014.TOTAL - Where to store the result????

Former Member
0 Likes

In FACTOR....

Then the "FACTOR" is used to proportion the "WHAT:2014.INP" accordingly into the "WHERE"

How else would one perform a top down allocation using the percentage splits from a previous year?

Former Member
0 Likes

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.

former_member186338
Active Contributor
0 Likes

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=<<<

former_member186338
Active Contributor
0 Likes

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

former_member186338
Active Contributor
0 Likes

The question now is:

Is it correct:

*DIM CATEGORY WHAT=CT_BUDGET; WHERE=CT_FORECAST;USING=CT_BUDGET;TOTAL=<<<

WHAT=CT_BUDGET - do you want to allocate value in CT_BUDGET, not in CT_FORECAST?

Vadim