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

Copy and Disagg across versions in the same planning area

0 Likes
793

Dear All,

We have two DCs "D1" and "D2" in baseline version. Both these DCs are at North America region.

We have a virtual DC with the ID as "DC_NA" in the upside version. This is basically an aggregated DC at North America region.

Consensus Demand Qty (PRODLOCCUST) is generated at D1 and D2 in baseline version as a result of demand planning.

Our requirement is that we need to aggregate the demand at these two DCs D1 and D2 and put it as "Independent Demand" at the DC "DC_NA" in the upside version.

Is this possible through the available operators (Copy / Disagg / Version Copy) ?

Is this possible without attribute transformation?

Thanks & Regards,

Paul

View Entire Topic
Irmi_Kuntze
Product and Topic Expert
Product and Topic Expert
0 Likes

Hi Paul
Two 1/2 alternative further solutions, a little bit tricky but I used all in other cases:


For 1) and 2), if you have the stored key figure DISAGGR@WKPRODLOC, fill it with value 0 for DC1 and DC2, and with value 1 for DC_NA.


Plus in all solutions you need to have an attribute e.g. REGION to your location that indicates which DC's belong logically together, in your case the three DC's DC1 and DC2 and DC_NA would all three have the attribute value ''NA''.

To automatically fill DISAGGR@WKPRODLOC, you could have an operator DISAGG or COPY to fill from DISAGGRCALC@WKPRODLOC on regular base e.g. weekly. That could involve an attribute "ATTR" to your DC's that indicate "I am normal DC" with value ''DC'' and "I am aggregated DC" with another value, and then calculate e.g.
DISAGGRCALC@WKPRODLOC = IF( "ATTR" = ''DC'', 0 , 1)
plus flag CONSENSUSDEMANDQTY@WKPRODLOC as input key figure in order to avoid an error.
If you dont have such as attribute, you can hard code the values DC1, DC2 and DC_NA in the formula, or you would need to maintain the values manually

1) For the first alternative solution, the DISAGGR (not DISAGGRCALC) would be needed in the disaggregation expression of your target KF INDEPENDENTDEMAND@WKRODLOC, to which you can than copy by operator DISAGG at level WK-PROD-REGION.
The disaggregation to WK-PROD-LOC would be done based on the value in DISAGGR@WKPRODLOC being 0 or 1.

2) But as there are likely other requirements for the disaggregation for the independent demand that prevents the usage of the disaggregation expression, you can put as second alternative solution a key figure in-between, e.g. CONSENSUSDEMANDQTYAGG@WKPRODLOC and then you copy from CONSENSUSDEMANDQTYAGG@WKPRODLOC to INDEPENDENTDEMAND@WKPRODLOC with operator DISAGG or COPY on level WKPRODLOC.
In that case you need an on-the-fly-calculation before:
CONSENSUSDEMANDQTYAGG@WKPRODLOC = "CONSENSUSDEMANDQTY@WKPRODREGION" * "DISAGGRCALC@WKPRODLOC"
With that you would assign the full Consensus to the DC_NA as that DISAGGRCALC has value 1 and for the normal DC it has only 0.
Surely, you will first need a SUM calculation for CONSENSUSDEMANDQTY@WKPRODREGION = SUM("CONSENSUSDEMANDQTY@WKPRODLOCCUST")
And in this solution you do not need to have DISAGGR@WKPRODLOC as stored value, it is sufficient to have DISAGGRCALC@WKPRODLOC calculated on the fly

2b) Or simplified, you can have directly calculated CONSENSUSDEMANDQTYAGG@WKPRODLOC =
CONSENSUSDEMANDQTY@WKPRODREGION" * IF( "ATTR" = ''DC'', 0 , 1)

Good luck

Irmi