Move beyond spreadsheets to data mining, forecasting, optimization – and more

0
Defining a custom color palette for BI Dashboard bar charts

Out of the box, the simple bar graph uses the same color for each bar. A frequent request from users is to define a standard color palette for the dashboard indicators so distinct bars are the same color in each indicator or from refresh to refresh. With most dashboard tricks,

0
Testing for equality of sets

Ah! The joys of sets! It is easy to test whether two vectors are equal in SAS/IML software. It is only slightly more challenging to test whether two sets are equal. Recall that A and B are equal as sets if they contain the same elements. Order does not matter.

0
How to return multiple values from a SAS/IML function

The SAS/IML language supports user-defined functions (also called modules). Many SAS/IML programmers know that you can use the RETURN function to return a value from a user-defined function. For example, the following function returns the sum of each column of matrix: proc iml; start ColSum(M); return( M[+, ] ); /*

0
SAS loves math: Tonya Balan

A senior manager in the analytics product management group, Tonya Balan sees herself as a bridge between SAS customers and R&D, ensuring that SAS products stay relevant to the needs of the customer. With a background in statistics and experience as a college professor, Tonya shares her excellent advice and

0
Extract the lower triangular elements of a matrix

It is common to want to extract the lower or upper triangular elements of a matrix. For example, if you have a correlation matrix, the lower triangular elements are the nontrivial correlations between variables in your data. As I've written before, you can use the VECH function to extract the

0
SAS loves math: Imre Polik

Imre Polik, senior operations research specialist in the operations research group, truly qualifies as a math lover. Having studied math his entire life—and having taught it for two years—Imre offers some valuable words of wisdom and experience. He even has a couple of stories and jokes up his sleeves! Read

0
Friday's Innovation Inspiration - Ratemaking

In this Innovation Inspiration, a SAS user has developed the insurance rating plans for a country using predictive modeling. How exciting! Additionally, the system adjusts based upon actual experience. This is quite the accomplishment given the complexity of the ratemaking for even a small geographical territory. The comments section reveal the identity of this innovator. Check it out.

0
SAS loves math: Tammy Jackson

Tammy Jackson, a senior research statistician developer in the economics technology group, says her job is like taking a math test all day—but she wouldn’t have it any other way. With a background in matrices, linear algebra and math education, Tammy is proud of her work and has a keen eye for

0
Visualize the bivariate normal cumulative distribution

When you are working with probability distributions (normal, Poisson, exponential, and so forth), there are four essential functions that a statistical programmer needs. As I've written before, for common univariate distributions, SAS provides the following functions: the PDF function, which returns the probability density at a given point the CDF

0
Compute the multivariate normal density in SAS

I've been working on a new book about Simulating Data with SAS. In researching the chapter on simulation of multivariate data, I've noticed that the probability density function (PDF) of multivariate distributions is often specified in a matrix form. Consequently, the multivariate density can usually be computed by using the

0
Create an ID vector for repeated measurements

I often use the SAS/IML language for simulating data with certain known properties. In fact, I'm writing a book called Simulating Data with SAS. When I simulate repeated measurements (sometimes called replicated data), I often want to generate an ID variable that identifies which measurement is associated with which subject

0
I have doubts

One of my new work friends says this frequently. But the statement is lost in his translation from Portuguese, it is not that he does not believe me, it is just that he has questions about how things happen so he can learn. I debate on which version of this

0
Friday's Innovation Inspiration - A billion rows on the fly

The first time that I saw a demonstration of SAS Visual Analytics Explorer was awesome, but it didn't give me goosebumps. I got goosebumps the size of golfballs during SAS Global Forum Opening Session when Dr. Goodnight sat down at a computer screen and began to demonstrate how effortlessly users can

0

After some discussion with SAS Product Marketing yesterday, we devised this response to everyone's question about the Business Analytic differentiator that SAS provides. ********************************************************************************************************* Business Intelligence is one of the key components from SAS that ties into a suite of analytic techniques, information handling and performance infrastructures needed to deliver

0
Any SAS program can become a SAS Stored Process

Questions (or search strings) lead people to my blog or my email box on a daily basis and many of these are related to what SAS Stored Processes can or cannot do. Can a SAS Stored Process query an RDBMS? Can a SAS Stored Process create a data table? Could

0
Where is the SAS code for that stored process?

Stored process code can exist within the metadata itself for version 9.3 (the benefits of which I discussed earlier). But for all other versions (and as a option in version 9.3) the SAS code is  stored as a .sas file within the server's file system (or mapped folder/drive structure). When editing

0
Selecting multiple individual dates in prompted reports

The date prompt from SAS Prompt Framework provides the options of single selection or a range, however what if you need to select multiple individual dates such as Monday (May 28), Wednesday (May 30), and Friday (June 1) of last week? There are a few alternatives to accomplishing this. Option

0