SAS Viya Copilot Explained: Building Machine Learning Pipelines in Minutes, Not Hours
Recent Library Articles
SAS Viya Copilot is a set of software as a service (SaaS) features and capabilities that use large language models (LLMs) to provide users with a more intuitive and accessible way to work with SAS Viya offerings. SAS Viya Copilot is for developers, data scientists, citizen data scientists, and business analysts who are writing code, analyzing data, building machine learning model pipelines, and doing more across the data and AI life cycle.
SAS Forward: Real Stories, Live Demos and AI Innovation
Ask the Expert
Join us November 4-5 for SAS Forward, a virtual event exploring modern analytics, AI and intelligent decisioning. Discover real-world success stories, explore emerging trends, and see the latest SAS innovations in action through expert-led sessions and live demonstrations.
I have a number of long running scripts. I would like to use the SAS/Connect facility to take advantage of the multiple cores on the same machine. At designated intervals during these scripts, I would like to write a status with the system date and time. While the script is running, I open a Windows Command line session and run "type <filename>.log" to see the log in real time. I've set the system option logparm='write=immediate' on both the parent session and in the child sessions. However, the child session winds up only writing to the parent log and only when all jobs are finished. This subverts the purpose of writing a status to the log. I have studied the SAS/Connect portion of the manual, done a Google Search, and done a SAS Communities search. This works fine with non-SAS/Connect scripts. How come this does not work with the SAS/Connect facility? Toy code demonstration is below. If I need to RTFM, please point me to the specific section. Thank you in advance. /* Show logparm option set correctly for parent process */
proc options option=logparm;
run;
/* Set remote session SAS command with options at invocation */
options sascmd="<path>\sas.exe -nosyntaxcheck -noterminal -noconnectwait -logparm='write=immediate' -sasuser work";
run;
/* Initiate connections */
signon task1
connectwait=no signonwait=no
cmacvar=signon_1_rc
connectstatus=yes notify=yes
log='<path>\task1.log'
;
signon task2
connectwait=no signonwait=no
cmacvar=signon_2_rc
connectstatus=yes notify=yes
log='<path>\task2.log'
;
run;
/* Toy stmts submitted to first session */
rsubmit task1 wait=no;
%PUT NOTE: The first rsubmit status for task1 is &SIGNON_1_RC..; run;
proc options option=(sascmd syntaxcheck terminal connectwait logparm sasuser);
run;
data _null_;
dt=datetime(); file log; put 'Hello world from task1 ' dt datetime.; sltime=sleep(30);
dt=datetime(); file log; put 'Hello world from task1 ' dt datetime.; sltime=sleep(30);
dt=datetime(); file log; put 'Hello world from task1 ' dt datetime.;
run;
endrsubmit; run;
%PUT NOTE: The second rsubmit status for task1 is &SIGNON_1_RC..; run;
/* Toy stmts submitted to second session */
rsubmit task2 wait=no;
%PUT NOTE: The first rsubmit status for task2 is &SIGNON_2_RC..; run;
proc options option=(sascmd syntaxcheck terminal connectwait logparm sasuser);
run;
data _null_;
dt=datetime(); file log; put 'Hello world from task2 ' dt datetime.; sltime=sleep(30);
dt=datetime(); file log; put 'Hello world from task2 ' dt datetime.; sltime=sleep(30);
dt=datetime(); file log; put 'Hello world from task2 ' dt datetime.;
run;
endrsubmit; run;
%PUT NOTE: The second rsubmit status for task2 is &SIGNON_1_RC..; run;
/* List all active connections */
listtask _all_; run;
/* Wait for all tasks to complete */
waitfor _all_; run;
/* End all connections */
signoff _all_; run;
... View more
All submissions for this year’s SAS Hackathon are due by Nov. 2, 2026. Midnight US ET.
A completed final submission includes:
A final submission form (one entry per team)
A team photo uploaded to the SAS Hacker’s Hub
Your Two final video submissions, both videos uploaded to A and B:
Your team profile on SAS Hacker’s Hub. Within your team profile, click the Insert Video button. Browse your computer and select a video file to upload. Name your video using the names of your team and business case study.
The SAS Hackathon SharePoint site. Each team leader will receive an email invitation to upload the team’s two video submissions to the video SharePoint site
Everything you need for your video submission:
Video guidelines: Please find the attached PDF file: sas-hackathon-video-guidelines 2026
Optional: Assets to organize your story (The Challenge, The Innovation and The Impact). You will find three mp4 files in the attached sashackathon-3-mp4-files.zip file. Download the file to extract and use the mp4 files.
Don’t forget: Every story has a message or theme. In video storytelling, your business case should be clear, guiding the audience to a specific conclusion or call to action. Good storytelling also involves mixing visual elements, audio and text to communicate a message to a specific audience. Avoid music and focus more on the business case message and visuals.
Previous examples
A note on the Pitch Video and Jury Video:
Think of your Pitch Video as the executive summary or elevator pitch. Your Jury video is the full project walkthrough. Here’s a quick guide:
Video
Length
Audience Need
Content Focus
Pitch Video
2-3 min
"Why should I care?"
Story, value proposition, key outcomes
Jury Video
7-10 min
"Show me how you did it."
Detailed solution, technology, demo, impact, evidence
... View more
Team Name Life Savers Track Healthcare Use Case Testing out the impact of age on predicting mortality and on monitoring quality of care Technology Large dataset manipulation and predictive modeling Team lead Michael Rothman @michael.rothman @Andrew.spear Social media handles @mjrothman Is your team interested in participating in an interview? N Optional: Expand on your technology expertise
... View more
What happens when generative AI meets the real-time world? ESP Copilot is coming soon, bringing AI assistance closer to the streaming development experience and helping people turn ideas into working solutions faster.
... View more
Hi all, We migrated a caslib from SAS Viya 3.5 to Viya 4. We transferred groups and rules first, then used cas caslibs show-info / list-controls in the source and cas caslibs create path / replace-controls in the target. The caslib and its authorizations match 3.5. However, when we load a table into the migrated caslib, the row-level security from 3.5 is missing. How can we migrate the row-level security (table-level filters) as well? Thanks!
... View more