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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.