Uncategorized

Angela Hall 0
Advantages abound by centralizing all of those logs

In order to support a SAS Server Architecture, administrators must know where all the log files from the various SAS Business Intelligence services are located. By default, each service that generates a log will create it within the services' own configuration folder structure. For example, the metadata server log is

Rick Wicklin 0
Complex assignment statements: CHOOSE wisely

This article describes the SAS/IML CHOOSE function: how it works, how it doesn't work, and how to use it to make your SAS/IML programs more compact. In particular, the CHOOSE function has a potential "gotcha!" that you need to understand if you want your program to perform as expected. What

Rick Wicklin 0
Side-by-side bar plots in SAS 9.3

When I was at the Joint Statistical Meetings (JSM) last week, a SAS customer asked me whether it was possible to use the SGPLOT procedure to produce side-by-side bar charts. The answer is "yes" in SAS 9.3, thanks to the new GROUPDISPLAY= option on the VBAR and HBAR statements. For

Rick Wicklin 0
Finding the root of a univariate function

At the SAS/IML Support Community, a SAS/IML programmer recently asked how to find "the root of a complicated equation." That's a huge question, and many papers and books have been written on the topic of root-finding, also known as finding the zeros of a function. Everyone has favorite techniques for

Rick Wicklin 0
Options for Printing a Matrix

A matrix is an array of numbers or character strings. When I print a matrix, I usually want to see only the data. However, sometimes it is helpful to add row or column headings that indicate the names of variables or labels for rows. A simple example is count data

Rick Wicklin 0
A simple signum function

The other day I needed to compute the signum function for each element of a matrix. If x is a real number, then the sgn(x) is -1 when x<0, 1 when x>0, and 0 when x=0. I wrote a SAS/IML module that contains a compact little expression: proc iml; start

Rick Wicklin 0
How I Know When to Blog

Yesterday, Jiangtang Hu did a frequency analysis of my blog posts and noticed that there are some holidays on which I post to my blog and others on which I do not. The explanation is simple: I post on Mondays, Wednesdays, and Fridays, provided that SAS Institute (World Headquarters) is

Rick Wicklin 0
An easy way to specify dates and times

Dates and times. As Wayne Finley states in his SUGI25 paper on SAS date and time handling, "The SAS system provides a plethora of methods to handle date and time values." Along with the plethora of methods is a plethora of papers on the topic. If you want to trick

Advanced Analytics
Mike Gilliland 0
Announcing: SAS Forecast Server 4.1

Tuesday's release of SAS 9.3 included the new SAS Forecast Server 4.1, which has several valuable enhancements: Combination (Ensemble) Models: A combination of forecasts using different forecasting techniques can outperform forecasts produced by using any single technique. Users can combine forecasts produced by many different models using several different combination

Rick Wicklin 0
Simulate categorical data in SAS

As I was reviewing notes for my course "Data Simulation for Evaluating Statistical Methods in SAS," I realized that I haven't blogged about simulating categorical data in SAS. This article corrects that oversight. An Easy Way and a Harder Way SAS software makes it easy to sample from discrete "named"

Chris Hemedinger 0
SAS 9.3: the list

Alison posted the Top 10 Reasons you should care about SAS 9.3. It's a bit tongue-in-cheek, but it reflects just a sample of the thousands of features and tweaks that you'll see in this new release. Even with SAS 9.2, I was nowhere near exhausting my backlog of blog topics...but

Programming Tips
Chris Hemedinger 0
Computing age in SAS 9.3

It seems like such a simple problem: how can you reliably compute the age of someone or something? Susan lamented the subtle issues using the YRDIF function exactly 1.0356164384 years ago. Sure, you could write your own function for calculating such things, as I suggested 0.1753424658 years ago. Or you

1 234 235 236 237 238 255