BookmarkSubscribeRSS Feed
teja5959
Obsidian | Level 7

Hi how to do locf in this way.

data val1;

input visit $10. value ;

cards;

Week 2 1.5

Week 4 2.3

Week 8 3.2

run;

how to get this output. 

VISIT VALUE

Week 2 1.5

Week 4 2.3

Week 6 2.3

Week 8 3.2

Week 10 3.2

Week 12 3.2

4 REPLIES 4
teja5959
Obsidian | Level 7

it's not working

Kurt_Bremser
Super User

@teja5959 wrote:

it's not working


This is an extremely unhelpful statement. You'd be pissed if @RW9 just answered "It's working", and nothing else, eh?

 

So post your code and your log, and where the result differs from your expectations, so we can test what's "not working".

Ksharp
Super User
data val1;
input visit & $10. value ;
cards;
Week 2   1.5
Week 4   2.3
Week 8   3.2
;
run;
data want;
 merge val1 val1(firstobs=2 keep=visit rename=(visit=_visit)) end=last;
 array x{6} $32 _temporary_ ('Week 2' 'Week 4' 'Week 6' 'Week 8' 'Week 10' 'Week 12');
 output;
 do i=whichc(visit,of x{*})+1 to ifn(last,6,whichc(_visit,of x{*})-1);
   visit=x{i};output;
 end;
 drop i _visit;
run;

proc print;run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1469 views
  • 0 likes
  • 4 in conversation