Getting Started with SAS Viya Copilot for SAS Visual Analytics
Recent Library Articles
Turn data into insights faster with AI-powered summaries, translations, and more. This post covers how SAS Visual Analytics leverages copilot and walks through its capabilities and interface, best practices for writing prompts, as well as some tips on responsible use.
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.
As someone who still happily uses Display Manager, I like that I can configure it to automatically open ODS results using an external application (PowerPoint, Word, Adobe reader, whatever).
Is there a feature like that in VS Code extension / VS Code? I'm running VS Code locally, and connecting to local SAS 9.
AI suggests I use an X statement to open a file, which sounds like a reasonable approach. But curious if a human knows a way to configure the output files to open automatically in an external application.
Particularly interested in getting ODS PowerPoint to automatically pop open, at the moment.
... View more
Product: SAS Visual Investigator 2025.09 We reviewed "What's New in SAS Visual Investigator" up to version 2026.09 and have not identified an enhancement addressing this behavior. Current Behavior When a user starts a workflow on an object while the object is in Edit mode, the workflow starts successfully, but the object remains in Edit mode and locked by the initiating user. When the next workflow task is assigned to another user, that user cannot edit the object and receives the message: "The user {user ID} is editing the object {object label}." The object remains locked until the initiating user manually exits Edit mode or the lock expires (locks.expirtPeriodInMinutes default 120 minutes). Business Impact The next assigned user cannot continue processing the object until the initiating user releases the lock, potentially causing delays of up to two hours and disrupting workflow continuity. Reducing the global lock expiration period is not an acceptable workaround, as it affects all editing operations throughout the system. Requested Enhancement When a user starts a workflow on an object that is in Edit mode: No unsaved changes: Automatically exit Edit mode and release the object lock. Unsaved changes: Prompt the user to save or discard them. Workflow initiation: Start the workflow only after Edit mode has been exited and the lock has been successfully released. Save failure or cancellation: Do not start the workflow, ensuring that no unsaved changes are lost. The object should become immediately available for editing by the next assigned workflow user, without requiring manual intervention from the initiating user. Ideally, this behavior should be configurable per workflow.
... View more
Currently (as of Viya 2026.10), a Data-Driven Content (DDC) object can interact with other objects only if they are on the same page (via Object Links). However, there are plenty of use cases where you may want to trigger actions on objects located on another report page (via Page Links), in another report (via Report Links), or even on another website (via URL Links). Let's look at the example with well-known sashelp.cars data. A) a page with native VA objects vs. B) a page using DDC objects Which one do you prefer? 😉 There is also a Detail page that provides additional information about a selected car. How can a user navigate to it? A) Double-clicking a car in the List table navigates the user to the Detail page (via Page Links). B) Double-click navigation is not available because DDC objects do not support Page Links. What a pity! To see it in action, watch this video. An Ugly Workaround There is, of course, an ugly workaround. Since a DDC object cannot navigate directly to another report page, we need to put a native VA object in between. In our example, we use a Key Value object and configure it to look like a button. First, we use Object Links to trigger an action from the DDC object to the Key Value object. Then, we use Page Links to trigger an action from the Key Value object to the Detail page. With a few additional tricks, we configure the Key Value object to display its button label ("Go to Detail") only when exactly one car is selected. Otherwise, displaying the button would not make sense. However, this workaround has several drawbacks: It is not intuitive from the user's perspective. The navigation mechanism is far from obvious. An ugly warning appears when no single car is selected. The button label is not displayed, but a small information icon appears with the message: "The key value encountered duplicate category values and cannot be displayed." The button is usually too big. It takes up too much screen space. You cannot set its height and width to less than 10%. It wastes screen space. You want to place the button close to the DDC object. However, since you do not want the button to be too large, you end up creating an empty space next to it as an unwanted side effect. The Feature Request Data-Driven Content (DDC) is a great feature that extends the visualization capabilities of SAS Visual Analytics and makes reports more appealing and engaging. I am sure that adding the ability to link DDC objects to other objects beyond the current page would make VA reports even more powerful and user-friendly. Please consider making Page Links, Report Links, and URL Links available for Data-Driven Content objects!
... View more
Hi everyone, I am working in SAS Visual Analytics on SAS Viya and encountering an issue with how interactive filters behave in my report: The Problem: My report includes controls (such as a date slider and drop-down list filters) linked to a table. When a user clicks or highlights a specific row in the table, SAS automatically applies that row selection as an active filter back to the other control filters. As a result, the drop-down list narrows its available options to display only the values associated with that single selected row. Desired Behavior: It is very important for me that the options displayed in the drop-down list remain strictly relevant to the data present in the table (dynamic/relevant values only). However, I want the main controls to filter the table without a single row click inside the table filtering back and reducing the drop-down list options to just that one row. Is there a recommended way or a workaround to keep the drop-down list synced to show only relevant values from the table, while preventing a table row selection from filtering the control options back? Thanks in advance for your help! @VisualAnalytics
... View more
Generative AI is moving beyond simply answering questions. Increasingly, AI assistants and agents need to interact with the business applications where work actually happens.
That is where Model Context Protocol, or MCP, comes in.
For SAS Customer Intelligence 360, MCP provides a standardized way for an AI application to discover and use selected SAS Customer Intelligence 360 capabilities. Instead of requiring someone to navigate through a user interface screen by screen, an MCP-enabled AI client can translate a natural-language request into calls to SAS Customer Intelligence 360 tools to do things such as configuring journeys or audiences.
Intro to MCP
MCP represents an important shift in how people may interact with enterprise applications.
The easiest way to think about MCP is as a standard connection between AI applications and external systems.
Model Context Protocol is an open-source standard that lets AI applications connect to external data, tools, and workflows. It uses a client-server architecture: an AI application acts as an MCP host, establishes a client connection to an MCP server, and discovers the capabilities that server exposes.
Instead of requiring AI applications to understand every product's proprietary integration model, MCP provides a common protocol for discovering and invoking capabilities.
Today, those objects are typically managed through application workflows and APIs. With MCP, they become tools that an AI application can discover and orchestrate through natural language.
That doesn't eliminate the marketer from the process. It changes the marketer's level of interaction.
What Does MCP Bring to SAS Customer Intelligence 360?
Instead of spending as much time telling the software how to perform every individual step, marketers can increasingly spend their time describing what customer experience they want to create, while AI assists with translating that intent into SAS Customer Intelligence 360 operations.
And that may ultimately be MCP's most important contribution to SAS Customer Intelligence 360. It’s not simply another integration interface, but a foundation for a more conversational and agent-driven way of working with marketing technology.
Here are some of the things you can do with MCP and SAS Customer Intelligence 360:
Build and Manage Journeys
Through MCP an AI client can:
create and update scheduled journeys including schedules, audience nodes, task nodes, goals, personalization, and other schedule information.
retrieve scheduled journeys, search for them, review them, activate them, examine occurrence history, and delete them.
For example, rather than starting with individual screens, a marketer working through an MCP-enabled assistant could express an objective such as:
“Create a journey for our credit card retention audience that sends an SMS reminder and uses account renewal as the goal.”
The AI client can use the SAS Customer Intelligence 360 tools exposed through MCP to help construct the necessary SAS Customer Intelligence 360 objects. The exact requests still need to satisfy the schemas and lifecycle rules exposed by SAS Customer Intelligence 360.
Create Marketing Tasks
The MCP server also exposes task capabilities within the context of the scheduled journey.
Supported task types currently include bulk email, SMS, custom bulk, Facebook advertising, Google Ads, Google Display & Video 360, LinkedIn advertising, Snapchat advertising, and mobile push.
Tasks can be created, retrieved, searched, updated, copied, deleted, and moved to a ready state.
Work with SAS 360 Audiences
The current SAS Customer Intelligence 360 MCP supports searching and retrieving audiences, getting audience counts, copying audiences, creating API- and database-sourced audiences, uploading CSV audience data, running or refreshing audiences, and deleting audiences.
To see all the capabilities exposed by MCP, please read the Customer Intelligence 360 user guide.
Example Use Cases:
With MCP, here are some examples of things you can do once you have Customer Intelligence 360’s MCP integrated into your client (Claude, VSCode, etc):
Build a Journey:
"Create a journey for customers whose credit cards expire in the next 60 days. Send an SMS reminder, wait 7 days, and use account renewal as the conversion goal."
"Add an SMS task to my Welcome Journey that sends the customer a reminder 24 hours after enrollment."
“Create an SMS creative for our loyalty renewal reminder and use it in the Renewal Journey.”
"Use my 'High Value At-Risk Customers' audience to create a re-engagement journey with an email followed by an SMS three days later for anyone who doesn't respond."
"We're launching a new premium checking product. Target high-value checking customers who don't already own it, create a three-touch journey using email, SMS, and mobile push, and use account opening as the goal."
Create an Audience:
“Create an audience of customers in Cary that have spent more than $100 this year”
“Find the audience we used for last month's premium-card campaign, copy it, and modify the new version to include only customers with a balance over $25,000”
"Add Last Name, First Name and Email Address to the High Value Audience"
Operations
“List all of the journeys that are running this week”
“How many customers are in my High Value At-Risk Audience?”
"Show me the recent occurrences of the Credit Card Retention journey and tell me whether it ran as expected."
... View more