BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
hcbn
Obsidian | Level 7

How to convert the quantities to the case pack

 

 Input  
Datedest_idqtyCase_Qty
03Mar201912305012
04Mar20191230500
05Mar20191230500
06Mar20191230500
07Mar20191230500
08Mar20191230550
09Mar20191230500
10Mar20191230500
11Mar20191230500
12Mar20191230500
13Mar20191230500
14Mar20191230500
15Mar20191230560
16Mar20191230500
17Mar20191230500
18Mar20191230500
19Mar20191230500
20Mar20191230500
21Mar20191230500
22Mar201912305412
23Mar20191230500
03Mar201912913012
04Mar20191291300
05Mar20191291320
06Mar20191291300
07Mar20191291300
08Mar20191291310
09Mar20191291300
10Mar20191291300
11Mar20191291300
12Mar20191291340
13Mar20191291300
14Mar20191291300
15Mar20191291300
16Mar20191291300
17Mar20191291300
18Mar20191291300
19Mar20191291320
20Mar20191291300
21Mar20191291300
22Mar201912913512
23Mar20191291300

 

  Output  
Datedest_idqtyCase_pack
03Mar20191230500
04Mar20191230500
05Mar20191230500
06Mar20191230500
07Mar20191230500
08Mar201912305512
09Mar20191230500
10Mar20191230500
11Mar20191230500
12Mar20191230500
13Mar20191230500
14Mar20191230500
15Mar20191230560
16Mar20191230500
17Mar20191230500
18Mar20191230500
19Mar20191230500
20Mar20191230500
21Mar20191230500
22Mar201912305412
23Mar20191230500
03Mar20191291300
04Mar20191291300
05Mar201912913212
06Mar20191291300
07Mar20191291300
08Mar20191291310
09Mar20191291300
10Mar20191291300
11Mar20191291300
12Mar20191291340
13Mar20191291300
14Mar20191291300
15Mar20191291300
16Mar20191291300
17Mar20191291300
18Mar20191291300
19Mar20191291320
20Mar20191291300
21Mar20191291300
22Mar201912913512
23Mar20191291300
1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

You seem to be doing this?

 

data have;
input Date $ dest_id qty Case_Qty;
datalines;
03-mars-19	12305	0	12
04-mars-19	12305	0	0
05-mars-19	12305	0	0
06-mars-19	12305	0	0
07-mars-19	12305	0	0
08-mars-19	12305	5	0
09-mars-19	12305	0	0
10-mars-19	12305	0	0
11-mars-19	12305	0	0
12-mars-19	12305	0	0
13-mars-19	12305	0	0
14-mars-19	12305	0	0
15-mars-19	12305	6	0
16-mars-19	12305	0	0
17-mars-19	12305	0	0
18-mars-19	12305	0	0
19-mars-19	12305	0	0
20-mars-19	12305	0	0
21-mars-19	12305	0	0
22-mars-19	12305	4	12
23-mars-19	12305	0	0
03-mars-19	12913	0	12
04-mars-19	12913	0	0
05-mars-19	12913	2	0
06-mars-19	12913	0	0
07-mars-19	12913	0	0
08-mars-19	12913	1	0
09-mars-19	12913	0	0
10-mars-19	12913	0	0
11-mars-19	12913	0	0
12-mars-19	12913	4	0
13-mars-19	12913	0	0
14-mars-19	12913	0	0
15-mars-19	12913	0	0
16-mars-19	12913	0	0
17-mars-19	12913	0	0
18-mars-19	12913	0	0
19-mars-19	12913	2	0
20-mars-19	12913	0	0
21-mars-19	12913	0	0
22-mars-19	12913	5	12
23-mars-19	12913	0	0
;

data want;
do until(last.dest_id);
    set have; by dest_id;
    if qty = 0 and case_qty > 0 then do;
        case_hold = sum(case_hold, case_qty);
        case_pack = 0;
        end;
    else if qty > 0 and case_qty = 0 then do;
        case_pack = sum(case_qty, case_hold);
        case_hold = 0;
        end;
    else case_pack = case_qty;
    output;
    end;
drop case_hold case_qty;
run;

If not, please elaborate.

PG

View solution in original post

2 REPLIES 2
Amir
PROC Star

Please explain all the rules to convert case_qty to case_pack.

PGStats
Opal | Level 21

You seem to be doing this?

 

data have;
input Date $ dest_id qty Case_Qty;
datalines;
03-mars-19	12305	0	12
04-mars-19	12305	0	0
05-mars-19	12305	0	0
06-mars-19	12305	0	0
07-mars-19	12305	0	0
08-mars-19	12305	5	0
09-mars-19	12305	0	0
10-mars-19	12305	0	0
11-mars-19	12305	0	0
12-mars-19	12305	0	0
13-mars-19	12305	0	0
14-mars-19	12305	0	0
15-mars-19	12305	6	0
16-mars-19	12305	0	0
17-mars-19	12305	0	0
18-mars-19	12305	0	0
19-mars-19	12305	0	0
20-mars-19	12305	0	0
21-mars-19	12305	0	0
22-mars-19	12305	4	12
23-mars-19	12305	0	0
03-mars-19	12913	0	12
04-mars-19	12913	0	0
05-mars-19	12913	2	0
06-mars-19	12913	0	0
07-mars-19	12913	0	0
08-mars-19	12913	1	0
09-mars-19	12913	0	0
10-mars-19	12913	0	0
11-mars-19	12913	0	0
12-mars-19	12913	4	0
13-mars-19	12913	0	0
14-mars-19	12913	0	0
15-mars-19	12913	0	0
16-mars-19	12913	0	0
17-mars-19	12913	0	0
18-mars-19	12913	0	0
19-mars-19	12913	2	0
20-mars-19	12913	0	0
21-mars-19	12913	0	0
22-mars-19	12913	5	12
23-mars-19	12913	0	0
;

data want;
do until(last.dest_id);
    set have; by dest_id;
    if qty = 0 and case_qty > 0 then do;
        case_hold = sum(case_hold, case_qty);
        case_pack = 0;
        end;
    else if qty > 0 and case_qty = 0 then do;
        case_pack = sum(case_qty, case_hold);
        case_hold = 0;
        end;
    else case_pack = case_qty;
    output;
    end;
drop case_hold case_qty;
run;

If not, please elaborate.

PG

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 503 views
  • 2 likes
  • 3 in conversation