Writing SAS/AF Applications that run in both an Interactive and Batch Environment
|
|
- Erin Houston
- 5 years ago
- Views:
Transcription
1 Writing SAS/AF Applications that run in both an nteractive and Batch Environment lim Nelson, MOS-H, Motorola, Austin,TX Matthew Grover, JJT Consulting, Austin,TX ABSTRACT Many SAS/AF applications have been written that run in an interactive mode but cannot run in a batch mode. Other applications have been written to run in both interactive and batch modes; however, most often these applications generate static code, using only simple code substitution. A major SAS/AF application has been written that runs in both interactive and batch modes. This paper presents a design for creating SAS/ AF applications that run in both interactive and batch modes, The application is a dynamic code generating system, generating and executing dynamic SAS code in both modes. NTRODUCTON Most systems which get developed at Motorola's MOS- wafer fabrication facility are first conceived to run in an interactive full screen mode. However, even before the system is put into place, there comes a ground swell of requests that the system run in a batch mode as well as an interactive mode. Simple applications can meet this requirement. t is when the application becomes complex and requires conditional code generation that a problem arises. There is an inequality in the capabilities between the two modes. SAS provides a very good system for conditional generation of code in an interactive mode via SAS/AF's Screen Control Language, but only a limited batch code generator using the Macro Language. Any SAS/AF system that uses program entries or frame entries cannot run in batch mode, and the macro language is severely limited in its functionality. We have overcome these problems in the past by developing different sets of code to allow the system to run in both modes, and/or using macro code that is called by the SAS/ AF frames in interactive mode or by statements in batch mode. Both of these approaches have their limitations. Double coding is not an efficient way to develop and maintain code. Confining a system to only being able to use macros to generate needed code does not take advantage of programming features in SCL. We were given the challenge to solve this issue with one of our large SAS based systems called EDAS. This system is similar in design to SAS/ ASSST in that the user makes selections from program screens, choosing the data set, options, and parameters necessary for the particular program. The system dynamically generates the SAS code and submits the code for processing. Batch mode processing of the EDAS code has been limited to having the system save code generated to an ASC file and using static SAS code in batch mode. The only item that was interchangeable from execution to execution was the name of the data set. This was accomplished by using a macro variable as the data set name, and either manually editing code and changing the variable value, or by using a separate interactive program to set the value of the macro variable. Our users had a need to dynamically generate scripts in batch mode. Our first task was to find out from the users what part of ED AS needed tobe available in dynamic batch mode. The user community's response was, All of it!'. Rewriting all of EDAS into a dynamic, batch code generating program, along with maintaining the interactive version was not practical A versatile solution had to be found. The solution had to allow for the use of the same code in both batch and interactive modes. The solution needed to be able to dynamically generate code and submit it for processing. To meet the system requirements required the use of functions found only in SCL. The solution involved code isolation and the use of lists for intermodule communication. The solution design is composed of three components: 1.) 88
2 frames/program entries 2.) global lists 3.) methods. Basically, all of the code generation was removed from -the program and frame entries and moved to SCL methods. The purpose of the program and frame entries is to gather and validate users input. The passing of all the varieties of user input is accomplished through a structure of global lists. The global lists hold printer parameters, data set names, and other sublists that possess information necessary for writing SAS code. The SCL methods isolate all code generation and submit code to SCL entries. The SCL methods can be run in both and interactive and batch mode. n batch mode, the same user input can be input from a configuration file and converted to an SLST entry by a master SCL program that executes a PROC DSPLAY. This program calls the same methods as are used in the interactive version of the system. FGURE1: Application Design Frame/Program Entries Batch SCL Program + ; n Memory List SLSTentry ~ / METHODS OUTPUT. FRAMES The major function of the frames is to be used as an interface for populating and editing the global lists. The information the user puts into the list will actually be used to write SAS/BASE, SAS/STAT, or SAS/QC code. There are several benefits to using this type of design for list maintenance. First, you have the ability to dynamically write your own SAS code without having to know anything about SAS. All that is required is that you know what type of procedure you want to run. Second, user input can be validated before code is actually submitted for processing. Third, the list can be saved as an SLST entry and retrieved in a subsequent SAS session. Every frame entry is comprised of multiple widgets that fall into three categories: manipulation widgets, unique widgets, and 'shared3ariable' list widgets. Manipulation widgets may include pushbuttons, control objects, scroll bars, or container boxes. The purpose of manipulation widgets is to provide you the ability to manipulate how information is displayed to you on the screen. The values returned from these widgets have no affect upon submit code. Therefore, the names and values of these widgets are not saved in a list. Unique widgets are unique to each screen and are most often of the type efield, radio box, or checkbox. Unique widgets are classified as a separate group because the values returned from these widgets are valid SAS statements that are saved in the 'widgets' sublist. The 'widgets' sublist is updated every time you change the value of one of the widgets either by clicking on the widget or typing something, if the widget is a text entry field. Shared_variable list widgets on each frame are used to display the names of the variables in the 12 variable list that are associated with that frame. The shared3ariable sublists are sublists of variables that are shared across all frames in the application. Because of the design of this application, in which you are allowed to perform a variety of different analyses during one SAS session, it is imperative that the variables you select for one frame be saved and transferred to the next frame. This greatly reduces 89
3 the amount of time you spend selecting variables. A frame that does 'Simple statistics' may utilize only two of the twelve variable lists while a frame that does 'Analysis of Variance' may use six of the variable lists. The shared_variable sublists can be populated and updated in two different manners. The frst manner allows you to click on a push-button to display a listbox containing the names of variables that can be selected. You also have the option of hand entering the variable names. f a text entry feld is modifed, a method is called to check to see if the variable name in that text entry feld exists in the data set and that the variable is of the appropriate type. f the variable exists and it is of the correct type, it is then added to the associated variable list. However, if the variable does not exist in the data set or is of the wrong type then a listbox containing the names of variables for that data set is displayed.. LST STRUCTURE The global list is comprised of two sublists: one which contains shared variable lists and another list which contains sublists that are unique to the frame. A 'Shared_Variables' list was created to hold the separate variable sublists. Given that a different analysis may require more variables and may also require variables of different types, the variables are grouped into logical lists. n the current application 12 variable lists are used: 'varlstl-varist4' are lists ofresponse variables; 'bylstl-bylst4' are lists of by-group variables; 'altlstl-altlst4' are lists of variables that do not fall into a 'varlst' or a 'bylst'. Each of 12 variable lists holds two sublists ('vars','desc'). The 'vars' list contains a list of variables that were selected for that list. The 'desc' sublist contains items that describe the information in the 'vars' sublist, such as of the type of variables that a user can put into the : Sample Shared Variables List: shared3ariables=( varlst =( vars=(p3004= P3003=2 P3006=3 ) [4]P3005=4 desc=(' screen' 'N' ) [32] )[2] The 'widgets' sublist contains two unique lists. These sublists are cleared every time a frame is exited. The frst sublist named 'name_value' actually contains sublists that are named by programmer. These sublists contain named items which are the names of the widgets. The value of the items in the lists are the return values of the widgets. These lists allow the programmer to group widgets into any named sublist of their choice. The 'name_value' lists have no affect on the frame entry, they are merely ways of grouping logical groups of widgets, so that processing of widget values later on is simplifed. The second sublist under the 'widgets' list is the 'type_of list which has named items which are the names of the widgets and the values of these items are numeric or character. f the widget type is radiobox or checkbox the item value is the value of current station for that widget. f the widget type is text entry t4en the value of the item is the value of text entry feld. Sample Widget List: widgets=(narne_value=(stats=(mean = 'mean' std = 'std' n = 'n' ) [200] )]190] type_of=( mean=1 std=1 n=1 ) [180] 90
4 . Methods The methods consist of submit code that declares the procedure(s) to be run. The method can be passed one optional parameter 'slstname'. The 'slstname' parameter is a four-part slist entry name that was created while the user was running the application in an interactive mode. f the optional parameter 'slstname' is not passed, then the list already exists in memory. n batch mode the method is passed the name of an SLST entry. The method in turn calls another method that executes a 'fillist' function before the submit code is placed in the preview buffer. When the method is executed in batch mode via an SCL entry that runs a PROC DSPLAY. A.) nteractive Mode Sample Execution: 1.) Frame: The following frame allows you to run a MEANS procedure for selected response variables and group the selected summary statistics by specified output variables FGURE2: Sample Frame shared3ariables=( varlst 1 =( vars=(p3004= 1 P3003=2 P3006=3 ) [4{3005=4 desc=(' screen' 'N' ) [32] (bylst 1 =( vars=( wafer= 1 ) [60] desc=(' screen' 'c' ) [62] )[2] widgets=(narne_value=(stats=(mean = 'mean' std = 'std' n =: 'n' nmiss =', sum =', min:::::', max=" range =: ', CV=', ) [200] ) [190] type_of=( mean=1 std=1 n=1 nmiss=o sum=o min=o max=o range=o cv=o ~ilelln ~std nev U ~;~ ~Jili_ :;8... ~:UQli" ~lc'l ) [180] ) [188] 2.) The Global Lists After you have made the selections that are displayed on the frame, the shared_variables and widgets sublists have been populated with given values. 3.) The Method When you select 'OK' from the pull down menu the SCL compiled with the frame calls method 'STATS'. Under interactive mode the, slstnarne' parameter is not passed to the method. 91
5 STATS: method optional=slstname $ 35; call method ('init.scl', 'procinit') submit; proc means endsubmiti call method ('utils.scl', 'subwlist,, test ) ; _ endmethod; 4.) Code Generated The following code was generated when method ST ATS was called. data test; set die.mydata; keep wafer p3004 p3003 p300s p3006; proc means n mean std; var p3004 p3003 p300s p3006; by wafer; run; B.) Batch Mode Sample Execution 1.) Master SCL program The master SCL program is a SCL program that serves as a dynamic code interpreter, that reads and executes scripts. The scripts contain multiple lines of code that ate all preceded with a '#' symbol The word following the '#' symbol is an application defined function. The master SCL program patses the the code looking for the '#' symbols. The dynamic code interpreter calls the functions which in tum perfonn some variety of SAS code generation or execution. #LST varlstl P3004 P3003 p3006 P3006 #LST bylstl wafer #WLST stats mean n std #RUN ('procs.scl','stats',edaslib.die.xlist.slist') #LST function populates a named variable list with named item. #WLST function populates a named widget list. #RUN function executes an a SCL method, passing any patameters needed. 2.) The SLST entry and Method When the #RUN function is executed it calls method 'STATS' and passes the name of a SLST entry. This SLST entry is then copied into the global environment list. The list structure has the same fonnat as the interactive mode list structure. 3.) Code Generated The code generated is identical to the code that was generated in interactive mode. The master SCL program is a very powerful mechanism for executing a multitude of procedures with very minor code modification. The following code uses the same variables across several methods. f the variables or widgets need to change for a method, all that needs to be done is to add another '#LST' or "#WLST' function call to the code. An example of how this code would look follows: #LST varlstl P3004 P3003 P3006 P3006 #LST bylstl wafer 1* Run a correlation #WLST corrtype pearson # RUN ('procs.scl','carr',edaslib.die.xlist. slist') 1* Run a univariate *1 #WLST unv-plot normal plot #RUN ('procs.scl','univar',edaslib.die.xlis t.slist') 1* #RUN (/procs.scl','freq',edaslib.die.xlist. slist ') *1 Run a frequency *1 92
6 Conclusion The components of the application described in this paper have many useful features. The lists allows the programmer the ability to easily validate user input before the code is submitted. The lists that are created during an interactive mode can be saved and retrieved during a subsequent batch or interactive SAS session. The frames provide the user with the ability to populate lists with values returned by the widgets they have selected. The values returned from the widgets are actually SAS code; in essence you are dynamically writing SAS code without having to know any SAS code. The methods are modular enough so that multiple applications could use the same method to perform similar tasks while simultaneously providing different interfaces to the user. Most of the SAS code that is submitted comes from lists, thus minimizing the amount of actual hard code in the methods. Code duplication is eliminated for batch and interactive modes with the exception of one master program used in batch processing. The scripts are generated dynamically. Since the code generated for one variable can be drastically different then the code generated for multiple variables, the use of dynamic scripts allows you to maintain only one batch script that can be modified very simply to generate far different code. Finally, the complexities of code generation are not passed on to the user. Having SAS/AF applications that run in both an interactive and a batch environment reduces duplicate code, saves time by allowing users to queue up multiple programs and run them in batch, and decreases the amount of code maintenance required. SAS, SAS/AF, SAS/ASSST, SAS/QC, SAS/ST AT are registered trademarks or trademarks of SAS nstitute nc. in the USA and other countries. 93
HOW TO DEVELOP A SAS/AF APPLICATION
PS001 Creating Effective Graphical User Interfaces Using Version 8 SAS/AF Anders Longthorne, National Highway Traffic Safety Administration, Washington, DC ABSTRACT Improving access to an organization
More informationCHAPTER 7 Using Other SAS Software Products
77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80
More informationCATALOGER: An Application Development Tool to View, Compare, and Document SAS Catalogs and Data Files
CATALOGER: An Application Development Tool to View, Compare, and Document SAS Catalogs and Data Files Christopher A. Roper, Qualex Consulting Services, Inc., Fairfax, Va. Gina M. Thomas, Qualex Consulting
More informationSAS/AF FRAME Entries: A Hands-on Introduction
SAS/AF FRAME Entries: A Hands-on Introduction Vincent L. Timbers The Pennsylvania State University, University Park, Pa. ABSTRACT Frame entries in SAS/AF use graphic display devices that enable application
More information1 Introducing SAS and SAS/ASSIST Software
1 CHAPTER 1 Introducing SAS and SAS/ASSIST Software What Is SAS? 1 Data Access 2 Data Management 2 Data Analysis 2 Data Presentation 2 SAS/ASSIST Software 2 The SAS/ASSIST WorkPlace Environment 3 Buttons
More informationUsing the SAS/MDDB and User Written Methods to Enhance SAS/EIS Objects
Using the SAS/MDDB and User Written Methods to Enhance SAS/EIS Objects Ben Cochran, The Bedford Group, Raleigh, NC Abstract SAS/EIS software provides an extensive, interactive applications development
More informationCan I have the menu please?
Can I have the menu please? Renee Beekwilder - PW Consulting Introduction It is vital for users to work with a system that is easy to use and understand and that requires as little training as possible.
More informationCATALOGER : An Application Development Tool to View,Compare, and Document SAS Catalogs and Data Files
CATALOGER : An Application Development Tool to View,Compare, and Document SAS Catalogs and Data Files Christopher A. Roper, Qualex Consulting Services, Inc., Fairfax, Va. Michael Gilman, Qualex Consulting
More informationFeature PROGRAM Entries FRAME Entries. quickly prototype an'application using the interactive development environment
Object-Oriented Graphical User Interface (OOGUI) Using FRAME Entries in SAS/AP Software Part I Jeff Cartier, SAS Institute Inc., Cary, NC Bill Powers, SAS Institute Inc., Cary, NC ABSTRACT The FRAME entry
More informationChapter 28 Saving and Printing Tables. Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS OUTPUT OBJECTS...
Chapter 28 Saving and Printing Tables Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS...418 OUTPUT OBJECTS...422 415 Part 2. Introduction 416 Chapter 28 Saving and Printing Tables
More informationWorking with Classes in SAS/AF Frame Entries
Working with Classes in SAS/AF Frame Entries Dan Gronell Hoffman-La Roche NTRODUCTON While the initial costs of learning object oriented programming (OOP) techniques can be high, the payoff can be significant:
More informationExecuting SAS/AF Applications
53 CHAPTER 4 Executing SAS/AF Applications Overview 53 AF Command 53 Syntax 54 Requirement 54 Options 54 Using the AF Command 59 AFAPPLICATION Command 59 Syntax 59 Comparison with the AF Command 60 Sharing
More informationJourney to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China
Journey to the center of the earth Deep understanding of SAS language processing Di Chen, SAS Beijing R&D, Beijing, China ABSTRACT SAS is a highly flexible and extensible programming language, and a rich
More informationSAS System Powers Web Measurement Solution at U S WEST
SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process
More informationGetting Started With Frame Technology Christopher A. Roper, Qualex Consulting Services, Inc., Hillsville, Va.
Getting Started With Frame Technology Christopher A. Roper, Qualex Consulting Services, Inc., Hillsville, Va. Introduction Creating SAS/Frame applications allows users to build SAS applications using an
More informationPrevent Pane - Moving from MENU & PROGRAM Entries to FRAME Entries Loretta Golby, ISM Alberta Serge Dupuis, BKD Software Consultants Edmonton, Alberta
Prevent Pane - Moving from MENU & PROGRAM Entries to FRAME Entries Loretta Golby, ISM Alberta Serge Dupuis, BKD Software Consultants ABSTRACT New releases of SAS software provide greater flexibility for
More informationTeaching statistics and the SAS System
Teaching statistics and the SAS System Ass. Prof. Dipl.Ing. Dr. Barbara Schneider Institute for Medical Statistics, University of Vienna,Vienna, Austria Abstract This presentation offers ideas and examples
More informationAPPENDIX 2 Customizing SAS/ASSIST Software
241 APPENDIX 2 Customizing SAS/ASSIST Software Introduction 241 Setting User Profile Options 241 Creating an Alternate Menu Bar 243 Introduction This appendix describes how you can customize your SAS/ASSIST
More informationSAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC
SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses
More informationUsing PC SAS/ASSIST* for Statistical Analyses
Using PC SAS/ASSIST* for Statistical Analyses Margaret A. Nemeth, Monsanto Company lptroductjon SAS/ASSIST, a user friendly, menu driven applications system, is available on several platforms. This paper
More informationGetting Started with SAS/EIS Software
Introduction Getting Started with SAS/EIS Software SAS/EIS Software enables Rapid Applications Development of Menu Screens, Drill Down Graphics, Drill Down Reports and other dynamic graphical reports.
More informationAPPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.
255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate
More informationIntroduction. Introduction to SCL. SCL Elements CHAPTER 1
3 CHAPTER 1 Introduction Introduction to SCL 3 SCL Elements 3 Entering SCL Code 4 Compiling SCL Programs 4 Compiling Your SCL Program Interactively 4 Compiling Your SCL Program in Batch 5 The SCL Data
More informationAn Introduction to SAS/SHARE, By Example
Paper AD01 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to access and edit the same
More informationSAS/ASSIST Software Setup
173 APPENDIX 3 SAS/ASSIST Software Setup Appendix Overview 173 Setting Up Graphics Devices 173 Setting Up Remote Connect Configurations 175 Adding a SAS/ASSIST Button to Your Toolbox 176 Setting Up HTML
More informationJennifer Clegg and Carol Rigsbee, SAS Institute Inc., Cary, NC
OLE and the SAS System for Windows Release 6.12 Jennifer Clegg and Carol Rigsbee, SAS Institute Inc., Cary, NC ABSTRACT This paper describes the OLE support within the SAS System for Windows Release 6.12.
More informationFor example, let's say that we have the following functional specification:
FRAME IT: THE NUTS AND BOLTS OF RAD Marty Brown, CommScope, Inc., Claremont, NC INTRODUCTION The road to finishing a quality application does not have to be a long and confusing one. With the advent of
More informationChapter 28 Command Reference. Chapter Table of Contents TSVIEW COMMAND FORECAST COMMAND
Chapter 28 Command Reference Chapter Table of Contents TSVIEW COMMAND...1353 FORECAST COMMAND...1353 1351 Part 3. General Information 1352 Chapter 28 Command Reference TSVIEW command The TSVIEW command
More informationSAS Training Spring 2006
SAS Training Spring 2006 Coxe/Maner/Aiken Introduction to SAS: This is what SAS looks like when you first open it: There is a Log window on top; this will let you know what SAS is doing and if SAS encountered
More informationI BUILD c=sugi21.appl.listo.frame
SASJAF Frames: List Objects Serge Dupuis, BKD Software Consultants Loretta Golby, SM Alberta Edmonton, Alberta, Canada Abstract This tutorial will cover the use of simple and complex selection list objects
More informationIntroduction to FRAME Entries in SAS/AF Software John C. Boling, SAS Institute Inc., Cary, NC
Introduction to FRAME Entries in SAS/AF Software John C. Boling, SAS Institute Inc., Cary, NC INTRODUCTION SAS/AF software, announced in 1985, is an application facility for building interactive enterprise
More informationAn Interactive GUI Front-End for a Credit Scoring Modeling System
Paper 6 An Interactive GUI Front-End for a Credit Scoring Modeling System Jeffrey Morrison, Futian Shi, and Timothy Lee Knowledge Sciences & Analytics, Equifax Credit Information Services, Inc. Abstract
More informationUsing SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL
Using SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL ABSTRACT SAS is a powerful programming language. When you find yourself
More informationTHIS OLD HOUSE WITH SAS
THIS OLD HOUSE WITH SAS William H. Crouch Old Dominion University Abstract When asked what tools to bring to the job site, Bob Vila would probably list such items as a saw, a ruler, and hammer. While SAS/AF
More informationSAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.
SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. Abstract This paper provides a detailed analysis of creating static and dynamic web content using the
More informationMacro Architecture in Pictures Mark Tabladillo PhD, marktab Consulting, Atlanta, GA Associate Faculty, University of Phoenix
Paper PS16_05 Macro Architecture in Pictures Mark Tabladillo PhD, marktab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT The qualities which SAS macros share with object-oriented
More informationWindows: SPX Access Method
403 CHAPTER 28 Windows: SPX Access Method SAS Support for SPX on Windows 403 Tasks That Are Common to SAS/CONNECT and SAS/SHARE 404 System and Software Requirements for SAS/CONNECT and SAS/SHARE 404 Windows
More informationTasks Menu Reference. Introduction. Data Management APPENDIX 1
229 APPENDIX 1 Tasks Menu Reference Introduction 229 Data Management 229 Report Writing 231 High Resolution Graphics 232 Low Resolution Graphics 233 Data Analysis 233 Planning Tools 235 EIS 236 Remote
More informationSAS/FSP 9.2. Procedures Guide
SAS/FSP 9.2 Procedures Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2008. SAS/FSP 9.2 Procedures Guide. Cary, NC: SAS Institute Inc. SAS/FSP 9.2 Procedures
More information186 Statistics, Data Analysis and Modeling. Proceedings of MWSUG '95
A Statistical Analysis Macro Library in SAS Carl R. Haske, Ph.D., STATPROBE, nc., Ann Arbor, M Vivienne Ward, M.S., STATPROBE, nc., Ann Arbor, M ABSTRACT Statistical analysis plays a major role in pharmaceutical
More informationChapter 23 Introduction to the OPTEX Procedure
Chapter 23 Introduction to the OPTEX Procedure Chapter Table of Contents OVERVIEW...719 Features...719 Learning about the OPTEX Procedure...720 GETTING STARTED...721 ConstructingaNonstandardDesign...721
More informationSAS/GRAPH Blues? SAS/FRAME to the Rescue Kathy Shelley, Iowa State University, Ames, Iowa
SAS/GRAPH Blues? SAS/FRAME to the Rescue {:^( }:^) Kathy Shelley, Iowa State University, Ames, Iowa ABSTRACT This paper shows how SAS/FRAME can be used to automate repetitive graph production, thus enabling
More informationWorking with Classes in SAS/ AF Frame Entries
Working with Classes in SAS/ AF Frame Entries Dan Gronell PfZer, nc nteractive Systems NTRODUCTON While the initial costs of learning object oriented programming (OOP) techniques can be high, the payoff
More informationSTAT:5400 Computing in Statistics
STAT:5400 Computing in Statistics Introduction to SAS Lecture 18 Oct 12, 2015 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu SAS SAS is the statistical software package most commonly used in business,
More informationHow to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix
Paper PO-09 How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., MarkTab Consulting, Atlanta, GA Associate Faculty, University of Phoenix ABSTRACT This paper demonstrates how to implement
More informationQuick Results with the Output Delivery System
Paper 58-27 Quick Results with the Output Delivery System Sunil K. Gupta, Gupta Programming, Simi Valley, CA ABSTRACT SAS s new Output Delivery System (ODS) opens a whole new world of options in generating
More informationChapter 27 Saving and Printing Graphics
Chapter 27 Saving and Printing Graphics Chapter Table of Contents CHOOSING FONTS...404 SETTING DISPLAY OPTIONS...406 SAVING GRAPHICS...407 SavingGraphicsCatalogs...407 SavingGraphicsFiles...408 PRINTING...410
More informationNo previous knowledge of Java is required for this workshop.
SAS webaf for Java Application Development, a First Sip Mickey Waxman University of Kansas, Lawrence, Kansas Larry Hoyle University of Kansas, Lawrence, Kansas ABSTRACT SAS webaf is an integrated development
More informationThis application note begins to explain the tools available for writing scripts for AcqKnowledge version 4.1.
Application Note 253 Getting Started in BIOPAC Basic Scripting Updated 6.10.10 BIOPAC Basic Scripting is a scripting language development option for executing, authoring, and debugging BIOPAC Basic scripts.
More informationSAP ABAP ONLINE TRAINING COURSE
SAP ABAP ONLINE TRAINING COURSE CONTENT What is SAP ABAP? ABAP is one of the many application-specific fourth-generation languages (4GLs) first developed in the 1980s. It was originally the report language
More informationGetting Started with SAS/ASSIST 9.1. SAS Documentation
Getting Started with SAS/ASSIST 9.1 SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. Getting Started with SAS/ASSIST 9.1. Cary, NC: SAS Institute
More informationGoing Under the Hood: How Does the Macro Processor Really Work?
Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts
More informationChapter 15 Mixed Models. Chapter Table of Contents. Introduction Split Plot Experiment Clustered Data References...
Chapter 15 Mixed Models Chapter Table of Contents Introduction...309 Split Plot Experiment...311 Clustered Data...320 References...326 308 Chapter 15. Mixed Models Chapter 15 Mixed Models Introduction
More informationChapter 1 Introduction. Chapter Contents
Chapter 1 Introduction Chapter Contents OVERVIEW OF SAS/STAT SOFTWARE................... 17 ABOUT THIS BOOK.............................. 17 Chapter Organization............................. 17 Typographical
More informationInformation Visualization
Paper 166-25 Presenting Your Data Easily with Graph-N-Go Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT Visualizing and presenting data effectively using reports and listings can
More informationlist-less Code: Energizing Your Frame Programs Using SCl Lists i
list-less Code: Energizing Your Frame Programs Using SCl Lists i David Bromberg, Number Crunching Services Inc. ABSTRACT Screen Control language (SCl) Lists are a critical element of SAS/AF FRAME entries,
More information1 Downloading files and accessing SAS. 2 Sorting, scatterplots, correlation and regression
Statistical Methods and Computing, 22S:30/105 Instructor: Cowles Lab 2 Feb. 6, 2015 1 Downloading files and accessing SAS. We will be using the billion.dat dataset again today, as well as the OECD dataset
More informationIntroduction to the SAS Macro Facility
Introduction to the SAS Macro Facility Uses for SAS Macros The macro language allows for programs that are dynamic capable of selfmodification. The major components of the macro language include: Macro
More information- 1 - Fig. A5.1 Missing value analysis dialog box
WEB APPENDIX Sarstedt, M. & Mooi, E. (2019). A concise guide to market research. The process, data, and methods using SPSS (3 rd ed.). Heidelberg: Springer. Missing Value Analysis and Multiple Imputation
More informationUSING THE SAS SYSTEM FOR AN ANALYSIS AND REPORTING SYSTEM FOR EFFLUENT MONITORING
USING THE SAS SYSTEM FOR AN ANALYSIS AND REPORTING SYSTEM FOR EFFLUENT MONITORING Thomas Walker, Martin Marietta Energy Systems, Inc., Oak Ridge, Tenn. Abstract A computerized analysis and reporting system
More informationSandra Hendren Health Data Institute
INTRODUCTION TO THE MACRO LANGUAGE Sandra Hendren Health Data Institute The purpose of this paper is to explain the macro language at a conceptual level. It will not discuss the syntax of the language
More informationAN INTRODUCTION TO DEVELOPING APPLICATIONS WITH SAS/AF FRAME ENTRIES. Advanced Tutorials. NESUG '96 Proceedings
AN INTRODUCTION TO DEVELOPING APPLICATIONS WITH SAS/AF FRAME ENTRIES Vincent L. Timbers The Pennsylvania State University, University Park, PA Advanced Tutorials ABSTRACT Frame entries in SAS/ AF use graphic
More informationChoosing the Right Procedure
3 CHAPTER 1 Choosing the Right Procedure Functional Categories of Base SAS Procedures 3 Report Writing 3 Statistics 3 Utilities 4 Report-Writing Procedures 4 Statistical Procedures 5 Efficiency Issues
More informationrc = libname( mylib, /nosuch ); if rc ne 0 then %fatal; OR if libname( mylib, /nosuch ) then %fatal; Select (flag); when (1) when (2) otherwise %fatal(text= Unexpected flag value, syscodes=n); end; %macro
More informationUsing AppDev Studio and Integration Technologies for an Easy and Seamless Interface Between Java and Server-Side SAS
Paper 33-28 Using AppDev Studio and Integration Technologies for an Easy and Seamless Interface Between Java and Server-Side SAS Barry R. Cohen, Planning Data Systems, Inc. ABSTRACT The application landscape
More informationSAS Macro. SAS Training Courses. Amadeus Software Ltd
SAS Macro SAS Training Courses By Amadeus Software Ltd AMADEUS SOFTWARE LIMITED SAS TRAINING Amadeus have been delivering SAS Training since 1989 and our aim is to provide you with best quality SAS training
More informationSQL Query Window Classes: How To Incorporate the SQL Column Expression Builder Class In Custom SAS/AF Applications
SQL Query Window Classes: How To Incorporate the SQL Column Expression Builder Class In Custom SAS/AF Applications Christopher A. Roper, Qualex Consulting Services, Inc. Fairfax, Va. Abstract SQL (Structured
More informationDriving to Better Credit Policies : The Risk Strategy Instrument Panel
Paper 30 Driving to Better Credit Policies : The Risk Strategy Instrument Panel Michael Davis, Bassett Consulting Services, North Haven, Connecticut Adam Terr, GE Capital Card Services, Stamford, Connecticut
More informationOverview of SAS/GIS Software
3 CHAPTER 1 Overview of SAS/GIS Software Introduction to Geographic Information Systems 3 Features of SAS Software 4 Data in SAS/GIS Applications 5 Spatial Data 5 Spatial Data Layers 6 Spatial Data Coverages
More informationOpal-RAD Admin Guide. Table of Contents
1 Opal-RAD Admin Guide Table of Contents User Administration... 3 Introduction... 4 User Management: Add Users... 6 User Management: View/Edit Users... 9 User Management: Add Groups... 10 User Management:
More informationUsing SAS to Analyze CYP-C Data: Introduction to Procedures. Overview
Using SAS to Analyze CYP-C Data: Introduction to Procedures CYP-C Research Champion Webinar July 14, 2017 Jason D. Pole, PhD Overview SAS overview revisited Introduction to SAS Procedures PROC FREQ PROC
More informationXprint V8.0. Graphical User Interface
Xprint V8.0 Graphical User Interface Edition September 2009 Copyright and Trademarks Copyright Océ Software Laboratories Namur S.A. 2009 All rights reserved. Delivery subject to availability; right of
More informationReport Writer Creating a Report
Report Writer Creating a Report 20855 Kensington Blvd Lakeville, MN 55044 TEL 1.952.469.1589 FAX 1.952.985.5671 www.imagetrend.com Creating a Report PAGE 2 Copyright Report Writer Copyright 2010 ImageTrend,
More informationBeginning Tutorials. PROC FSEDIT NEW=newfilename LIKE=oldfilename; Fig. 4 - Specifying a WHERE Clause in FSEDIT. Data Editing
Mouse Clicking Your Way Viewing and Manipulating Data with Version 8 of the SAS System Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT Version 8 of the
More informationInteractive Systems. NESUG '96 Proceedings ROUND PEGS INTO SQUARE HOLES: DATA WAREHOUSES FOR THE HARDWARE IMPAIRED
ROUND PEGS INTO SQUARE HOLES: DATA WAREHOUSES FOR THE HARDWARE IMPAIRED Michael Davis Bassett Consulting Services, Inc. Abstract One of the dirty secrets of most data warehouse projects is that they require
More informationSpec Edit: A Frame Based Application for Managing Revision Controlled Specifications
Spec Edit: A Frame Based Application for Managing Revision Controlled Specifications Richard A. De Venezia Kalman J. Gyimesi, Ciba Corning Diagnostics Abstract: Specification limits are an important part
More informationUsing Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics
SAS6660-2016 Using Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics ABSTRACT Brandon Kirk and Jason Shoffner, SAS Institute Inc., Cary, NC Sensitive data requires elevated security
More informationSAP- ABAP/4 ADVANCED COURSE CONTENT
SAP- ABAP/4 ADVANCED COURSE CONTENT SAP Basic Introduction SAP R/3 Overview SAP POC BRD Creation Blue-Print Roadmap Asap Methodology Project Management Overview ABAP Dictionary Concepts Tables, Data Elements
More informationTutorial: Using Tina Vision s Quantitative Pattern Recognition Tool.
Tina Memo No. 2014-004 Internal Report Tutorial: Using Tina Vision s Quantitative Pattern Recognition Tool. P.D.Tar. Last updated 07 / 06 / 2014 ISBE, Medical School, University of Manchester, Stopford
More informationAccepting Task Updates in Project Online / Project Server 2016 By: Collin Quiring
Accepting Task Updates in Project Online / Project Server 2016 By: Collin Quiring This document explains the steps for a Project Manager to view and accept (or reject) task updates. This is for Project
More informationAn Application Developer s Roadmap for Moving to Version 7 in SAS/AF Steven A. Wilson, MAJARO InfoSystems, Inc., Santa Clara CA
An Application Developer s Roadmap for Moving to Version 7 in SAS/AF Steven A. Wilson, MAJARO InfoSystems, Inc., Santa Clara CA Abstract Development of SAS/AF applications in Version 7 will be much different
More informationIntroductory Guide to SAS:
Introductory Guide to SAS: For UVM Statistics Students By Richard Single Contents 1 Introduction and Preliminaries 2 2 Reading in Data: The DATA Step 2 2.1 The DATA Statement............................................
More informationIntroduction. Getting Started with the Macro Facility CHAPTER 1
1 CHAPTER 1 Introduction Getting Started with the Macro Facility 1 Replacing Text Strings Using Macro Variables 2 Generating SAS Code Using Macros 3 Inserting Comments in Macros 4 Macro Definition Containing
More informationGetting Started with Xpediter/Eclipse
Getting Started with Xpediter/Eclipse This guide provides instructions for how to use Xpediter/Eclipse to debug mainframe applications within an Eclipsebased workbench (for example, Topaz Workbench, Eclipse,
More informationApplication Notes for Integrating Vitel Software s Ivize Reporting Package with Avaya Communication Manager - Issue 1.0
Avaya Solution & Interoperability Test Lab Application Notes for Integrating Vitel Software s Ivize Reporting Package with Avaya Communication Manager - Issue 1.0 Abstract These Application Notes describe
More informationSAS Structural Equation Modeling 1.3 for JMP
SAS Structural Equation Modeling 1.3 for JMP SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2012. SAS Structural Equation Modeling 1.3 for JMP. Cary,
More informationUsing OLE in SAS/AF Software
187 CHAPTER 9 Using OLE in SAS/AF Software About OLE 188 SAS/AF Catalog Compatibility 188 Inserting an OLE Object in a FRAME Entry 188 Inserting an OLE Object 189 Pasting an OLE Object from the Clipboard
More informationHow to Implement the One-Time Methodology Mark Tabladillo, Ph.D., Atlanta, GA
How to Implement the One-Time Methodology Mark Tabladillo, Ph.D., Atlanta, GA ABSTRACT This tutorial will demonstrate how to implement the One-Time Methodology, a way to manage, validate, and process survey
More information\WSS95. Applications Development. Managing Longitudinal Panel Surveys Using Interactive Applications Created by SAS!Af and SASJFsp with SCL
Managing Longitudinal Panel Surveys Using Interactive Applications Created by SAS!Af and SASJFsp with SCL Miriam Cistemas, Technology Assessment Group, San Francisco, California ABSTRACT Social science
More informationSolar Eclipse Widgets and Menu Shortcuts. Release 9.0.5
Solar Eclipse Widgets and Menu Shortcuts Release 9.0.5 i Table Of Contents Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents,
More informationCHAPTER 7 Examples of Combining Compute Services and Data Transfer Services
55 CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services Introduction 55 Example 1. Compute Services and Data Transfer Services Combined: Local and Remote Processing 56 Purpose 56
More informationA Maintenance-Free Menu Driven Closure System by Stephen M. Noga, Rho, Inc.
A Maintenance-Free Menu Driven Closure System by Stephen M. Noga, Rho, Inc. Introduction As a clinical trial nears closure, a series of data validation programs are run, sometimes individually, and sometimes
More informationPhotos with Text Reports on the Same SAS/AF Screen
Photos with Text Reports on the Same SAS/AF Screen Michael Shreve, American Honda Motor Company, Torrance, California Abstract The day of the digital media has arrived! Our field reps are armed with digital
More informationChapter 13 Multivariate Techniques. Chapter Table of Contents
Chapter 13 Multivariate Techniques Chapter Table of Contents Introduction...279 Principal Components Analysis...280 Canonical Correlation...289 References...298 278 Chapter 13. Multivariate Techniques
More informationV6 Programming Fundamentals: Part 1 Stored Procedures and Beyond David Adams & Dan Beckett. All rights reserved.
Summit 97 V6 Programming Fundamentals: Part 1 Stored Procedures and Beyond by David Adams & Dan Beckett 1997 David Adams & Dan Beckett. All rights reserved. Content adapted from Programming 4th Dimension:
More informationSAS/AF and Internet Explorer: Capturing Web Forms Data Entry in Thick Client Applications
SAS/AF and Internet Explorer: Capturing Web Forms Data Entry in Thick Client Richard A. DeVenezia, Independent Consultant ABSTRACT This paper presents a new twist in data entry. The Microsoft Web Browser
More informationAnalysis of Complex Survey Data with SAS
ABSTRACT Analysis of Complex Survey Data with SAS Christine R. Wells, Ph.D., UCLA, Los Angeles, CA The differences between data collected via a complex sampling design and data collected via other methods
More informationThe DATA Statement: Efficiency Techniques
The DATA Statement: Efficiency Techniques S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT One of those SAS statements that everyone learns in the first day of class, the DATA statement rarely gets
More informationACCESSING YOUR DATABASES WITH THE SAS SYSTEM. C. Michael Whitney. USAF Environmental Technical Application Center
ACCESSING YOUR DATABASES WITH THE SAS SYSTEM C. Michael Whitney. USAF Environmental Technical Application Center ABSTRACT This paper will discuss SAS.07's improvements to ACCESS and Sal and how they eliminate
More informationFSEDIT Procedure Windows
25 CHAPTER 4 FSEDIT Procedure Windows Overview 26 Viewing and Editing Observations 26 How the Control Level Affects Editing 27 Scrolling 28 Adding Observations 28 Entering and Editing Variable Values 28
More information