BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
adjie
Obsidian | Level 7

Hi, i'm trying to perform oversampling on SAS Studio. Before performing the oversampling, I have create cas session to connect with the libraries, here is the code.

cas casauto host="example.host" port=5570;
proc cas;
	session casauto;
	session.sessionstatus result=s;
	put s;
run;

CASLIB _ALL_ assign;
options casdatalimit=50G;

After that, i performed the oversampling and it worked just fine without any errors.

adjie_0-1619603023241.png

As you can see the output table is already listed on the public library. But when I tried to look for the table from SAS VA or Environment Manager the table doesn't appear. This issue also happened before when I ran a query file, the output table is listed on the library in SAS Studio but I couldn't find the table when I tried to add the data to SAS VA.

 

Did I miss anything?

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
BrianGaines
SAS Employee

Hi @adjie,

 

In order to access an in-memory table from another SAS Viya application such as VA or Environment Manager, you need to "promote" the table so that it has "global" scope. For example, you can do this by using the DATA step:

data public.pd_sampled(promote=yes);
   set public.pd_sampled;
run;

Or you can use the table.promote action directly:

proc cas;
	action table.promote /
		caslib='public',
		table='pd_sampled';
	run;
quit;

By default, in-memory CAS tables have "session" scope, meaning that they are available only within the specific CAS session that you are working with. So to make a table available in a different CAS session (the new CAS session that is created when you use VA), you need to promote the table to be global scope.

 

Does that take care of the issue?

 

Thanks,

 

-Brian

 

 

View solution in original post

2 REPLIES 2
BrianGaines
SAS Employee

Hi @adjie,

 

In order to access an in-memory table from another SAS Viya application such as VA or Environment Manager, you need to "promote" the table so that it has "global" scope. For example, you can do this by using the DATA step:

data public.pd_sampled(promote=yes);
   set public.pd_sampled;
run;

Or you can use the table.promote action directly:

proc cas;
	action table.promote /
		caslib='public',
		table='pd_sampled';
	run;
quit;

By default, in-memory CAS tables have "session" scope, meaning that they are available only within the specific CAS session that you are working with. So to make a table available in a different CAS session (the new CAS session that is created when you use VA), you need to promote the table to be global scope.

 

Does that take care of the issue?

 

Thanks,

 

-Brian

 

 

adjie
Obsidian | Level 7
Yes, this solves the problem. Thanks.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 2552 views
  • 3 likes
  • 2 in conversation