Learn about the latest tips, tutorials, upcoming events and certifications

SAS' Leonid Batkhan presents an implementation of parallel processing by spawning multiple SAS sessions using SYSTASK statements with subsequent synchronization.

Learn about the latest tips, tutorials, upcoming events and certifications

Using SYSTASK and SAS macro loops for massively parallel processing

SAS' Leonid Batkhan presents an implementation of parallel processing by spawning multiple SAS sessions using SYSTASK statements with subsequent synchronization.

SAS and Microsoft Certifications for Data Scientists

SAS and Microsoft certifications can help with your professional and career development. And now, you can even take certification exams from the comfort of your own home.

We need your vote! SAS Support Communities are on the 2021 Khoros Kudos awards ballot

Cast your ballots for the SAS Support Communities, nominated for the Khoros Kudos Award: Best-in-Class: Community.

Rank-based scores and tied values

Many nonparametric statistical methods use the ranks of observations to compute distribution-free statistics. In SAS, two procedures that use ranks are PROC NPAR1WAY and PROC CORR. Whereas the SPEARMAN option in PROC CORR (which computes rank correlation) uses only the "raw" tied ranks, PROC NPAR1WAY uses transformations of the ranks,

Everyone can code with SAS® CodeSnaps

SAS® CodeSnaps is an easy, affordable, and engaging tool. All you need is one iPad, the free CodeSnaps app, one Sphero robot, and a problem to solve. Students work collaboratively in teams to generate the code required to move the Sphero; they build a program using the printable coding blocks, scan it with the app, and execute the program to check their logic. CodeSnaps is accessible and appropriate for all learners across all disciplines. Get creative and challenge your students to navigate an obstacle course, find members of a word family, explore the digestive system, or travel the Oregon Trail. Your imagination is your only limitation.

Reordering rows and columns in a 2x2 table with SAS® Studio Tasks

In SAS Studio, the ordering of rows and columns in the Table Analysis task are, by default, arranged by the internal ordering of the values used in the table. The table arranges the variables alphabetically or numerically by increasing value. For example, traditional coding uses 1 for Yes and 0

How to quickly find documentation for a SAS procedure

I refer to the SAS documentation every day. Usually, I want information about SAS syntax and the statistical formulas and algorithms for various options and statements. Although I have bookmarked common documentation books and chapters, sometimes it is easier to perform an internet search to find information. I've discovered a

SAS honors educators and students for excellence in analytics and data science

The demand for people with analytics and data science skills continues to outpace supply – and SAS skills are among the most prized. Through programs such as the new SAS Academic Specialization, the company is building a sustainable pool of data science and analytics talent. At the virtual SAS Global Forum 2021, the company recognized

Em sessão de demonstração, Brett Wujek mostra como o AutoML pode facilitar os negócios

Brett Wujek, Principal Product Manager do SAS, mostrou detalhadamente o cliclo analítico e como o SAS Viya ajuda a facilitar o modo como os dados podem ser tratados, oferecendo um equilíbrio natural e efetivo entre os recursos de automação e a interação humana. Wujek frisou a importância da interação humana

Implement a product function in SAS

A SAS programmer noticed that there is not a built-in function in the SAS DATA step that computes the product for each row across a specified set of variables. There are built-in functions for various statistics such as the SUM, MAX, MIN, MEAN, and MEDIAN functions. But no DATA step

Standardized regression coefficients in PROC GLIMMIX

I previously wrote about how to understand standardized regression coefficients in PROC REG in SAS. You can obtain the standardized estimates by using the STDB option on the MODEL statement in PROC REG. Several readers have written to ask whether I could write a similar article about the STDCOEFF option

Nonstandard ways to standardize variables

You can standardize a numerical variable by subtracting a location parameter from each observation and then dividing by a scale parameter. Often, the parameters depend on the data that you are standardizing. For example, the most common way to standardize a variable is to subtract the sample mean and divide

Odani's truism for fractions that are near each other

Odani's truism is a mathematical result that says that if you want to compare the fractions a/b and c/d, it often is sufficient to compare the sums (a+d) and (b+c) rather than the products a*d and b*c. (All of the integers a, b, c, and d are positive.) If you

Odani's truism: A probabilistic way to compare fractions

Quick! Which fraction is bigger, 40/83 or 27/56? It's not always easy to mentally compare two fractions to determine which is larger. For this example, you can easily see that both fractions are a little less than 1/2, but to compare the numbers you need to compare the products 40*56

Examples of using the Hoeffding D statistic

A previous article discusses the definition of the Hoeffding D statistic and how to compute it in SAS. The letter D stands for "dependence." Unlike the Pearson correlation, which measures linear relationships, the Hoeffding D statistic tests whether two random variables are independent. Dependent variables have a Hoeffding D statistic

On passing a list to a SAS/IML module

SAS/IML programmers often create and call user-defined modules. Recall that a module is a user-defined subroutine or function. A function returns a value; a subroutine can change one or more of its input arguments. I have written a complete guide to understanding SAS/IML modules, which contains many tips for working

Compute bivariate ranks

Ranking is a fundamental concept in statistics. Ranks of univariate data are used by statisticians to estimate statistics such as percentiles (quantiles) and empirical distributions. A more advanced use is to compute various rank-based measures of correlation or association between pairs of variables. For example, ranks are used to compute

Compute tied ranks

The ranks of a set of data values are used in many nonparametric statistics and statistical tests. When you request a statistic or nonparametric test in SAS, the procedure will automatically compute the ranks that are needed. However, sometimes it is useful to know how to compute the ranks yourself.

Overlay other graphs on a bar chart with PROC SGPLOT

It can be frustrating to receive an error message from statistical software. In the early days of the SAS statistical graphics (SG) procedures, an error message that I dreaded was ERROR: Attempting to overlay incompatible plot or chart types. This error message appears when you attempt to use PROC SGPLOT

3 reasons to prefer a horizontal bar chart

Most introductory statistics courses introduce the bar chart as a way to visualize the frequency (counts) for a categorical variable. A vertical bar chart places the categories along the horizontal (X) axis and shows the counts (or percentages) on the vertical (Y) axis. The vertical bar chart is a precursor

Identify influential observations in regression models

A previous article discusses how to interpret regression diagnostic plots that are produced by SAS regression procedures such as PROC REG. In that article, two of the plots indicate influential observations and outliers. Intuitively, an observation is influential if its presence changes the parameter estimates for the regression by "more

How to conditionally stop SAS code execution and gracefully terminate SAS session

SAS' Leonid Batkhan reveals a fuss-free way to halt SAS program execution and terminate SAS session in batch-processing scenarios.

An overview of regression diagnostic plots in SAS

When you fit a regression model, it is useful to check diagnostic plots to assess the quality of the fit. SAS, like most statistical software, makes it easy to generate regression diagnostics plots. Most SAS regression procedures support the PLOTS= option, which you can use to generate a panel of

How to conditionally execute SAS global statements

SAS' Leonid Batkhan reveals coding techniques that give you control of when and whether global statements are executed.

The conditional distribution of a response variable

I recently learned about a new feature in PROC QUANTREG that was added in SAS/STAT 15.1 (part of SAS 9.4M6). Recall that PROC QUANTREG enables you to perform quantile regression in SAS. (If you are not familiar with quantile regression, see an earlier article that describes quantile regression and provides

Convert decimals to fractions in SAS

I have previously shown how you can use the FRACTw. format in SAS to display numbers as fractions. But did you know that you can also use the format to obtain the numerator and denominator of the fraction as numbers in a program? All you need to do is to

Create a wind chill chart in SAS

I recently wrote about a simple statistical formula that approximates the wind chill temperature, which is the cumulative effect of air temperature and wind on the human body. The formula uses two independent variables (air temperature and wind speed) to predict the wind chill temperature. This article describes how to

What makes SAS Global Forum great?

The people, the energy, the quality of the content, the demos, the networking opportunities…whew, all of these things combine to make SAS Global Forum great every year. And that is no exception this year. Preparations are in full swing for an unforgettable conference. I hope you’ve seen the notifications that

Deleting a substring from a SAS string

SAS' Leonid Batkhan shows you how to delete a substring from a character string - one of the common character data manipulation tasks.

How to use the #BYVAR and #BYVAL keywords to customize graph titles in SAS

A previous article describes how to use the SGPANEL procedure to visualize subgroups of data. It focuses on using headers to display information about each graph. In the example, the data are time series for the price of several stocks, and the headers include information about whether the stock price