BookmarkSubscribeRSS Feed
GeorgeSAS
Lapis Lazuli | Level 10

PC SAS 9.3 (will be upgraded to 9.4 soon)

 

I tried vt sashelp.vextfl get same thing, same error log and can't open it.but thank you for teach me the magic method.

 

it happens after not only I restart SAS but also restart my computer

 

 

error log:

 

ERROR: Invalid Operation.
ERROR: Termination due to Floating Point Exception

 

 

Thanks!

DaveBirch
Obsidian | Level 7

So it looks like modate is the offending variable. My guess is that the operating system or file system is passing some value like 00/00/00 to SAS.  Further, I'd guess that is either the TERMINAL or the PIPE that is the offending external file.  Try seeing whether WHERE XENGINE NOT IN('TERMINAL','PIPE') gets rid of the problem.  You may need decide which variables/rows you really need.

GeorgeSAS
Lapis Lazuli | Level 10

I think maybe this caused by our system is upgrading to use SAS grid. the value(modate) can't be browsed(double clicked) or assigned dynamically.

 

And Chris,May I ask  what is the "select 'exists'n from  dictionary.extfiles"  used in proc sql to create view/table? why i can't use 

"select exists from  dictionary.extfiles"??

 

is that for markup the reserved  keywords?

 

 proc sql;
     create table test111 as
     select 'exists'n as a ,exists as b
     from dictionary.extfiles;
   quit;

 

Thanks!

Tom
Super User Tom
Super User

@GeorgeSAS wrote:

I think maybe this caused by our system is upgrading to use SAS grid. the value(modate) can't be browsed(double clicked) or assigned dynamically.

 

And Chris,May I ask  what is the "select 'exists'n from  dictionary.extfiles"  used in proc sql to create view/table? why i can't use 

"select exists from  dictionary.extfiles"??

 

is that for markup the reserved  keywords?

 

 proc sql;
     create table test111 as
     select 'exists'n as a ,exists as b
     from dictionary.extfiles;
   quit;

 

Thanks!


PROC SQL cannot figure out that you want to use EXISTS as the name of a variable and not as the SQL keyword EXISTS.  By formatting your query using a name literal helps SAS understand that you mean a variable name.  You can also use the DQUOTE=ANSI option on the PROC SQL statement to have SAS consider strings in double quotes as representing variable names, as is done in a number of other SQL implementations.

proc sql dquote=ansi;
  create table test111 as
     select "exists"
     from dictionary.extfiles
  ;
quit;

 

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!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 18 replies
  • 1487 views
  • 3 likes
  • 7 in conversation