Languages and Interfaces

Use Cases

The Use Cases page is a collection of resources pulled from various SAS media outlets. The focus of the uses cases is on how to use and integrate with SAS APIs.

Use cases are pulled from SAS blogs, SAS Community library articles, SAS conference papers and presentations, sassoftware GitHub, SAS Ask the Expert Webinars, and SAS Users YouTube, among other SAS resources.

Use the filters in the left navigation pane to refine the use case list. You can filter by categories and languages and interfaces. Selecting multiple options creates an ‘or’ filter, i.e., selecting Modeling and Python will return all use cases marked as Modeling OR Python.

Use Case Image

How to use Python to send commands and controls to the SAS Viya server.

  • Python integration with SAS
  • Using SWAT
  • Create a predictive model

How to make predictions using a combination of Python and CAS using SWAT.

  • Load and analyze data
  • Create new features
  • Build and scrore models in CAS

Learn about the official SAS Extension for Microsoft Visual Studio Code.

  • makes it more convenient to use VS Code for programming in the SAS language
  • provides SAS language features, including SAS syntax highlighting, color themes, code completion, pop-up syntax help, snippets and the ability to run your SAS code
  • efficiently develop SAS programs in VS Code

How to load, append, and save a table using the SAS Viya Visualization and Core Services REST APIs.

  • Create CASlib
  • Upload data
  • Append table

Learn how to use REST APIs to develop a comprehensive SAS process.

  • extracts the tables from the DBMS
  • loads them as CAS tables
  • demonstrates the ability to integrate SAS® Viya with SAS® 9.4

Learn how an application can call the SAS Viya promotion APIs to move contents across an environment and promote it to a higher environment.

  • use RESTful API to export and import contents
  • export and then download content from SAS Viya
  • upload and then import content to SAS Viya

Learn how to choose the format that works best for your recipient and explore what you can do with Jupyter notebook cells and markdown functionality.

  • Getting started with Jupyter Notebook
  • All about Jupyter notebook cells and markdown functionality to enhance text, and more
  • How to produce a shareable output of a Jupyter Notebook: PDF, HTML, .sas, etc

Learn about a repository of code files that compile multiple use cases, available in various coding languages that work with SAS.

  • introduces developers to the SAS REST API end-to-end use cases repository on sassoftware GitHub
  • Code written in Python, R, and Postman collections
  • Authentication code is included for each language.

Learn how web services can be consumed in SAS.

  • Explore PROC HTTP
  • Generate parameters from existing SAS data
  • Process web service output and read it into SAS

How to use a simple application to interact with SAS Viya using REST APIs.

  • Create the application
  • Create new report if it doesn’t exist
  • Generate and execute code

See how the playbook uses standard Python modules to connect to the SAS Viya REST APIs and is designed with easy to read variable declarations and helper functions.

  • Process and prepare data set from a CAS library.
  • Run a SAS DATA step to add an indicator variable by calling the RunCode action
  • Aggregate the data set

How to use CAS to surface data and analytical model results to a WebApp through REST API connectivity.

  • integrate a scoring model into a custom web application written entirely in Python
  • create a web application to capture data
  • surface data for real-time decision making

Learn about CRUD operations for compute contexts from the SAS Viya CLI.

  • What are compute context attributes?
  • Programmatically create or update a compute context with the desired attributes
  • Delete compute context attribute

How to automate Machine Learning pipelines using pre-defined pipelines and custom steps.

  • Retrieve a list of available pipeline templates
  • Create automation projects for different data segments and check status
  • Get the results from an automation project

XML code examples that use SAS Event Stream Processing (ESP) to process real-time streaming data

  • Project code is written to run in SAS Event Stream Processing Studio
  • Examples are accompanied with documentation in the SAS Help Center
  • Repository is segmented by level of complexity

Learn how the SASjs framework enables code consistency across teams and projects, de-risks the use of shared tools and dependencies, and facilitates continuous deployment to SAS environments.

  • create (scaffold) a SASjs project and add parts
  • deploy the jobs to SAS, and run them as part of a flow
  • easy authentication to SAS Viya

Learn about the matplotlib library and how it integrates with SWAT.

  • SWAT utilizes matplotlib entirely in the background, allowing a user to visualize CAS data with a single line of code
  • Install SWAT and impot matplotlib
  • Examples of creating various plots

Learn about creating a group using the SAS Viya CLI.

  • Authenticate to SAS Viya and create a connection
  • Create custom user group
  • Add permissions

Learn a programmatic way to call a SAS Visual Analytics report to determine how long it takes the report to render using the reportImages service, available via the SAS Viya REST API.

  • retrieve the server-side render time of a SAS Visual Analytics report
  • Macro code demonstrates how to test a suite of reports for comprehensive A/B comparisons
  • determinate the best performance techniques to meet specific reporting needs

Lua HTTP Request Examples

Use the sendHttp build-in function to query sensor data

  • How to format a request
  • Bearer token and SOAP examples
  • Simple and efficient way to start collecting and processing data

Focus on the integrated process of model managment and analytics deployment.

  • Import an Analytics Store (ASTORE) from models built in SAS Model Studio, SAS Studio, or Jupyter Notebook into SAS Model Manager
  • Deploy ASTORE from SAS Model Manager in SAS Event Stream Processing Studio
  • Focus on the integrated process of model management and analytics deployment

How to use the REST API and Command-Line Interface (CLI) with SAS Viya to accomplish business tasks with typical scenarios.

  • create or edit Visual Analytics (VA) reports programmatically
  • localize a VA report based on the standard report
  • customize the email content before distributing the reports in batch

How to get started with the REST APIs in SAS Viya.

  • Authentication and authorization
  • How to construct an API call
  • Make the API call and process the results

Example of a custom function which can be used to split an incoming string by a user defined delimiter

  • Provides a split string funciton not available in Lua
  • Example is ESP is provided
  • Creating and using modules

Learn about several advanced features of SAS Event Stream Processing (ESP) including stateless joins, tagged tokens, and using the No-regenerates option

  • Prevent an Aggregate window from becoming unbounded in growth by keeping the number of values it retains finite
  • Create a stateless join to not retain events and greatly improve performance
  • Prevent a Join window from re-generating values on the fact side when the dimension side of the join is updated

See how SAS Viya can be used to fulfill reporting and data manipulation requirements of a larger solution.

  • define the fundamentals of an ALP system
  • explore SAS Viya’s various mechanisms for integration with third party software packages
  • embed SAS into larger applications and spread advanced analytics capability

How to “git” your SAS code projects into Git for version control and collaboration.

  • Adding your SAS project to Git (command line)
  • Using SAS Enterprise Guide and SAS Studio with Git
  • Connecting SAS to your Git accounts and using GIT functions in SAS programming

How to connect SAS and Python in a few lines of code using Jupyter Notebooks.

  • Demo of how SAS and Python connect using Jupyter Notebooks
  • Why combine SAS and Python?
  • Build a map of the U.S. spread of COVID-19 using SAS and Python

Use the Functional window in SAS Event Stream Processing (ESP) to parse and create event loops over JSON objects.

  • Learn Functional window basics
  • Parse and process JSON objects
  • Use the "Function Context" and "Event Generation" options

Learn how SAS Viya REST APIs and workflow tools help to facilitate the model management life cycle.

  • introduction to SAS modeling REST APIs
  • step through the entire modeling lifecycle using APIs
  • automate the modeling lifecycle

See how to expand the delivery options for data visualizations for reports in SAS Visual Analytics.

  • Provide HTML elements allowing navigation of your SAS Viya content from within custom web pages
  • Companion content for purpose-built reports to provide ways to deliver information
  • Expand the delivery options for data visualizations

Learn about a selection of applications built over these core capabilities, each of which help you obtain answers to questions that motivate you as a business users of AI.

  • receive recommendations, gain insight, and make decisions
  • expand your understanding of the applicability of text analytics capabilities
  • Text analytics packaged within easily deployable and accessible applications

Learn about Viya_Manager, an interface to simplify the administration and management of SAS Viya environments on the Cloud

  • Creates a hub to administer deployments of separate SAS Viya environments across different Cloud providers
  • Automates the entire deployment cycle by leveraging various deployment tools
  • Helps manage installation, infrastructure, and credentials

This project covers the reference architectures for SAS Event Stream Processing (ESP), including the best practices based on project requirements.

  • Explore different reference architectures of ESP
  • Understand and evaluate which architectures is the best fit for your use-case
  • Use a flowchart to helps determinine the right ESP reference architecture that fulfils the business needs

Learn how tokens can be revoked and the implications for any custom clients of SAS Logon Manager.

  • Define token types from SAS Logon
  • SAS Viya CLI Auto-Refresh
  • Revoke tokens

Use the Python SWAT package on SAS Viya

  • Explore and prepare data
  • Visualize and model the data
  • Drop tables, delete source files, and terminate the CAS connection

Utilize the the SAS Event Stream Processing (ESP) Transpose window in ESP Studio.

  • Use the Transpose Window to transpose table data
  • Transpose data from long to wide configuration
  • Transpose data from wide to long configuration

Use the SAS Event Stream Processing (ESP) StateDB windows StateDB Reader and StateDB Writer to integrate with Singelstore and Redis in-memory databases.

  • Understand SAS Event Stream Processing in Kubernetes
  • Introduction to ESP StateDB Windows
  • Understand when to use external in-memory databases with ESP

See how smart meter challenges can be addressed by combining the Deep Learning action set in SAS Visual Data Mining and Machine Learning with the SAS deep learning Python API package, DLPy, and Keras.

  • provide a consistent approach both to creating as well as managing and deploying models
  • use ONNX for scoring machine learning models
  • use SAS and open-source tools together

Learn about the command-line interface (CLI) in SAS Viya, that can be used to automate several administration tasks.

  • How to install the SAS Viya CLI
  • How to configure the CLI to communicate with your SAS Viya environment
  • How to use the Identities plugin to create a group of users

View code snippets for the Transformation windows of SAS Event Stream Processing (ESP).

  • includes examples for Aggegate, Compute, Copy, Filter, etc., transform windows
  • A directory for each example contains everything you need for execution
  • A ocument for each code snippet provides instructions unique to the example

See ho restAF provides a simple programming model to access SAS Viya using REST APIs.

  • provides a small set of promise-based methods to make the API calls
  • simplifies response information for use in the application
  • manages the application data that can be accessed anywhere in your application

Learn about the setup required to configure SASPy to access SAS Viya from a Jupyter notebook.

  • Use Python client to write code for SAS Viya
  • Return data in Pandas dataframes
  • Install SASPy from sassoftware GitHub

Learn about regions with CNN (R-CNN), used for object detection, and its successors, Fast R-CNN and Faster R-CNN, examples of the application of CNN, and a schematic explanation of processing flows.

  • helpful to those wishing to learn more about CNN
  • object detection using SAS Viya
  • view the program code of Faster R-CNN using SAS Viya

Create four smaller images or patches out of one larger image using a Lua window and a Calculate window.

  • Creating and debugging Lua functions directly in SAS ESP
  • Use the calculate window to select the imageProcessing algorithm and the crops function
  • View the results in ESP

Learn how to generate, build and deploy a React app using the SASjs CLI.

  • bridge the gap between SAS and modern web applications
  • manage connection and communication with SAS servers
  • create, build and deploy web apps onto SAS servers

Learn how to integrate the streaming analytics available with SAS Event Stream Processing (ESP) with Microsoft's Power Automate flows.

  • Use MS Azure EventHubs to connect the two computing environments
  • Connect using the Kafka adapter using Azure's built-in broker or the native EventHubs connector
  • Monitor a sensor and send above-threshold events to generate a maintenance request

Learn about using the SAS Viya Command Line Interface to deploy decisions or rule sets from a Git repository to SAS Viya,

  • Deploy from Git
  • Make accessible the Git files to the SAS Viya CLI
  • Deploy to MAS

A functional description with some examples on how to call REST APIs with the REST Subscriber Adapter in SAS Event Stream Processing (ESP).

  • Use the REST Adapter Susbscriber to make API calls
  • Use the examples as a compliment to SAS documentation
  • Use SAS Intelligent Decisioning modeling APIs

Learn how to create and deploy a SAS Event Stream Processing (ESP) high availability (HA) system using Kafka and SAS Viya.

  • Learn the basics of the Kafka message bus
  • Learn how to deploy an ESP project in failover mode
  • How an end to end example

Learn how to integrate ONNX Runtime with SAS Event Stream Processing (ESP) on a Tiny YOLOv2 model, a real-time object detection network.

  • Integrate ONNX Runtime with SAS Event Stream Processing
  • Leverages an Intel CPU with a CUDA TensorRT CPUb
  • Sample UI developed with SAS ESP Connect API

How to translate the examples from your API documentation to their equivalent in SAS.

  • Test your API with cURL
  • Send data to an API
  • Processing JSON responses with the JSON engine

Streaming Fraud and Anit-Money Laundering In this tutorial, learn about pattern matching, temporal sliding windows and data aggregation for simple AML / fraud alerts on transactions in a banking use case.

  • Simple example set up to scale to larger, faster use cases
  • Identify fraud using simple data comparison and analysis with rules
  • Take advantage of the SMTP notifications then use a third-party service

Expand the capabilities of your Lua windows through the use of modules in SAS Event Stream Processing (ESP)

  • A module is a library, loaded using the require statement and containing functions and variables
  • Create classes of functions that provide a behavior
  • Use a module to move procedural functions or the main code out for re-use or code clarity

This project address four different data quality issues and how to identify them using CAS actions in SAS Viya.

  • Covers data completeness, uniqueness, consistency, and accuracy
  • Identify quality issues using CAS actions in Viya
  • Examples provided are written Python

SAS ESP Analytics Windows Code Snippets

View code snippets for the Analytics windows of SAS Event Stream Processing (ESP).

  • Includes examples for Calculate, Train, and Score windows
  • A directory for each example contains everything you need for execution
  • A document for each code snippet provides instructions unique to the example

Learn how to train a neural network model with SAS Event Stream Processing (ESP) by capturing bird images.

  • Train a neural network model using SAS VDMML to identify birds
  • Have SAS ESP process and score images
  • Have SAS ESP email us with the bird's picture and predicted species

SAS Event Stream Processing Lua Window Basics

New window in SAS Event Stream Processing (ESP) allowing developers to process events using Lua language scripting.

  • Integrate the powerful analytical Lua scripting language in SAS ESP
  • Supports use cases requiring complex transformations using custom functions
  • Specify the Lua function entry point in the ESP process

Explore the SAS and Python interface and learn about integrating with a machine learning flow.

  • Open source package that allows Python users to easily communicate with the SAS Viya platform
  • Mlflow is an open source MLOps platform, for managing modeling assets
  • Leverage sasctl to generate model metadata and register the model

Learn about integrating SAS Visual Analytics content in the SAS portal in Viya.

  • Which editor should you use to write my HTML/JavaScript code?
  • How do you test your code?
  • Do you really need a web server?

How to use Python and SAS Viya REST APIs to extract a report and import it into another environment.

  • Learn about Continuous Integration/Continuous Delivery
  • Learn about ModelOps and AnalyticOps
  • Apply principals to SAS reports

How to update a lookup table using SAS Viya APIs and Proc HTTP.

  • Find the lookup table URI and post a new version
  • Add lookup table entries to the new version
  • Activate the new version

View code snippets for use in the Utilities window of SAS Event Stream Processing (ESP).

  • Includes examples for Pattern and Geofence windows
  • A directory for each example contains everything you need for execution
  • A document for each code snippet provides instructions unique to the example

Setup the Prometheus monitoring tool for Kubernetes and use the integration with Grafana to query, visualize, alert on, and explore metrics.

  • Kubernetes overview
  • What to monitor; how to monitor
  • SAS Event Stream Processing and Prometheus

Learn how to process messages from an Azure IoT Hub with a SAS Event Stream Processing (ESP) project.

  • Configure a simulated IoT Device to send sensor data to an IoT Hub
  • Configure the IoT Hub to expose the message stream via an event hub endpoint
  • Connect a SAS Event Stream Processing project to process the messages

How to manage the transfer packages created and saved in the Infrastructure Data Server during the import and export of SAS Viya content.

  • Export and download transfer package
  • Upload and import the transfer package
  • Name and view contents of the tranfer package

The complete guide to SAS Event Stream Processing (ESP) with Kubernetes provides all the necessary information and guidelines with commands to set up your own Kubernetes cluster and its peripherals.

  • Introduction to container and Kubernetes architecture
  • Kubernetes cluster environment setup
  • End-to-end ESP Kubernetes (ESP-Kube) architecture

Learn how to access a SAS Viya deployment CAS server from outside its namespace.

  • Set the CAS server for external access
  • Ability to process binary and HTTP requests
  • Access your Viya deployment CAS server(s) from outside

Provides an index of Getting Started with Python integration to SAS Viya.

  • Eight-part series of articles
  • Python integration
  • CAS Actions

Learn how to use the SAS Viya CLI to create Git publishing destinations.

  • Create the Git publishing destination
  • Publish models and decisions to Git
  • From the Git repository, deploy published models or decisions to CAS or MAS

Enhancing Sensor Data with a Device Table

Import metadata from a device table and then use this information to enhance the incoming sensor events in SAS Event Stream Processing (ESP)

  • Use Lua window to read devices table and store values by key in memory
  • Read device events from data source and join events by key
  • Filter on events which match device table entriest

Learn how to the store a SAS ESP data stream in a SQLite table using the SAS Micro Analytic Service (MAS).

  • Store data in a SQLite table using Python and MAS
  • MAS modules are embedded in an ESP project using the and XML tags
  • Use the Output statment to configure the how the main function returns variables and values

Learn how to collect live accelerometer data from a mobile device and pass it to ESP using an MQTT protocols with SAS IoT analytics

  • Compare new observations against baseline data and any deviation will be considered an anomaly
  • Compare new observations against baseline data and any deviation will be considered an anomaly
  • Provides ability for machines to self-train their own unique anomaly detection models

Demographic Image Analysis

Learn how to train and build a computer vision model for demographic detection using SAS IoT analytics.

  • Cover basics of Computer Vision (CV)
  • Train CV models using the SAS Deep Learning Python (DLPY) package
  • Operationalize our models using streaming analytics

Learn how to stream data from an Azure event hub into a SAS Event Stream Processing (ESP) model using the Azure EventHub Connector.

  • Configure an Azure Logic application to query a service
  • Format response data and send it to an Azure Event Hub
  • Create an ESP project to receive events from the Event Hub using the ESP Azure Event Hub Connector

Stream data from an Azure event hub into a SAS Event Stream Processing (ESP) model.

  • Use the ESP Kafka connector to connect to an event hub
  • Use a function window to transpose a JSON message into ESP events
  • Return write data back to the event hub

Event Retention and Calculating Throughput

Retain events and calculate the event throughput rate using SAS Event Stream Processing (ESP).

  • Configure event retention on time and volume
  • Calculate throughput based on a function
  • Use a Copy window to retain events

The project provides details on the Analytics for IoT reference architecture.

  • Introduce the components of Analytics for IoT
  • Demo video covering scalable results from IoT data
  • Key features of SAS Analytics for IoT

Learn how the R SWAT packate allows R users to use SAS Analytics without a full dive into the SAS programming language,

  • Learn how the SWAT package and how it enables open source integration with Viya
  • Learn how to submit CAS actions using R to run in-memory analytics
  • Explore general integration aspects of tasks and downloading results to the client using R functionality

How to use the SAS Viya CLI to create model publishing destinations.

  • Create a base64 Credentials Domain
  • Download the SAS Viya CLI directly from the SAS Support website
  • Create an Azure publishing destination

How to define a Git publishing destination in SAS Viya.

  • Detailed steps to creating the publishing destination on Git
  • Required components to creating the publishing destination on Git
  • Choose to code in CAS or MAS

SAS Visual Studio Code Extension

Learn how you can use this new editor to optimize coding workflow

  • How the integration can help in your everyday work
  • Connect to SAS Viya or SAS 9 from the extension and run code
  • SAS syntax highlighting and help, code completion, and code snippets

How to access Cloud Analytics Services (CAS) actions using the Python SWAT package inside SAS Studio.

  • Exploit the seamless interoperability between Python and CAS runtimes
  • Use automation and environment variables available within a SAS Studio session to connect
  • Automate connection using AutoExec

Explore various ways of working with dates and times in SAS Event Stream Processing (ESP).

  • Ways to publish data containing dates and times to ESP
  • How ESP handles dates and times internally
  • Best practices and considerations when working with dates and times

Scoring using Models Deployed into CAS over REST API: A Step-by-Step Guide

Deploy and score models using SAS Cloud Analytic Services (CAS) for batch via REST APIs.

  • Create a CAS destination and publish a model
  • Authenticate and start a session
  • Load and score data

How to modify a landing page to display links to other applications and display some KPI's.

  • Create the shortcuts and landing page components
  • Build the JSON configuration file
  • Update the JavaScript application file

Learn how to build a model for real-time detection of malfunctioning light groupings using SAS IoT analytics.

  • Design streaming model for real-time failure detection
  • Use subspace tracking algorithm to detect anomalies
  • Best practices for subspace tracking algorithm

Learn about SAS Intelligent Decisioning and how it integrates with Git.

  • Integraion advantages
  • Integration steps
  • What Can You Publish to Git?

Learn how to use the SAS Job Execution Web App and APIs to build an application.

  • Define CORS and CSRF
  • Scripting configuration of CORS and CSRF
  • Bonus: Configure cross-site cookies

Learn how to create and deploy a SAS Event Stream Processing (ESP) high availability system using Kafka as the message broker.

  • Examine high availability concepts and the basics of the Kafka message bus
  • Deploy ESP in failover models
  • Walk through an end to end example

Incorporate splitters into your SAS Event Stream Processing (ESP) projects.

  • Learn how to split ESP streams
  • Split to add logic to individual streams
  • Split to increase performance

Learn how to quickly iterate through the data science life cycle from modeling, to evaluation, to deployment using SAS Viya APIs.

  • Learn how SAS provides scalable batch and real-time data science environments
  • Embed data science into applications with SAS APIs
  • Deliver applications from data science development to operation in an agile way

Learn how to build an anomaly detection model and deploy it for real-time monitoring of malfunctioning Air Handling Units (AHUs) using SAS IoT analytics.

  • Build an anomaly detection model using Support Vector Data Description (SVDD) algorithm
  • Deploy an offline model for real-time failure detection
  • Score the model and interpret the results

SAS Viya Workbench

Lightweight, standalone development environment built for the creation of high-performance models in your preferred language: SAS, Python or R

  • Learn about the on-demand computing flexibility
  • Watch SAS Viya analytics run in harmony with SAS®9 procedures
  • See the newest Python API for SAS analytics inspired by scikit-learn

An image classification example that uses a Rubik's Cube to demonstrate how to apply the the technique in manufacturing quality using SAS IoT analytics.

  • Use SAS Analytics for IoT to train and build an image classification model
  • Train CV models using the SAS Deep Learning Python (DLPY) package
  • Operationalize models using streaming analytics and ESPPy

Identify objects (i.e., people) who are following social distancing guidelines and those who are not using SAS IoT analytics.

  • Use Tiny Yolo V2 model to detect people in images
  • Calculate the distances between all objects
  • Determine whether we have crowds in our image

Utilize the Database Connector with DataDirect Drivers in SAS Event Stream Processing (ESP) to read and write data to relational databases.

  • Use database connector with DataDirect drivers
  • Configure the connector using the configuration file e.g. odbc.ini
  • Understand the configuration file “odbc.ini” and parameter considerations

Stream live weather data into any SAS Event Stream Processing (ESP) model.

  • Capture live weather data using REST APIs
  • Use ESP's URL connector to publish data into a model
  • Read and transform JSON messages into events readable by ESP

How to build similar SAS 9 functionalities in the Viya world.

  • Understadning SAS Information Delivery Portal
  • Understanding SAS Drive
  • Building a Portal in SAS Viya

Explore various types of SAS Event Stream Processing (ESP) windows and their functions using the Zambretti alorithm for weather forecasting.

  • Use the ESP Expression Language to perform calculations
  • Filter outliers using Filter windows
  • Detect trends using Pattern windows

Learn how to build an interactive web page which uses data stored in CAS and the application will be developed in Python using the Dash and SWAT packages

  • Use Dash to build the layout of the web application
  • Load data into CAS and execute CAS actions to manipulate data on the CAS server
  • Query large tables stored into CAS and display the results using your preferred language

Learn how to programatically list SAS Visual Analytics report paths and filter columns.

  • Visualize lineage within SAS Visual Analytics
  • Use the REST API to collect report information and content
  • Add filters to the API call

A guided use case on how starting with raw data, you can use Viya and open source together to create and deploy models.

  • Use open source languages and packages to enable development and deployment of models
  • Explore key integration points between Viya and open source
  • Learn how open source developers can take advantage of the CAS in-memory engine of Viya to speed model development against large data

Learn how to aggregate stock transactions using SAS Event Stream Processing (ESP).

  • Aggregate values, execute an XML model, and subscribe with a file/socket adapter
  • Model description, editing, executing, and subscribing
  • View, edit, and test model

Explore how Event Stream Processing (ESP) Routers work, along with examples easily extended to more complex use cases.

  • Learn the basics about ESP routers
  • Use ESP routers for streaming applications into modules
  • Learn how to scale applications to add/remove modules, while limiting interruptions

The project provides details on developing and refining reference architecture(s) for SAS integration with Azure IoT, as well as the full set of Azure cloud services.

  • Introduce architects to the component Azure services
  • Understand common integration patterns
  • Authentication considerations

Use SAS DLPy to train and validate a SAS Viya deep learning image denoising model

  • Uses the concept of pixel-wise CNN segmentation regression to remove noise from images
  • The CNN architecture consists of an encoder-decoder framework along with a pixel-wise regression layer
  • The trained model cleanses and restores noisy images to prepare them for further analytic consumption

In tTracking the International Space Station (ISS) using a Geofences ESP example

  • Learn the basics of a geofence
  • Create required source windows: source, geoCircle, filter, and pattern
  • Create and use GEO maps using ESP Streamviewer

Learn how to process streaming trade data using SAS Event Stream Processing (ESP).

  • View and edit a model using a text editor and SAS ESP Studio
  • Execute the model using the SAS ESP XML Server
  • Subscribe to the output using SAS ESP Streamviewer

Learn the different ways SAS® Viya® integrates with open source.

  • Use Python or R in the analytical flow of pipelines
  • Use Python or R through the SWAT package
  • Access SAS using your existing SAS and open source programming skills

Learn about executing a SAS decision published from SAS Intelligent Decisioning to the Micro Analytic Service with shell commands.

  • Code samples for scoring a SAS Decision Published to MAS
  • Identify the model to score using the microanalyticScore API
  • Authenticate to SAS Viya details

Learn how to interact with SAS Viya REST APIs to create and access SAS resources using any client technology.

  • SAS Viya API overview
  • Calling CAS Actions via REST APIs
  • Use case demo to load table, generate stats, and generate and retrieve a report image

Part 3 of series on MS Power App - integrate a Power Automate Flow in a Power App and demonstrate how SAS Viya REST endpoints can be consumed in applications

  • Create the Power App
  • Connect the app to data sources
  • Add the Power Automate flow

How to Create Your Custom LangChain Agent for SAS Viya

Custom SAS Viya agent in LangChain demonstrates the potential of using LLMs and specific tools to create intelligent, interactive agents

  • Create such a smart agent
  • Handle detailed operations on SAS tables and respond to user questions based on those operations
  • LangChain matches the user's intent with the custom tool

Learn about the new program within the pyviyatools repository:

  • A Python script designed to retrieve and analyze activity records from the SAS Viya environment
  • The auditing framework gains a higher-level perspective to make auditing more intuitive and understandable
  • The program supports multiple output formats, including CSV (default), JSON, and Pandas DataFrames

Learn how to make use of SAS decisions published as container images in Azure.

  • Benefits of SAS Container Runtime
  • Create a container instance in Azure, from a SCR container image
  • Ccore the decision using a simple command to call the SCR REST API with curl, python, SAS, etc.

Learn how to create images of all the graphs in a Visual Analytics report and archive them into a zip file

  • Create the image files and package them up
  • Add all generated svg files to the archive
  • Copy the zip archive to the SAS Viya files service

Learn how to add a chatbot to a custom portal.

  • What is SAS Conversation Designer?
  • How to add a chatbot to the portal page
  • Identify botURI location

Deploy SAS Tiny YoloV2 models on OpenVINO

Learn how to convert and score SAS Tiny YoloV2 computer vision models leveraging the Intel OpenVINO framework and ONNX format using SAS IoT Analytics.

  • Convert and score SAS Tiny YoloV2 computer vision models
  • Leverage the Intel OpenVINO framework and ONNX format
  • Functional difference between ONNX format and native SAS ASTORE

Learn how SAS Viya integrates with open source.

  • Access SAS using your existing skills, like SAS, open source or other programming skills
  • Use Python or R in the analytical flow of pipelines or using the SWAT package
  • Use the Python Editor within SAS Studio

Explore what can be done with the custom client application of SAS Logon Manager

  • Authentication and authorization with a custom client
  • Custom applications and the credentials microservice
  • Example custom client - using job execution service, accessing CAS, and running SAS code

Steps to fully integrate Python into a SAS Viya deployment

  • Configure persistent storage for ASTORES
  • Configure SAS Viya to connect to Python
  • Configure CAS for external languages

Learn how to call CAS actions via REST using the CAS REST APIs.

  • Explore/navigate CAS action sets and actions documentation
  • Use CAS action APIs with SAS Viya APIs
  • String multiple CAS actions together, creating end-to-end use cases

Learn about integrating MS Power Apps and SAS decisions published to Azure with SAS Container Runtime.

  • Deploy the SCR image to an Azure Web Application
  • Learn how to use the SCR REST API
  • Create and publish the application

Learn about the fundamentals of the SAS Viya platform and CAS, then dive into CASL, the scripting language designed to support the entire analytics life cycle

  • Explain CASL and its components
  • Use CAS actions to submit requests to the CAS server and work with the results
  • Develop analytic pipelines using CASL

Make a connection from SAS 9.4 to SAS Viya using an access token.

  • Defining a custom application in SAS Viya
  • Generate and access token
  • Access SAS Viya services from SAS 9.4

Learn the fundamentals of the SAS Viya platform and CAS, then dive into CASL, the scripting language designed to support the entire analytics life cycle.

  • Explain CASL and its components
  • Use CAS actions to submit requests to the CAS server and work with the results
  • Develop analytic pipelines using CASL

Part 2 of series on MS Power App - learn how to consume that data through a connector in a Power Automate Flow

  • Create the Power Automate Flow
  • Add custom connector
  • Run the flow and parse the response

Learn how SAS Viya integrates with open source technologies by improving interoperability and utility.

  • The open source languages that are supported and why
  • How SAS Viya integrates with open source
  • The benefits of using SAS Viya with open source technology

Learn how to monitor degradation of wind turbines in real-time using SAS IoT analytics.

  • Design streaming model for real-time failure detection
  • Use subspace tracking algorithm to detect anomalies
  • Best practices for subspace tracking algorithm

Learn how SAS provides a collaborative environment for open source developers that fosters productivity and streamlines workflows.

  • The available SAS Python packages, their key features and when to use them
  • How to work with the packages
  • How to get started on your SAS Python journey

Learn how SAS products integrate with Git.

  • Learn how to add source control, code collaboration, and continuous integration and deployment to your SAS processes
  • See examples of how SAS experts share their content on GitHub
  • Extensive webinar Q&A

How to create and execute a pricing plan for given products using SAS Retail.

  • Create the pricing plan
  • Execute the pricing plan
  • Extract data from the pricing plan

How to retrieve the KPI information and shortcuts from an API using NodeJS with Express and MongoDB.

  • Build the project infrastructure
  • Build the code
  • Adapt the portal frontend

Learn how to process, analyze and visualize data using Python in SAS Viya.

  • How to access data in Viya using Python and the SWAT package
  • How to process and analyze data using the Pandas API in the SWAT package
  • How to visualize data in Viya using Python

Deploy and score a model using SAS Micro Analytic Service (MAS) via REST APIs.

  • Deploy mode into MAS
  • Gather model information
  • Load and score data

Learn about the SAS built-in tools used to convert JSON to SAS data for analytics

  • Learn how to use the JSON libname engine to read JSON into SAS data sets
  • Learn how to use JSON maps to control how SAS reads and interprets the raw JSON data
  • Learn how to use PROC JSON to create JSON output in SAS

Learn about the APIs that call machine learning models in SAS® Viya®.

  • Make machine learning models available to APIs and how to call those APIs
  • Learn how to call SAS programs using a REST API and make them available to external processes
  • Review APIs for retraining machine learning models and system automation in SAS Viya

Ways to use PROC HTTP as a web client to download data or use REST APIs

  • Post data to the web via form
  • How to process API results of any type in SAS: JSON, ZIP files and more
  • Test APIs outside of SAS and debug your SAS programs that use APIs

Learn about the SAS extension for Microsoft Visual Studio Code.

  • Available on the VS Code Marketplace and sassoftware GitHub
  • Write SAS code in VS Code
  • Run SAS code from VS Code

Learn how to display a PDF in a SAS Visual Analytics report.

  • Upload PDF file
  • Find the PDF by URI
  • Embed the file in the report

Learn how to upload files and the folder structure into the SAS Content Server.

  • Use the sasctl package load 10K+ files and folders structure in just a few lines of code
  • Understand how to interact with SAS Viya REST APIs
  • Reduces the time needed to develop a solution as many of the SAS Viya REST APIs endpoints are implemented

Learn how to leverage Python-sasctl to generate metadata and executable scoring model

  • Supports automatic score code and metadata generation for many popular Python frameworks
  • Register the model into SAS Model Manager, where it can be compared, tested, monitored, and deployed
  • Use the import model function to write score code, zip the model files together, and deliver it into Model Manager

Unravel the symbiotic relationship between SAS Viya and Python's versatility through the Scripting Wrapper for Analytics Transfer (SWAT).

  • Navigate the fundamentals
  • Seamlessly integrate these robust technologies
  • Unleash a new dimension of analytical possibilities

Follow the complete model lifecycle using SAS Python SWAT

  • Connect to CAS
  • Load, explore, and impute data
  • Execute the complete model lifecycle: split data, train, score, assess, champion

How to authenticate against the SAS Logon Manager using the "Authorization code flow" mechanism.

  • Choosing "Authorization code flow" - a more secure approach
  • Preparing your web app that accesses SAS REST APIs
  • Basic steps to create your ReactJS application

Learn about Python Zip Model Management (pzmm), a sasctl module created and maintained on GitHub by SAS Model Manager R&D.

  • Writes JSON files to read in the model information
  • Writes the * model file used for model scoring and serializes a trained model into a binary pickle file
  • Serializes a trained model into a binary pickle file

Learn how to use both SAS and Python to make RESTful API calls to retrieve data sets and parse JSON data.

  • Retrieve data from RESTful APIs using requests written in both Python and SAS
  • Use the JSON libref engine or Python JSON parsers to read and interpret complex JSON data sets
  • Read and interpret data sets that are conformant with the HL7 FHIR standard using SAS and Python

Learn how to build models in SAS Viya 4 from a Python client.

  • Import SWAT
  • Authenticate
  • Make the API call and process the results

Assess model bias, KPI and Hyperparameter integration, and support for automatic score code and metadata generation for TensorFlow Keras models.

  • Assess bias for Python models
  • Key Performance Indicator (KPI) and Hyperparameter Integration
  • TensorFlow Keras

Learn how to export any type of report data into any format.

  • Build the report
  • Build the web page
  • Generate the export file

SAS Code Generation and Execution in SAS Viya with Azure OpenAI

Create your own SAS code Generator-Executor, which uses Generative AI to interact with SAS Viya for data management tasks

  • Generate SAS code based on user prompts
  • Use SASPY to connect to a SAS Viya instance
  • Code generator, and a code executor submit and test the generated SAS code in SAS Viya

Learn about using a REST API to produce the SAS code behind a SAS Studio flow.

  • Create SAS Studio flow
  • Generate SAS code
  • Save and version the SAS code

How to create a decision flow using SAS Intelligent Decisioning that is capable of invoking an externalised public REST API using Python.

  • Develop Python code
  • Create the Python code node in SAS Intelligent Decisioning
  • Test the decision flow

Part 1 of series on how to create a Power App application that displays data retrieved from your SAS Viya environment

  • Create custom connector
  • List data loaded into the SAS Cloud Analytic Services (CAS)
  • Use API key to connect to SAS Viya

Turning Queries into Conversations with SAS Viya, Azure OpenAI and LangChain

Discuss with your data as if it were a colleague.

  • Turning Queries into Conversations
  • Data Speaks Your Language
  • Your Data Interaction Playground

Explore data management in SAS Viya using a custom LangChain agent and LLMs

  • Leverage the LangChain Python library, Azure OpenAI, and SASPY to interact with SAS libraries
  • LLM setup and tool definitions
  • Chat prompt and agent creation

Discover Your Data with SAS Information Catalog APIs from Python – Access

SAS Information Catalog allows you to discover, search, and manage your SAS Viya assets

  • Discover, search, and manage your SAS Viya assets, such as data, tables, files, SAS Visual Analytics reports, SAS models, SAS decisions, SAS Studio flows, or code files
  • Search the catalog for your assets using keywords or calculated metrics and their values
  • View the information privacy status of your assets, which is calculated by the catalog

How to update global variables programmatically using the Intelligent Decisioning API.

  • Find the global variable URI
  • GET the global variable ETag
  • Update (PUT) the global variable

Build HTML prompts for a job and display the result of the job execution on the same page

  • Use XML, JSON, or HTML to generate prompts
  • How to build cascading promts
  • Code is included to build the app

Learn how to use SAS APIs to build web applications and integrate with open source technologies.

  • Introduction to SAS APIs
  • Perform actions using SAS REST APIs
  • Invoke APIs from various languages

How to execute a SAS Model in an Azure Container instance.

  • What is SAS Container Run Time?
  • Create an Azure Container Instance from a SCR image
  • How to score the SAS model using curl

Learn how to connect to SAS Viya in order to access SAS data, services and APIs from outside SAS.

  • Oauth basics
  • Steps to authenticate and access SAS APIs
  • Connect to SAS from various open source languages and tools

Leasrn how you can score data using a model published to SAS Micro Analytics Server

  • Use models deployed to MAS to enrich the application with scored data
  • Integrate SWAT and SASCTL packages provided by SAS into your Python application
  • Create a session and execute the scoring based on the inputs stored in variables

How to Get the Code From a SAS Studio Flow Using Python

Generate SAS code, from a SAS Studio Flow, using a SAS Viya API

  • Use the SAS Viya codeGen REST API generate SAS code from a SAS Studio Flow
  • Execute the code with a Python program using shell and passing in arguments
  • Cleanse the output and obtain the SAS program from the JSON file

Learn about the Job Execution Web Application development environment.

  • Analyze and display information on the web and let web users retrieve information
  • Combine SAS and web application skills

How to navigate SAS content and display a SAS Visual Analytics report.

  • Identify and display the report
  • Plug the different components in your existing applications or create a new one
  • Organize the different objects on the screen

How to add an application bar to handle authentication from a single button in an application.

  • Refactor the application
  • Add an application bar
  • Add authentication code

How to score models from Python using the Jupyter notebook environment.

  • Publish a model from SAS Model Studio to score from Python
  • Use the published model for batch scoring from Python using the CAS Actions runModel action
  • Download an API endpoint to score the model from Python

How to extract data from a SAS Viya environment to hydrate your web application.

  • Using SAS Viya Jobs
  • Using SAS Compute Server REST APIs
  • Using SAS Micro Analytic Service (MAS)

Use the SAS JSON libname engine to read JSON data into SAS

  • Use the JSON engine to map objects to tables
  • Using PROC SQL and the ALLDATA table for summary operations
  • Use JSON map files for greater control

How to add SAS Content navigation to the SAS Portal in Viya.

  • What is the SAS Content SDK?
  • Integrating the SAS Content SDK Package
  • Use the SDK to decide which paths and objects should be rendered and what actions to take when clicked.

Become a "smart lazy programmer" (part 3).

  • Review common patterns in SAS Viya Web Applications
  • The viya-app-quickstart template for create-react-app is designed to simplify the development of applications
  • Add new applications quickly

How to call the Visual Analytics API from SAS Studio and use it to create an image of a Visual Analytics report.

  • Creating images of an entire report tab
  • Snapshotting a single report object
  • Data in the example is found on GitHub

Learn about a starter app, as described in the viyaapp GitHub repository, to setup your SAS Viya Web Application more efficiently.

  • SAS Viya server configuration and setup
  • Run the application
  • Run in Docker

Learn about using SAS and Python in decision pipelines.

  • Write the Python code
  • Add the Python code to a decision
  • Use for automatic variable mapping, multiple SAS server runtime compatibility and the ability to publish to different destinations

How to interact with SAS Viya APIs and manage models using R.

  • Install the package and basic usage
  • Register, publish and manage models using SAS Model Manager APIs and R
  • Score the model

How to add a prompt to an app to choose the output type.

  • Conditionally change what the Job's Source code returns
  • Add an additional prompt to the user interface and formatting the response
  • Use SAS, Javascript, and CSS code to build the app

How to publish models to a container using SAS Model Manager.

  • Why use containers?
  • What do you need for container publishing?
  • Three-step process to publish your model into a container

Learn the steps to score data in SAS 9.4 using a model that sits inside of MAS on SAS Viya.

  • Publish model into MAS from SAS Viya
  • Use PROC JSON to format data inputs
  • Use PROC HTTP to score JSON inputs

How to use JavaScript within a JES’s HTML input form to control job output.

  • Create the JES Job and add source code
  • Use the Viya Reports API to create an HTML prompt
  • Use JES job's SAS source code to create the ODS output

How to build a page with data from SAS Cloud Analytic Service (CAS).

  • Using reusable components
  • Creating specific components for CAS page
  • Updating the CAS.js file

An example of automation and code execution from an HTML form.

  • Define SAS Job Execution web application
  • Create a Job Execution web application
  • Attach HTML form to the Job

How to integrate SAS Visual Analytics content into custom web applications using the SAS Visual Analytics SDK.

  • What is the SAS Visual Analytics SDK?
  • How to integrate SAS Visual Analytics content?
  • How to define interactions

How to extract insights from text to build better decisions.

  • Automate text insight extraction with APIs
  • Include insights in decision flow
  • Publish decision flow to MAS

How to create simple web applications using the React JavaScript library.

  • Benefits of React
  • Configuring the Development Environment
  • Customize the app, Connect the app to SAS, Test the app

How to build a page to access data from the SAS Micro Analytic Service.

  • Using reusable components
  • Creatung specific components for the MAS page
  • Updating the Mas.js file

How to build a page with data from the SAS Compute Server.

  • Using reusable components
  • Creating specific components for Compute page
  • Updating the Compute.js file

Learn how to develop a web app that enables users to access SAS programs using REST APIs.

  • Create a REST API server to front SAS Viya programs
  • Using restaf - framework for building applications with SAS REST APIs
  • Created for use with Docker

Part 1 - How to use the JES environment to make API calls to the SAS Viya services, utilize the CAS actions sets, and run Viya procedures.

  • Use the JES environment to make API calls to the SAS Viya services
  • Utilize CAS actions sets and run Viya procedures
  • Create the JES job and HTML input page

How to use the Annotations REST API to add information beyond simple metadata to tables, columns, and other objects.

  • Create a REST API call using Postman
  • Use various Postman features for pre- and post-call processing
  • Format results for better visualization

How to make the deployment of CAS and Visual Analtyics Reports artifacts using two available CLI's simple and repeatable.

  • Using @sassoftware/registerclient to create/delete/list the clientids for 3 Oauth Flows
  • Using @sassoftware/viyacaddy for the importation of artifacts
  • Call to action to make code changes and improvements

How to make an API call to the SAS Viya REST API using Python.

  • Obtain the access token
  • Make a sample call to the Reports API
  • Interpret the JSON results

How to load pinpoints information from a CSV directly into a SAS Visual Analytics Geo Map.

  • use REST API's to access report content and update it
  • use the viyaRestPy tool to call REST APIs
  • use of "Lego" functions for specific tasks requiring calls to multiple endpoints

Configure CORS to enable your REST APIs, Data-Driven Content objects and SAS Visual Analytics SDK requests from the different domains to be successful without error.

  • What is CORS?
  • Why are you getting those errors?
  • How can you configure your SAS Viya environment to avoid those errors?

How to deploy a SAS analytical model to MAS and execute it using Python code.

  • Obtain an access token to SAS Viya
  • Retrieve input and output variables for the model
  • Run the scoring step

Become a "smart lazy programmer" (part 2).

  • Benefits of the create-react-restaf-viya-app CLI to jump start your SAS Viya Applications
  • Creating your React application
  • Start making API calls right away during development

How to configure Git as a publishing destination in SAS Model Manager.

  • Prepare a Git Repository
  • Configure Git publishing destination on SAS Viya
  • Publish model to Git

Learn about a simple web application that enables users to explore, create, deploy and score a machine learning model that can solve any classification or regression problem, by uploading a data set.

  • provides a series of endpoints for creating automated machine learning pipelines
  • enables CRUD operations on ML/AI modeling projects
  • extends SAS Viya capabilities to open-source developers for building custom applications

How to use the SAS Job Execution Web Application to have both user prompts output on the same HTML page.

  • Use HTML, CSS, and SAS to build an application
  • Leverages a selected value as a macro in the SAS code stored within the job's definition and the output is displayed
  • All code used in the example is available on GitHub

How to extract report content using SAS Viya REST APIs.

  • Integrating reports into DevOps processes
  • Use Proc HTTP to make SAS Viya REST API ca