I am exploring and trying out SAS VIYA.
I am asking about this because I'm testing this code below:
data casuser.NZstatdtx;
set myCaslib.NZstatdt;
ANZcode=(substr(ANZSIC06,1,3));
code_Desc=(substr(ANZSIC06,9,length(ANZSIC06)-8));
Area_cd=(substr(Area,1,4));
Area_name=(substr(Area,6,length(Area)-5));
drop ANZSIC06 Area;
run;
proc casutil;
contents casdata="NZstatdt" INCASLIB=myCaslib ;
contents casdata="NZstatdtx" INCASLIB=casuser ;
run;
I got the error below
75
76
77 data casuser.NZstatdtx;
78 set myCaslib.NZstatdt;
79 ANZcode=(substr(ANZSIC06,1,3));
80 code_Desc=(substr(ANZSIC06,9,length(ANZSIC06)-8));
81 Area_cd=(substr(Area,1,4));
82 Area_name=(substr(Area,6,length(Area)-5));
83 drop ANZSIC06 Area;
84 run;
NOTE: Running DATA step in Cloud Analytic Services.
NOTE: The DATA step will run in multiple threads.
NOTE: There were 36125 observations read from the table NZSTATDT in caslib MYCASLIB.
NOTE: The table NZstatdtx in caslib MYCASLIB has 36125 observations and 7 variables.
NOTE: DATA statement used (Total process time):
real time 1.81 seconds
cpu time 0.10 seconds
85
86 proc casutil;
NOTE: The UUID ' ' is connected using session MYSESSION.
87
87 ! contents casdata="NZstatdt" INCASLIB=myCaslib ;
NOTE: Cloud Analytic Services processed the combined requests in 0.001092 seconds.
88 contents casdata="NZstatdtx" INCASLIB=casuser ;
NOTE: The fileInfo action could not be run for the file "NZstatdtx".
ERROR: The table NZstatdtx could not be located in caslib CASUSER(test) of Cloud Analytic Services.
ERROR: The action stopped due to errors.
NOTE: Cloud Analytic Services processed the combined requests in 0.001008 seconds.
89 run;
When I try to do a proc contents for both source table and output table, I still says the output table cannot be located.
proc casutil;
contents casdata="NZstatdtx" INCASLIB=casuser ;
run;
Is the error I am getting due to the caslib not being active, if so how do you change active caslib in a particular session to prevent such error?
Thanks
If I am not wrong, you have to declare the caslib everytime you use it to make it active.
Btw, You may do a proc contents directly without using casutil.
PROC CONTENTS DATA=myCaslib.Nzstatdtx ; RUN ;
If I am not wrong, you have to declare the caslib everytime you use it to make it active.
Btw, You may do a proc contents directly without using casutil.
PROC CONTENTS DATA=myCaslib.Nzstatdtx ; RUN ;
Cheers @Pmyosh . Thanks for the response.
You are correct, I've just tried declaring the caslib again.
Encountered no error in that portion.
cas mySession sessopts=(caslib="myCaslib");
caslib casuser list;
caslib myCaslib list;
Log:
95 cas mySession sessopts=(caslib="myCaslib");
NOTE: 'MYCASLIB' is now the active caslib.
NOTE: The CAS statement request to update one or more session options for session MYSESSION completed.
96 caslib casuser list;
NOTE: Session = MYSESSION Name = CASUSER(test)
Type = PATH
Description = Personal File System Caslib
Path = /opt/sas/viya/config/data/cas/default/casuserlibraries/test/
Definition =
Subdirs = Yes
Local = No
Active = No
Personal = Yes
NOTE: Action to LIST caslib CASUSER completed for session MYSESSION.
97 caslib myCaslib list;
NOTE: Session = MYSESSION Name = MYCASLIB
Type = PATH
Description =
Path = /Users/test/workshop/
Definition =
Subdirs = Yes
Local = Yes
Active = Yes
Personal = No
NOTE: Action to LIST caslib MYCASLIB completed for session MYSESSION.
I guess , I need further understanding on proper usage of CASUTIL especially working with different caslib.
That's good! Yes, I think the casutil is still unexplored by lots of users like us.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.