BookmarkSubscribeRSS Feed
Afor910327
Obsidian | Level 7

Hi all,

 

I have been trying to figure out this one but I cannot come up with anything to fix this error, since I am not a SAS expert, could someone explain this one so I can correct it?.... By the way, this is the first error of the log...

 

proc sql;

create table ql_a&currioyr. as

select a.*, b.io2_proval, c.io3_pi
from tempsas.io1_a&currioyr
join tempsas.io2_a&currioyr
on a.item_id = b.item_id and a.itemACPSA = b.itemACPSA
join tempsas.io3_a&currioyr
on b.item_id = c.item_id and b.itemACPSA = c.itemACPSA
;

quit;

 

 

MPRINT(PRICE_SERIES): proc sql;
SYMBOLGEN: Macro variable CURRIOYR resolves to 2012
SYMBOLGEN: Macro variable CURRIOYR resolves to 2012
SYMBOLGEN: Macro variable CURRIOYR resolves to 2012
SYMBOLGEN: Macro variable CURRIOYR resolves to 2012
MPRINT(PRICE_SERIES): create table ql_a2012 as select a.*, b.io2_proval, c.io3_pi from tempsas.io1_a2012 join
tempsas.io2_a2012 on a.item_id = b.item_id and a.itemACPSA = b.itemACPSA join tempsas.io3_a2012 on b.item_id = c.item_id
and b.itemACPSA = c.itemACPSA ;
ERROR: File TEMPSAS.IO1_A2012.DATA does not exist.
ERROR: File TEMPSAS.IO2_A2012.DATA does not exist.
ERROR: File TEMPSAS.IO3_A2012.DATA does not exist.
MPRINT(PRICE_SERIES): quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds

 

4 REPLIES 4
Reeza
Super User

The error is pretty straightforward. SAS can't find the data set, the tempSAS.io1_a2012.

Is the dataset named correctly? Is it in the correct library?

Afor910327
Obsidian | Level 7

It is named correctly, I can see it in the library but I do not know why in the world it does not find it. 

Astounding
PROC Star

SInce you're asking the question, I suspect you will need a little more guidance.

 

To understand the program, you have to realize that wherever "&currioyr." appears, it will get replaced by "2012".  That's why the program is trying to locate tempsas.io1_a2012, tempsas.io2_a2012, and tempsas.io3_a2012.

 

The first debugging step is to locate a statement that begins like this:

 

libname tempsas .......;

 

Take a look in the folder described by that statement, and see what data sets it contains.  It may be that you have a totally wrong folder, or it may be that the folder is the right one but doesn't have any 2012 data sets in it, or it may be a slight misspelling, such as data sets named io1_a_2012 instead of io1_a2012.  But look at what is in there.  If it's totally the wrong folder, you will need to find the folder that contains the data sets io1_a2012, io2_a2012, and io3_a2012.

 

If by some chance you are working with a database, the idea is the same.  Just look for a schema instead of a folder.

Afor910327
Obsidian | Level 7

Thank you so much Astounding!

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
  • 1084 views
  • 1 like
  • 3 in conversation