47
ENTERPRISE GUIDE 5.1 VS SAS 9.2 DISPLAY MANAGER Rudy Gyzen 27 Feb 2014

ENTERPRISE GUIDE 5.1 VS SAS 9.2 DISPLAY … Groups...Pros Many viewtablewindowsok Command line Column & dataset attributes Sort Cons Dated interface Limited copy and paste Whereexpressionbuilder

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

ENTERPRISE GUIDE 5.1 VSSAS 9.2 DISPLAY MANAGER

Rudy Gyzen27 Feb 2014

SAS EG 5.1 vs SAS 9.2 DMS

• Introduction• The business task at hand• A brief analytical cycle

– Import, Clean, Transform, Analyse, Chart

• Suggestions

INTRODUCTION

Old SAS

SAS 9.2 Display ManagerLegacy Windowing environment

SAS 9.2 Display ManagerLegacy Windowing environment

Effective use of SAS DMS involves knowing how to code

SAS 9.2 Display Manager

New SAS

Enterprise Guide 5.1

Process flow Tabs: Results

Tasks

Project tree

Project Oriented 

Guides users through the analytical process

Server connection

Release Cycles

What’s new count

Environment comparisonFeature EG DMSKeyboard macros User defined Function keys Command line Pull down menus AWS Enhanced editor Autocomplete Tool tips Project oriented Guides analytical process Docked windows Multiple viewtable windows Multiple editor windows Process flow Datastep debugger Results: Output, Log, Code Server list Explorer window Task list Code generator Run SAS/AF applications Custom tasks

Feature EG DMSDescribe data Stop running program Server Oriented Catalog explorer Send email Recently used filellist Genuine analytical GUI Export to native excel Trouble indicators task node Asynchronous task submit Grid excel style editor  Custom code inserts Integrated stored processes Etc…

BUSINESS TASK

Business Tasks

• Is the temperature rising?• Are recent summers warmer than previous summers?

• Will Hobart get more or less rain in the future?

Australia’s climate…

BusinessAnalyst

Statistician

User Profiles

Programmer

SAS Related tasksSAS Task Bus Analyst Programmer StatisticianImport

Check

Clean

Transform

Transpose

Sample

Explore

Analyse

Model

Report

Chart

Schedule

DataSelected Weather stations

Name Number Start Stop

Alice Springs airport 015590 1942 2014

Broome Airport 003003 1942 2014

Cairns Airport 031011 1942 2014

Hobart Ellerslie Rd 094029 1900 2014

Kalgoorlie Airport 012038 1942 2014

Sydney Observatory Hill 066062 1858 2014

DataSample

• Daily Rainfall, max & min temp• 3 x 6 = 18 files• missing, incomplete data & variation in collection start dates

SAS TASKS

ImportSAS Enterprise Guide

Importing data from different data sources is very easy in SAS Enterprise Guide. 

Capability Analyst Programmer StatisticianImport few

Pros:Easy to useFastSelf documenting

Cons:Incomplete code  generatedDealing with large number of input files

ImportSAS DMS infile placeholder character ‘?’

ProsQuickComplete control

ConsCoding required

Capability Analyst Programmer StatisticianImport many Some

ImportSAS Enterprise Guide

Access DMS BASE code from EG Code node 

Capability Analyst Programmer StatisticianImport many Some

ViewingSAS Enterprise Guide

ProsAutomatically displaysFilter & query builderCopy n paste rectangleRelated tasks readily accessibleDescribe data handy

ConsCannot open more than 1 x SASEG “viewtable”Explorer slow on large data, doesnot operate on WORKNo command line

Analyst Programmer Statistician

ViewingSAS DMS

ProsMany viewtable windows okCommand lineColumn & dataset attributesSort

ConsDated interfaceLimited copy and pasteWhere expression builder

Analyst Programmer Statistician

CheckingSAS Enterprise Guide

Easy to interactively check quality & distribution of values in your data.

Analyst Programmer Statistician

Easy to generate code at any time

CheckingSAS DMS

Hand code data step and PROC step code

Enhanced editor 

PROC SQL, FORMAT, TABULATE, PRINT, UNIVARIATE, FREQ, MEANS, COMPARE, SGPLOT are commonly used. 

Analyst Programmer StatisticianSome

CleaningStart dates need to be lined up

CleaningRainfall measures taken over days to be averaged. 

CleaningSAS Enterprise Guide

Query builder or post processing filters

Comprehensive task nodes

Program task node

Combination not unusual

ProsProcess flowWhere EG tasks can be used isusually quite fastQuery builder is nice

ConsGets fiddly when changes to flowneed to be madeCopy and paste kind of worksEmbedded code needs plumbinginWhen to use tasks & when to usecode node

Analyst Programmer StatisticianSome

CleaningSAS DMS

ProsStraight at code level

ConsAt code level

Analyst Programmer StatisticianSome

Transform

Rainfall Max tempMin temp

Weather

Join

+season  +station  Summarise

TransformSAS Enterprise Guide

ProsJoining tables easy using QuerybuilderNew variables easily createdSummary task again easy to use

ConsUnwieldy with complex joins orexpressionsFormat builder slow – better fromdatasetsFor complex transforms likely toneed many nodes or ultimately acode node

Analyst Programmer Statistician

TransformSAS DMS

PROC FORMAT to mapPROC SQL for the join & to create variables, PROC SUMMARY or MEANS for the summary.

ProsStraight at code level

ConsAt code level

Analyst Programmer StatisticianSome

ChartSAS Enterprise Guide

ProsEasy to useFast to generateLots of customisation possible

ConsComplete customisation and useof particular PROCs eg SGPLOTrequire code

Analyst Programmer Statistician

ChartSAS DMS

ProsComprehensive customisationpossible

ConsDetailed, time consuming

Analyst Programmer StatisticianSome

Business Tasks

• Is the temperature rising?• Are recent summers warmer than previous summers?

• Will Hobart get more or less rain in the future?

Australia’s climate…

Business TasksIs the temperature rising?

Business TasksAre recent summers warmer than previous ones? 

Business TasksWill Hobart get more or less rain in future? 

Business TasksExpand the history criteria a little …

Macro facilityTargeted usage can be useful.

%let d = 01JAN2014;%let threshold = 15;

SAS Enterprise GuideProject prompting & conditionalbranch processingMacro stmts added to BASE SAScode in a program task node.

SAS DMSMacro stmts added to BASE SAScode in the enhanced programeditor.

%if &_third_workday = Y %then %do;%include “./analysis.sas”;%include “./report.sas”;%end;%do l = 1 %to &no_campaigns;

%include “./model.sas”;%end;

Capability Tool Analyst Programmer Statistician

Macro EG /DMS Most

BatchSave as code to submit in batch mode

Capability Tool Analyst Programmer Statistician

Macro EG /DMS Most

SAS Enterprise GuideExport entire project to code

SAS DMSYou already have a complete set ofcode ready for batch submission.

ConclusionSAS DMS

Interface is dated

Continues to be functional

operates entirely at command & code level 

Effective use of SAS DMS involves knowing how to code

ConclusionSAS Enterprise Guide

Easy to use, project‐oriented interface Guides users through the analytical process. 

Nice FeaturesChartingSummaryRead many data sourcesEasy to useDescribe dataProject approachPlumbing

Code generation toolQuery builderProcess flowComprehensive task listIntegration with rest of SASAutocomplete (data, vars)Tooltips goes to WebCollection of tasks, code, output,log & data results

Effective use of SAS EG involves knowing when • its faster to point and click through a task or• to modify generated code or • to write code from scratch.

ConclusionSAS Enterprise Guide

SAS Enterprise Guide hasn’t completely superceded SAS DMS yet. 

Suggested Areas for Improvement

Macro facility integrationCommand lineMultiple Viewtable wndws(Datastep) debuggerOpen unlimited windowsStopping rogue processSpeed of code executionIntegration of codeEditing complex process flowCustom keyboard shortcutsSearch project function

Synchronisation of code to GUIIncomplete code generationDealing with complex datacleansing, transformationoperations.Quality of generated codeNext level of user friendliness,pre‐empting choicesData explorer on WORK tooInteraction without mouseBetter dataset attributesproperties window

Resources

• SAS supportsupport.sas.com

• Proceedingslexjansen.com

• SAS communitysascommunity.com

• Australian Govt Bureau of Meteorologybom.gov.au

QUESTIONS?