BookmarkSubscribeRSS Feed
Oliver2
Calcite | Level 5

Hello!

I had a quick look, but couldn't find any questions similar to this, so hopefully I'm not bringing up old questions.

What is the reason the the POINT= option only works when set to a set to equal a variable (eg the obsnum below), rather than just setting it to equal an integer?

eg why does this work

data OJOSData;

  obsnum=6;

  set grades point=obsnum;

  output;

  stop;

run;

but this doesn't?

data OJOSData;

  set grades point=6;

  output;

  stop;

run;

I was just wondering what the underlying reason is.

Many thanks

Oliver

PS the SAS University software is a godsend for testing things like this that puzzle me

4 REPLIES 4
SASKiwi
PROC Star

There are already options for reading a specific observation or range of observations. FIRSTOBS= for the first record to be read and OBS= for the last record to be read.

POINT= is for identifying observations by formula/calculation.

data want;

  set have (firstobs = 6 obs = 6);

run;

Oliver2
Calcite | Level 5

Right!  It's interesting isn't it how certain rules work in certain ways.

With POINT you HAVE to use a variable, but with firstobs you CANNOT use a variable.  At least I can't make it work...

data OJOSData;

  fobs=7;

  set grades (firstobs=fobs);

run;

Thanks SASKiwi, something for me to think about!

SASKiwi
PROC Star

That's right - refer to the documentation for the correct use of each option.

gergely_batho
SAS Employee

obs= and firstobs= dataset options are designed to subset the data before it reaches the data step or a procedure. As they are data set options, they work almost in any circumstances. For example in a proc step. Obviously you don't have data step variables in a proc step.  obs= and  firstobs= can subset the observations very efficiently.

point= works only in a data step, it is an option of the set statement. It is designed to allow random/direct access to specific observations.

For example if you want to read the 10th, 20th and than again the 10th observation.

sas-innovate-2024.png

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.

 

Register now!

What is Bayesian Analysis?

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 6759 views
  • 0 likes
  • 3 in conversation