Help using Base SAS procedures

Simple Loops

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Simple Loops

I stuck in a loop question.

For example

I have

SCHED_VOL          LEAD_BATCH    LAG_BATCH   IND

10000.00                 OSH                   MSB                1

10000.00                 MSB                   OSH                 1

20000.00                 OSH                   OSH                 0  

20000.00                 OSH                   MSB                 0

20000.00                 MSB                   OSH                 1

15000.00                 OSH                   OSH                 0

16000.00                 OSH                   MSB                  1


if lead-bath nq lagbatch, i indicate asa 1, otherwise 0.


Now I need run the loops, when it is 0, add cumulative vol,otherwise = sched_VOl


something like this for Cum_VOL

SCHED_VOL          LEAD_BATCH    LAG_BATCH   IND         Cum_VOL

10000.00                 OSH                   MSB                1             10000

10000.00                 MSB                   OSH                 1             10000

20000.00                 OSH                   OSH                 0             30000

20000.00                 OSH                   MSB                 0             50000

20000.00                 MSB                   OSH                 1             20000

15000.00                 OSH                   OSH                 0             35000

16000.00                 OSH                   MSB                  1            16000


I think it is not difficult, but I cannot get exact answer.


Thank you very much


Accepted Solutions
Solution
‎04-20-2015 01:51 PM
Super User
Posts: 10,476

Re: Simple Loops

Data want;

     set have;

     ind = (LEAD_BATCH ne LAG_BATCH);

     if ind then Cum_VOL=SCHED_VOL;

     else Cum_Col + SCHED_VOL;

run;

might work

View solution in original post


All Replies
Solution
‎04-20-2015 01:51 PM
Super User
Posts: 10,476

Re: Simple Loops

Data want;

     set have;

     ind = (LEAD_BATCH ne LAG_BATCH);

     if ind then Cum_VOL=SCHED_VOL;

     else Cum_Col + SCHED_VOL;

run;

might work

Occasional Contributor
Posts: 9

Re: Simple Loops

Perfect, Ballardw. Thank you very much

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 185 views
  • 0 likes
  • 2 in conversation