sas global forum

5月 302018

SAS Enterprise Miner has been a leader in data mining and modeling for over 20 years. The system offers over 80 different nodes that help users analyze, score and model their data. With a wide range of functionalities, there can be a number of different ways to produce the results you want.

At SAS® Global Forum 2018, Principal Systems Engineer Melodie Rush spoke about her experience with SAS® Enterprise Miner™, and compiled a list of hints that she believe will help users of all levels. This article previews her full presentation, Top 10 Tips for SAS Enterprise Miner Based on 20 Years’ Experience. The paper includes images and further details of each of the tips noted below; I’d encourage you to check it out to learn more.

Top Ten Tips for Enterprise Miner

Tip 1: How to find the node you’re looking for

If you struggle finding the node that best fits what you need, there’s a system that can simplify it.

Nodes are organized by Sample, Explore, Modify, Model, and Assess. Find which of these best describes what you are trying to do, and scroll across each node alphabetically for a description.

Tip 2: Add node from diagram workspace

Double click any node on the toolbar to see its properties. An example of the results this presents are shown below:

Top Ten Tips for Enterprise Miner

Tip 3: Clone a process flow

Highlight process flow by dragging your mouse across, right-click or CTRL+C, and Paste or CTRL+V where you want to insert process flow.

Tip 4: New features

  • There’s a new tab, HPDM (High-Performance Data Mining), which contains several new nodes that cover data mining and machine learning algorithms.
  • There are two new nodes under Utility that incorporate Open Source and SAS Viya.
  • The Open Source Integration node allows you to use R language code in SAS Enterprise Miner diagrams.
  • A SAS Viya Code node now incorporates code that will be used in SAS Viya and CAS, and algorithms from SAS Visual Data Mining and Machine Learning.
  • To save and share your results, there are now the Register Model and Save Data nodes under Utility.
  • You can now register models to the SAS Metadata Server to score or compare easily.
  • A Save Data node lets you save training, validation, test, score, or transaction data as SAS, JMP, Excel, CSV or tab-delimited files.

Tip 5: The unknown node

The reporter node under Utility allows you to easily document your Enterprise Miner process flow diagrams. A .pdf or .rtf is created with an image of the process flow.

Tip 6: The node that changes everything

The Metadata node, on the Utility tab, allows you to change metadata information and values in your diagram. You also can capture settings to then apply to data in another diagram.

Tip 7: How to generate a scorecard

A scorecard emphasizes what variables and values from your model are important. Values are reported on a 0 to 1,000 scale, with the higher being more likely the event you’re measuring occurs. To do this, have the Reporter node follow a Score node, and then change the Nodes property to Summary under Reporter node properties.

Tip 8: How to override the 512 level limit

If faced with the error message, “Maximum target levels of 512 exceeded,” your input is resulting in more than 512 distinct results. To get around this, you need to change EM_TRAIN_MAXLEVELS to another value. To do so, either change the macro value in properties

or change the macro value in project start code.

Tip 9: Which variable selection method should I use?

Instead of choosing just one variable selection method, you can combine different ones such as Decision Trees, Forward, Chi-Square, and others. The results can be combined using different selection properties, such as None (no changes made from original metadata), Any (reject a variable if any previous variable selection nodes reject it), All (reject a variable if all of the previous variable selection nodes reject it), and Majority (reject a variable if the majority of the variable selection nodes reject it).

Tip 10: Interpreting neural network

Decision trees can be produced to interpret networks, by changing the Prediction variable to be your Target and the Target variable to be rejected.


With so many options to create models that best suit your preferences, these tips will help sharpen your focus and allow you to use SAS Enterprise Miner more efficiently and effectively. This presentation was one in a series of talks on Enterprise Miner tool presented at SAS® Global Forum 2018.

Additional Resources

SAS Enterprise Miner
SAS Enterprise Learning Tutorials
Getting Started With SAS Enterprise Miner Tutorial Videos

Additional SAS Enterprise Miner talks from Global Forum 2018

A Case Study of Mining Social Media Data for Disaster Relief: Hurricane Irma
Bogdan Gadidov, Linh Le, Analytics and Data Science Institute, Kennesaw State University

A Study of Modelling Approaches for Predicting Dropout in a Business College
Xuan Wang, Helmut Schneider, Louisiana State University

Analysis of Nokia Customer Tweets with SAS® Enterprise Miner™ and SAS® Sentiment Analysis Studio
Vaibhav Vanamala MS in Business Analytics, Oklahoma State University

Analysis of Unstructured Data: Topic Mining & Predictive Modeling using Text
Ravi Teja Allaparthi

Association Rule Mining of Polypharmacy Drug Utilization Patterns in Health Care Administrative Data Using SAS® Enterprise Miner™
Dingwei Dai, Chris Feudtner, The Children’s Hospital of Philadelphia

Bayesian Networks for Causal Analysis
Fei Wang and John Amrhein, McDougall Scientific Ltd.

Classifying and Predicting Spam Messages Using Text Mining in SAS® Enterprise Miner™
Mounika Kondamudi, Oklahoma State University

Image Classification Using SAS® Enterprise Miner 14.1

Model-Based Fiber Network Expansion Using SAS® Enterprise Miner™ and SAS® Visual Analytics
Nishant Sharma, Charter Communications

Monte Carlo K-Means Clustering SAS Enterprise Miner
Donald K. Wedding, PhD Director of Data Science Sprint Corporation

Retail Product Bundling – A new approach
Bruno Nogueira Carlos, Youman Mind Over Data

Using Market Basket Analysis in SAS® Enterprise MinerTM to Make Student Course Enrollment Recommendations
Shawn Hall, Aaron Osei, and Jeremiah McKinley, The University of Oklahoma

Using SAS® Enterprise Miner for Categorization of Customer Comments to Improve Services at USPS
Olayemi Olatunji, United States Postal Service Office of Inspector General

Top 10 tips for SAS Enterprise Miner based on 20 years’ experience was published on SAS Users.

5月 222018

SAS ViyaSAS Viya Presentations is our latest extension of the SAS Platform and interoperable with SAS® 9.4. Designed to enable analytics to the enterprise, it seamlessly scales for data of any size, type, speed and complexity. It was also a star at this year’s SAS Global Forum 2018. In this series of articles, we will review several of the most interesting SAS Viya talks from the event. Our first installment reviews Hadley Christoffels’ talk, A Need For Speed: Loading Data via the Cloud.

You can read all the articles in this series or check out the individual interviews by clicking on the titles below:
Part 1: Technology that gets the most from the Cloud.

Technology that gets the most from the Cloud

Few would argue about the value the effective use of data can bring an organization. Advancements in analytics, particularly in areas like artificial intelligence and machine learning, allow organizations to analyze more complex data and deliver faster, more accurate results.

However, in his SAS Global Forum 2018 paper, A Need For Speed: Loading Data via the Cloud, Hadley Christoffels, CEO of Boemska, reminded the audience that 80% of an analyst’s time is still spent on the data. Getting insight from your data is where the magic happens, but the real value of powerful analytical methods like artificial intelligence and machine learning can only be realized when “you shorten the load cycle the quicker you get to value.”

Data Management is critical and still the most common area of investment in analytical software, making data management a primary responsibility of today’s data scientist. “Before you can get to any value the data has to be collected, has to be transformed, has to be enriched, has to be cleansed and has to be loaded before it can be consumed.”

Benefits of cloud adoption

The cloud can help, to a degree. According to Christoffels, “cloud adoption has become a strategic imperative for enterprises.” The advantages of moving to a cloud architecture are many, but the two greatest are elasticity and scalability.

Elasticity, defined by Christoffels, allows you to dynamically provision or remove virtual machines (VM), while scalability refers to increasing or decreasing capacity within existing infrastructure by scaling vertically, moving the workload to a bigger or smaller VM, or horizontally, by provisioning additional VM’s and distributing the application load between them.

“I can stand up VMs in a matter of seconds, I can add more servers when I need it, I can get a bigger one when I need it and a smaller one when I don’t, but, especially when it comes to horizontal scaling, you need technology that can make the most of it.” Cloud-readiness and multi-threaded processing make SAS® Viya® the perfect tool to take advantage of the benefits of “clouding up.”

SAS® Viya® can addresses complex analytical challenges and speed up data management processes. “If you have software that can only run on a single instance, then scaling horizontally means nothing to you because you can’t make use of that multi-threaded, parallel environment. SAS Viya is one of those technologies,” Christoffels said.

Challenges you need to consider

According to Christoffels, it’s important, when moving your processing to the cloud, that you understand and address existing performance challenges and whether it will meet your business needs in an agile manner. Inefficiencies on-premise are annoying; inefficiencies in the cloud are annoying and costly, since you pay for that resource.

It’s not the best use of the architecture to take what you have on premise and just shift it. “Finding and improving and eliminating inefficiencies is a massive part in cutting down the time data takes to load.”

Boemska, Christoffels’ company, has tools to help businesses find inefficiencies and understand the impact users have on the environment, including:

  1. Real-time diagnostics looking at CPU Usage, Memory Usage, SAS Workload, etc.
  2. Insight and comparison provides a historic view in a certain timeframe, essential when trying to optimize and shave off costly time when working in cloud.
  3. Utilization reports to better understand how the platform is used.

Optimizing inefficiencies with SAS Viya

But scaling vertically and horizontally from cloud-based infrastructure to speed the loading and data management process solves only part of the problem. Christoffels said SAS Viya capabilities completes the picture. SAS Viya offers a number of benefits in a Cloud infrastructure, Christoffels said. Code amendments that make use of the new techniques and benefits now available in SAS Viya, such as the multi-threaded DATA step or CAS Action Sets, can be extremely powerful.

One simple example of the benefits of SAS Viya, Christoffels said, is that with in-memory processing, PROC SORT is a procedure that’s no longer needed; SAS Viya does “grouping on the fly,” meaning you can remove sort routines from existing programs, which of itself, can cut down processing time significantly.

As a SAS Programmer, just the fact that SAS Viya can run multithreaded, the fact that you don’t have to do these sorts, the way it handles grouping on the fly, the fact that multithreaded nature and capability is built into how you deal with tables are all “significant,” according to Christoffels.


Data preparation and load processes have a direct impact on how applications can begin and subsequently complete. Many organizations are using the Cloud platform to speed up the process, but to take full advantage of the infrastructure you have to apply the right software technology. SAS Viya enables the full realization of Cloud benefits through performance improvements, such as the transposing of data and the transformation of data using the DATA step or CAS Action Sets.

Additional Resources

SAS Global Forum Video: A Need For Speed: Loading Data via the Cloud
SAS Global Forum 2018 Paper: A Need For Speed: Loading Data via the Cloud
SAS Viya
SAS Viya Products

Read all the posts in this series.

Part 1: Technology that gets the most from the Cloud

Technology that gets the most from the Cloud was published on SAS Users.

5月 182018

During SAS Global Forum 2018, I sat down with four SAS users to get their take on what makes a SAS user. Read through to find valuable tips they shared and up your SAS game. I’m sure you will come away inspired, as you discover some universal commonalities in being a SAS user.

The post What makes a SAS User? Insight and Community: Josh Horstman appeared first on SAS Learning Post.

5月 102018

For those of you who weren't able to attend SAS Global Forum 2018, you can still learn a lot from the content shared there. Gain knowledge from your SAS family. SAS Global Forum 2018 papers and videos now available.

The post Knowledge from the SAS family: SAS Global Forum 2018 papers and videos now available appeared first on SAS Learning Post.

5月 082018

WARNING: This blog post references Avengers: Infinity War and contains story spoilers. But it also contains useful information about random number generators (RNGs) -- tempting! If you haven't yet seen the movie, you should make peace with this inner conflict before reading on.

Throughout the movie, Thanos makes it clear that his goal is to eliminate half of the population of every civilization in the universe. With the power of all six infinity stones imbued into his gauntlet, he'll be able to accomplish this with a "snap of his fingers." By the end of the film, Thanos has all of the stones, and then he literally snaps his fingers. (Really? I kept thinking that this was just a figure of speech he used to indicate how simple this will be -- but I guess it works more like the ruby slippers in The Wizard of Oz. Some clicking was required.)

So, Thanos snaps his huge fingers and -- POOF -- there goes half of us. Apparently the universe already had some sort of population-reduction subroutine just waiting for a hacker like Thanos to access it. Who put that there? Not a good plan, universe designer. (Check here to see if you survived the snap.)

But how did Thanos (or the universe) determine which of us was wiped from existence and which of us was spared? I have to assume that it was a seriously high-performing, massively parallel random number generator. And if Thanos had access to 9.4 Maintenance 5 or later (part of the Power [to Know] stone?), then he would have his choice of algorithms.

(Tony Stark has been to SAS headquarters, but we haven't seen Thanos around here. Still, he's welcome to download SAS University Edition.)

Your own RNG gauntlet, built into SAS

I know a little bit about this topic because I talked with Rick Wicklin about RNGs. As Rick discusses in his blog post, a recent release of SAS added support for several new/updated RNG algorithms, including Mersenne twister, PCG, Threefry, and one that introduces hardware-based entropy for "extra randomness." If you want to save yourself some reading, watch our 10-minute discussion here.

Implementing my own random Avengers terminator

I was going to write a SAS program to simulate Thanos' "snap," but I don't have a list of every single person in the universe (thanks GDPR!). However, courtesy of, I do have a list of the approximately 100 credited characters in the Infinity War movie. I wrote a DATA step to pull each name into a data set and "randomly decide" each fate by using the new PCG algorithm and the RAND function with a Bernoulli (binomial) distribution. I learned that trick from Rick's post about simulating coin flips. (I hope I did this correctly; Rick will tell me if I didn't.)

%let algorithm = PCG;
data characters;
  call streaminit(2018,"&algorithm.");
  infile datalines dsd;
  retain x 0 y 1;
  length Name $ 60 spared 8 x 8 y 8;
  input Name;
  Spared = rand("Bernoulli", 0.5);
  if x > 10 then
    do; y+1; x = 1;end;
Tony Stark / Iron Man
Bruce Banner / Hulk
Steve Rogers / Captain America
/* about 96 more */

After all of the outcomes were generated, I used PROC FREQ to check the distribution. In this run, only 48% were spared, not an even 50%. Well, that's randomness for you. On the universal scale, I'm not sure that anyone is keeping track.

How many spared

Using a trick I learned from Sample 54315: Customize your symbols with the SYMBOLCHAR statement in PROC SGPLOT, I created a scatter plot of the outcomes. I included special Unicode characters to signify the result in terms that even Hulk can understand. Hearts represent survivors; frowny faces represent the vanished heroes. Here's the code:

data thanosmap;
  input id $ value $ markercolor $ markersymbol $;
status 0 black frowny
status 1 red heart
ods graphics / height=400 width=400 imagemap=on;
proc sgplot data=Characters noautolegend dattrmap=thanosmap;
  styleattrs wallcolor=white;
  scatter x=x y=y / markerattrs=(size=40) 
    group=spared tip=(Name Spared) attrid=status;
  symbolchar name=heart char='2665'x;
  symbolchar name=frowny char='2639'x;
  xaxis integer display=(novalues) label="Did Thanos Kill You? Red=Dead" 
    labelattrs=(family="Comic Sans MS" size=14pt);
    /* Comic Sans -- get it ???? */
  yaxis integer display=none;

Scatter plot of spared

For those of you who can read, you might appreciate a table with the rundown. For this one, I used a trick that I saw on SAS Support Communities to add strike-through text to a report. It's a simple COMPUTE column with a style directive, in a PROC REPORT step.

proc report data=Characters nowd;
  column Name spared;
  define spared / 'Spared' display;
  compute Spared;
    if spared=1 then
      call define(_row_,"style",
    if spared=0 then
      call define(_row_,"style",
        "style={color=red textdecoration=line_through}");

Table of results

Remember, my results here were generated with SAS and don't match the results from the film. (I feel like I need to say that to preempt a few comments.) The complete code for this blog post is available on my public Gist.

Learn more about RNGs

Just as the end of Avengers: Infinity War has sent throngs of viewers to the Internet to find out What's Next, I expect that readers of this blog are eager to learn more about these modern random number generators. Here are the go-to articles from Rick that are worth your review:

Unanswered questions

Before Thanos completed his gauntlet, his main hobby was traveling around the cosmos reducing the population of each civilization "the hard way." With the gauntlet in hand when he snapped his fingers, did he eliminate one-half of the remaining population? Or did the universe's algorithm spare those civilizations that had already been culled? Was this a random sample with replacement or not? In the film, Thanos did not express concern about these details (typical upper management attitude), but the grunt-workers of the universe need to know the parameters for this project. Coders need exact specifications, or else you can expect less-than-heroic results from your infinity gauntlet. I'm pretty sure it says so in the owner's manual.

The post Which random number generator did Thanos use? appeared first on The SAS Dummy.

5月 022018

Oklahoma State University (OSU) has corralled its data faster than a tumbleweed in a whirlwind, and has bold plans to transform its institutional research efforts. I recently met with OSU's Institutional Research and Information Management (IRIM) team, which provides information, research, decision support, and analysis on demand to the OSU [...]

Oklahoma State University visualizes data ‘til the cows come home was published on SAS Voices by Georgia Mariani

5月 022018

During SAS Global Forum 2018, SAS instructor Charu Shankar sat down with four SAS users to get their take on what makes them a SAS user. Read through to find valuable tips they shared and up your SAS game. I’m sure you will come away inspired, as you discover some universal commonalities in being a SAS user.

The post What makes a SAS user? Order, logic and magic: Louise Hadden appeared first on SAS Learning Post.

4月 212018

During SAS Global Forum 2018, SAS instructor Charu Shankar sat down with four SAS users to get their take on what makes a SAS user. Read through to find valuable tips they shared and up your SAS game. I’m sure you will come away inspired, as you discover some universal commonalities in being a SAS user.

The post What makes a SAS user? SAS thinks like me: Dede Schreiber-Gregory appeared first on SAS Learning Post.

4月 212018

During SAS Global Forum 2018, SAS instructor Charu Shankar sat down with four SAS users to get their take on what makes them a SAS user. Read through to find valuable tips they shared and up your SAS game. I’m sure you will come away inspired, as you discover some universal commonalities in being a SAS user.

The post What makes a SAS user? Introverts find their tribe: Richann Watson appeared first on SAS Learning Post.