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

Do sort and freq now work in cas?  Any others?

1 ACCEPTED SOLUTION

Accepted Solutions
Rick_SAS
SAS Super FREQ

Yes. Assuming that you use a caslib to specify the CAS table, then a procedure that is NOT CAS-enabled should behave as follows:

1. The caslib engine pulls the data down to SAS, making a temp data set;

2. The procedure reads and analyzes the temp data set

3. If the proc needs to create output to a CAS table, it will first write a temporary output data set. The caslib engine will then transfer it to a CAS table.

 

Obviously, this is inefficient for large data, but for small and medium data, the caslib engine enables you to use any existing SAS procedure to interact with CAS tables.

View solution in original post

7 REPLIES 7
AnandVyas
Ammonite | Level 13

Hi @ARC2 

 

Below link has a table for the PROC's that use CAS (Viya Engine) for processing.

 

https://go.documentation.sas.com/?docsetId=pgmdiff&docsetTarget=p1e2swghnyju6fn13jr3935jpsaw.htm&doc...

Rick_SAS
SAS Super FREQ

Just to clarify, when you get SAS Viya, all procedures "work" on SAS data sets. The OP's question (I assume) is "If I have a CAS table, which procedures can take advantage of parallel processing in CAS" so that they run faster on big data tables in CAS.  Anand's link answers that question.

 

For the procedures that do not perform parallel processing, the CAS libname engine might try to pull the CAS table back to SAS and make a temporary data set, which might not be efficient for large data.  

ARC2
Fluorite | Level 6

Yes, this is what I meant.  Will the procs that are not cas enabled like proc freq still work if you specify an input dataset that is in cas memory and an output dataset that is in cas memory.  

Rick_SAS
SAS Super FREQ

Yes. Assuming that you use a caslib to specify the CAS table, then a procedure that is NOT CAS-enabled should behave as follows:

1. The caslib engine pulls the data down to SAS, making a temp data set;

2. The procedure reads and analyzes the temp data set

3. If the proc needs to create output to a CAS table, it will first write a temporary output data set. The caslib engine will then transfer it to a CAS table.

 

Obviously, this is inefficient for large data, but for small and medium data, the caslib engine enables you to use any existing SAS procedure to interact with CAS tables.

ARC2
Fluorite | Level 6

Proc sort is an exception to this rule,  correct?

Rick_SAS
SAS Super FREQ

I don't know what "rule" you are talking about. The doc lists which procedures can execute on the CAS server.

For PROC SORT, it says "YES, for the NODUPKEY and NOUNIKEY options." If you don't use those options, then the answer is "no," and PROC SORT will behave as I outlined. Of course, this will be a waste of resources since CAS tables are nor guaranteed to preserve order when you read them, so there is no need to sort a CAS table.

Watts
SAS Employee

Also see SAS Visual Statistics Procedures for a list of statistical procedures that are designed to run on CAS tables.

 

PROC FREQTAB (in SAS Visual Statistics) provides the tabulation and statistical analysis capabilities of PROC FREQ.

 

(And like @Rick_SAS mentioned, all SAS/STAT procedures are available with SAS Viya.)  

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 7 replies
  • 2130 views
  • 0 likes
  • 4 in conversation