DATA Step, Macro, Functions and more

Repeat the value in a varaible across the rows.

Accepted Solution Solved
Reply
Contributor
Posts: 25
Accepted Solution

Repeat the value in a varaible across the rows.

Hi

 

I would like to repeat a value in varaible across all the observations.

 

For ex:

 

Have:

Obs       Product        Amount         Count

1.           Apple            10.0              8

2.           Pineapple            

3.           Strawberry

4.           Kiwi

5.           Cantaloupe     

 

Want:

Obs      Product        Amount            Count

1.          Apple            10.0                  8

2.          Pineapple     10.0                  8

3.          Strawberry    10.0                  8

4.          Kiwi               10.0                  8

5.          Cantaloupe   10.0                  8 

 

Thanks in advance.

 

Neal

 


Accepted Solutions
Solution
‎11-06-2015 12:03 PM
Super User
Posts: 17,824

Re: Repeat the value in a varaible across the rows.

Is it always the first observation? Is this an existing dataset or does it get created this way somehow.

You can google LOCF (Last observation carried forward)

View solution in original post


All Replies
Solution
‎11-06-2015 12:03 PM
Super User
Posts: 17,824

Re: Repeat the value in a varaible across the rows.

Is it always the first observation? Is this an existing dataset or does it get created this way somehow.

You can google LOCF (Last observation carried forward)
Super User
Posts: 10,500

Re: Repeat the value in a varaible across the rows.

Also, does that variable somewhere in the data reset to a new value? Do both always change together or may the Amount reset separately from the count?

Super User
Posts: 5,082

Re: Repeat the value in a varaible across the rows.

If there is really only a value on the first observation, you can do it this way:

 

data want;

if _n_=1 then set have (keep=amount count);

set have (drop=amount count);

run;

 

If there might be additional observations later in the data set that contain AMOUNT and COUNT then you have to go with the LOCF suggestion.  It's not all that complicated.

 

Good luck.

Contributor
Posts: 65

Re: Repeat the value in a varaible across the rows.

data want(drop = amount count rename = (amount1=amount count1=count));
set have;
retain amount1 count1;
if Amount ne . then amount1=amount ;
if count ne . then count1=count;
run;

☑ This topic is SOLVED.

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

Discussion stats
  • 4 replies
  • 247 views
  • 0 likes
  • 5 in conversation