Strengthen your programming skills with tips and techniques from the experts

A hands-on introduction to SAS Notebooks in SAS Viya Workbench, showing how to combine code, SQL, and Markdown for a more productive and interactive coding experience.
Strengthen your programming skills with tips and techniques from the experts
A hands-on introduction to SAS Notebooks in SAS Viya Workbench, showing how to combine code, SQL, and Markdown for a more productive and interactive coding experience.
This article shows how to use SAS to implement the ISO algorithm to generate (and validate) a Universal Loan Identifier (ULI). A ULI is a long string of numbers and letters that serves as a unique identifier that is used for certain financial transactions. The ISO standard ensures that banks
On social media, a SAS user reported that SAS could not compute the modulo of an extremely large integer. In SAS, the modulo operation is usually performed by using the MOD function, which computes the remainder of dividing an integer, N, by another integer, d. (In symbols, the remainder is
Enforce SAS code standards using SASjs and GitHub Actions to maintain secure, readable, and maintainable code. Automated linting blocks non-compliant code from merging into protected branches.
A previous article discusses the Gini-Simpson diversity index and how to compute it in SAS. Suppose you have a sample that contains R classes. (Classes are also called groups or categories.) Intuitively, the sample exhibits "high diversity" if the class sizes are approximately equal. The sample shows "low diversity" if
Mais uma vez marcaremos presença no maior evento de tecnologia e inovação do setor financeiro: o Febraban Tech! Neste ano, o congresso acontece de 10 a 12 de junho, novamente no Transamérica Expo Center, e tem como tema central “A aceleração do Setor Financeiro na Era da Inteligência”. E o
Using SAS Viya Workbench for efficient setup and execution, this beginner-friendly guide shows how Scikit-learn pipelines can streamline machine learning workflows and prevent common errors.
Accurately identifying lag structures between related time series is essential in public health forecasting, particularly during epidemics where delays between infections and hospitalizations affect planning. Using a simulated SEIR model and SAS Viya’s PROC TSSELECTLAG, distance correlation is shown to outperform Pearson correlation by correctly identifying nonlinear lag relationships—such as the true seven-day lag between new infections and hospital admissions.
An article by David Corliss in Amstat News (Corliss D. (2025) "Quantifying Diversity: Calculating the Gini-Simpson Diversity Index") discusses a new statistical measure of diversity that was adopted by the US Census Bureau. The statistic is called the Gini-Simpson diversity index. The Census Bureau has published an article about how
This guide shares the top keyboard shortcuts to boost productivity in VSCode, especially when using SAS Viya Workbench with Python or SAS notebooks. It includes built-in commands for navigating and editing notebooks, plus instructions for creating custom shortcuts tailored to your coding workflow.
SAS announces continued support and releases for SAS 9 and a new role for SAS Enterprise Guide with SAS Viya.
The Synthetic Minority Over-sampling Technique (SMOTE) was created to address class-imbalance problems in machine learning algorithms. The idea is to oversample from the rare events prior to running a machine learning classification algorithm. However, at its heart, the SMOTE algorithm (Chawla et al., 2002) is essentially a way to simulate
SAS programmers love to brag that the SAS will still run a program they wrote twenty or forty years. This is both a blessing and a curse. It's a blessing because it frees the statistical programmer from needing to revisit and rewrite code that was written long ago. It's a
Isaac Newton had many amazing scientific and mathematical accomplishments. His law of universal gravitation and his creation of calculus are at the top of the list! But in the field of numerical analysis, "Newton's Method" was a groundbreaking advancement for solving for a root of a nonlinear smooth function. The
Newton's method was in the news this week. Not the well-known linear method for finding roots, but a more complicated method for finding minima, sometimes called the method of successive parabolic approximations. Newton's parabolic method was recently improved by modern researchers who extended the method to use higher-dimensional polynomials. The
I’ve worked on many different types of systems, platforms, operating systems, and hardware over the years. For software development, one aspect that has remained fairly consistent is the use of Git. Knowing some of the basic, no-nonsense approaches of working with Git has proven extremely valuable, as these approaches tend
After giving a talk about how to create effective statistical graphics in SAS, I was asked a question: "When do you suggest using the graph template language (GTL) to build graphs?" I replied that I turn to the GTL when I cannot create the graph I want by using PROC
A common task in statistics is to model data by using a parametric probability distribution, such as the normal, lognormal, beta, or gamma distributions. There are many ways to assess how well the model fits the data, including graphical methods such as a Q-Q plot and formal statistical tests such
Every programmer makes errors. Therefore, learning to debug a program is an important part of learning to program. Another skill is learning to decipher cryptic error messages, which can be as hard to interpret as hieroglyphs. One helpful skill is learning to navigate a "traceback" error. A traceback error message
Wouldn’t it be great if we could create a Python environment with only the packages and versions we need? Enter: virtual environments.
Happy Pi Day! Every year on March 14th (written 3/14 in the US), people in the mathematical sciences celebrate "all things pi-related" because 3.14 is the three-decimal approximation to π ≈ 3.14159265358979.... The purpose of this day is to have fun, celebrate the importance of mathematics, and maybe learn a
This article provides a step-by-step guide on manually installing VS Code extensions when access to the online marketplace is restricted, including downloading .vsix files from GitHub and handling dependencies.
The first-order autoregressive (AR(1)) correlation structure is important for applications in time series modeling and for repeated measures analysis. The AR(1) model provides a simple situations where measurements (on the same subject) that are closer in time are correlated more strongly than measurements recorded far apart. The AR(1) model uses
SAS' Simon Topp walks you through how to setup SAS Container Runtime Testbench to make operating and debugging your SAS Intelligent Decisioning decisions a breeze
Many people have an intuitive feel for residuals in least square models and know that the sum of squared residuals is a goodness-of-fit measure. Generalized linear regression models use a different but related idea, called deviance residuals. What are deviance residuals, and how can you compute them? Deviance residuals (and
En el nuevo ambiente analítico bajo demanda, SAS Viya Workbench conduce directamente al aumento de la productividad, rendimiento y confianza entre los desarrolladores de la Inteligencia Artificial. Como uno de los recientes lanzamientos de SAS, Viya Workbench este es un ambiente de cómputo que fue pensado para desarrolladores y modeladores
Fitting a Support Vector Machine (SVM) Model - Learn how to fit a support vector machine model and use your model to score new data In Part 6, Part 7, Part 9, Part 10, and Part 11 of this series, we fit a logistic regression, decision tree, random forest, gradient
A previous article describes how to use SAS to find the inflection points of a 1-D function that you can evaluate at any point. The function must be given by a formula (or by an algorithm) because the root-finding algorithm needs to evaluate the function at arbitrary locations. However, sometimes
A SAS programmer asked if it is possible to numerically find an inflection point for a univariate function, f(x). Yes! This can be solved as a variation of a classic numerical root-finding problem. Recall that an inflection point is a value (call it x0) in the domain where the graph
I previously wrote an article about the Lambert W function. The Lambert W function is the inverse of the function g(x) = x exp(x). This means that you can use it to find the value of x such that g(x)=c for any value of c in the range of g, which