02-10-2014 12:51 PM
I have a dataset with ACCNO as a variable.
we need to grab all the observations with ACCNOs with COUNT 3 or more .(or to create a new dataset with COUNT 3 or more)
I was thinking to implement this logic using first and last temporary variables but it was giving error.
When it will read the first observation of any individual account number then initialize n=0 and increment each iterating time and when it will read last observation of any individual account then if value of n greator than or equal to 3 the it should
Create a new dataset satisfying this condition.
Can there be any better logic for this .as below logic not working
if first.ACCNO then n = 0;
n + 1;
if last.ACCNO and n gt 3 then output ;
02-10-2014 02:08 PM
A Proc SQL step works nicely (untested)
create table want as
select * from
have where accno in (select accno from have group by accno having count(accno)>3);
02-10-2014 02:10 PM
Your code has syntax errors. You are missing semicolons on the first two lines:
Otherwise your code should work as long as the dataset on the SET statement is sorted.
02-10-2014 02:19 PM
Perhaps a smaller issue ...
Your original post asks for count greater than or equal to 3.
gt means "greater than"
ge means "greater than or equal"