Let's say I have a two columns, 1 with a bunch of names, and another with a bunch of dates:
data out;
set in;
%let d=400;
array name{&d};
array indate{&d};
h=1;
do i=1 to &d;
if substr(name{i},1,4) in ("asdf", "jklo") then do;
eh&h=indate{i}
h=h+1;
end;
end;
run;This code is able to count the number of occurnaces of names "asdf" and "jklo" and set them for each observation as "h".
However, when I try to create the variable "eh&h" with &h to represent the h'th occurance of the names, it doesn't work.
How can I make it so the variable names created to set as indate contains the value of h for a given observation?
I tried even to create an array using the dimension of maximum number of h's in the dataset, but that didn't work either (and may have been the wrong idae). So i come here to see if there's something i'm just missing.
Thanks ahead of time.
Solved it myself, here's the code:
data out;
set in;
%let d=400;
%let e=50; *Max dimensions for the number of h's;
array name{&d};
array indate{&d};
array eh{&e};
h=1;
do i=1 to &d;
if substr(name{i},1,4) in ("asdf", "jklo") then do;
eh{h}=indate{i}
h=h+1;
end;
end;
run;
Solved it myself, here's the code:
data out;
set in;
%let d=400;
%let e=50; *Max dimensions for the number of h's;
array name{&d};
array indate{&d};
array eh{&e};
h=1;
do i=1 to &d;
if substr(name{i},1,4) in ("asdf", "jklo") then do;
eh{h}=indate{i}
h=h+1;
end;
end;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.