learnex

 
SAS

Chapter 1: INTRODUCTION TO SAS

  • INTRODUCTION
  • NEED FOR SAS
  • WHO USES SAS
  • WHAT IS SAS?
  • OVERVIEW OF BASE SAS SOFTWARE
  • DATA MANAGEMENT FACILITY
  • STRUCTURE OF SAS DATASET
  • SAS PROGRAM
  • PROGRAMMING LANGUAGE
  • ELEMENTS OF THE SAS LANGUAGE
  • RULES FOR SAS STATEMENTS
  • RULES FOR MOST SAS NAMES
  • SPECIAL RULES FOR VARIABLE NAMES
  • TYPES OF VARIABLES
  • DATA ANALYSIS AND REPORTING UTILITIES
  • TRADITIONAL OUTPUT
  • WAYS TO RUN SAS PROGRAMS
  • SAS WINDOWING ENVIRONMENT
  • NONINTERACTIVE MODE
  • BATCH MODE
  • INTERACTIVE LINE MODE
  • RUNNING PROGRAMS IN THE SAS WINDOWING ENVIRONMENT

Chapter 2: HOW SAS WORKS

  • WRITING YOUR FIRST SAS PROGRAM
  • A SIMPLE PROGRAM TO READ RAW DATA AND PRODUCE A REPORT
  • ENHANCING THE PROGRAM
  • MORE ON COMMENT STATEMENTS
  • INTERNAL PROCESSING IN SAS
  • HOW SAS WORKS
  • THE COMPILATION PHASE
  • THE EXECUTION PHASE
  • PROCESSING A DATA STEP: A WALKTHROUGH
  • CREATING THE INPUT BUFFER AND THE PROGRAM DATA VECTOR
  • WRITING AN OBSERVATION TO THE SAS DATA SET
  • FOUR TYPES OF SAS LIBRARIES
  • SAS LIBRARIES
  • WORK LIBRARY
  • SASHELP LIBRARY
  • SASUSER LIBRARY

Chapter 3: READING RAW DATA INTO SAS

  • WHAT IS RAW DATA
  • DEFINITIONS
  • DATA VALUES
  • NUMERIC VALUE
  • CHARACTER VALUE
  • STANDARD DATA
  • NONSTANDARD DATA
  • NUMERIC DATA
  • CHARACTER DATA
  • CHOOSING AN INPUT STYLE
  • LIST INPUT
  • MODIFIED LIST INPUT
  • COLUMN INPUT
  • FORMATTED INPUT
  • NAMED INPUT
  • INSTREAM DATA
  • CREATING MULTIPLE RECORDS FROM SINGLE INPUT ROW
  • READING DATA FROM EXTERNAL FILES
  • READING BLANK SEPARATED VALUES (LIST OR FREE FORM DATA):
  • READING RAW DATA SEPARATED BY COMMAS (.CSV FILES):
  • READING IN RAW DATA SEPARATED BY TABS (.TXT FILES):
  • USING INFORMATS WITH LIST INPUT
  • SUPPLYING AN INFORMAT STATEMENT WITH LIST INPUT
  • USING LIST INPUT WITH EMBEDDED DELIMITERS
  • READING RAW DATA THAT ARE ALIGNED IN COLUMNS:
  • METHOD 1: COLUMN INPUT
  • METHOD 2: FORMATTED INPUT
  • USING MORE THAN ONE INPUT STATEMENT: THE SINGLE TRAILING @
  • READING COLUMN DATA THAT IS ON MORE THAN ONE LINE
  • MIXED-STYLE INPUT:
  • INFILE OPTIONS FOR SPECIAL SITUATIONS
  • FLOWOVER
  • MISSOVER
  • TRUNCOVER
  • PAD
  • USING LRECL TO READ VERY LONG LINES OF RAW DATA
  • CHECKING YOUR DATA AFTER IT HAS BEEN READ INTO SAS

Chapter 4: READING DATA FROM A DATASET

  • INTRODUCTION
  • SET STATEMENT OVERVIEW
  • AUTOMATIC VARIABLES IN SAS
  • INTERLEAVE MULTIPLE SAS DATA SETS
  • COMBINE MULTIPLE SAS DATA SETS
  • CREATING & MODIFYING VARIABLES
  • CREATING MULTIPLE DATASETS IN A SINGLE DATA-STEP
  • SUBSETTING OBSERVATIONS
  • CONDITIONAL SAS STATEMENTS
  • LOGICAL AND SPECIAL OPERATORS
  • THE SAS SUPERVISOR AND THE SET STATEMENT
  • EFFICIENCY AND THE SET STATEMENT
  • KNOW YOUR DATA
  • SET STATEMENT DATA SET OPTIONS
  • DROP AND KEEP OPTIONS
  • RENAME OPTION
  • FIRSTOBS AND OBS OPTIONS
  • IN OPTION -
  • WHERE OPTION -
  • OTHER SET STATEMENT OPTIONS
  • END OPTION
  • KEY OPTION
  • NOBS OPTION
  • POINT OPTION
  • DO LOOPS AND THE SET STATEMENT
  • INTRODUCTION TO RETAIN STATEMENT
  • CARRY OVER VALUES FROM ONE OBSERVATION TO ANOTHER
  • COMPARE VALUES ACROSS OBSERVATIONS
  • ASSIGN INITIAL VALUES
  • DETERMINING COLUMN ORDER IN OUTPUT DATASET
  • SAS SYSTEM OPTIONS

Chapter 5: READING DATA FROM A DATASET

  • INPUT SAS DATA SET FOR EXAMPLE
  • SELECTING OBSERVATIONS FOR A NEW SAS DATA SET
  • DELETING OBSERVATIONS BASED ON A CONDITION
  • ACCEPTING OBSERVATIONS BASED ON A CONDITION
  • COMPARING THE DELETE AND SUBSETTING IF STATEMENTS
  • METHODS OF CREATING NEW DATA SETS WITH A SUBSET
  • SUBSETTING RECORDS FROM AN EXTERNAL FILE WITH A SUBSETTING IF STATEMENT
  • SUBSETTING OBSERVATIONS IN A DATA STEP WITH A WHERE STATEMENT
  • SUBSETTING OBSERVATIONS IN A PROC STEP WITH A WHERE STATEMENT
  • SUBSETTING OBSERVATIONS IN PROC SQL
  • DIFFERENCE BETWEEN IF AND WHERE

Chapter 6: SAS INFORMATS AND FORMATS

  • OVERVIEW
  • USING SAS INFORMATS
  • INPUT STATEMENT
  • INPUT FUNCTION
  • INPUTN AND INPUTC FUNCTIONS
  • ATTRIB AND INFORMAT STATEMENTS
  • USING SAS FORMATS
  • FORMAT STATEMENT IN PROCEDURES
  • PUT STATEMENT
  • PUT FUNCTION
  • PUTN AND PUTC FUNCTIONS
  • BESTw. Format
  • ADDITIONAL COMMENTS

Chapter 7: SAS FUNCTIONS

  • CATEGORIES OF FUNCTIONS
  • SAS CHARACTER FUNCTIONS
  • FUNCTIONS THAT CHANGE THE CASE OF CHARACTERS
  • UPCASE
  • LOWCASE
  • PROPCASE
  • FUNCTIONS THAT REMOVE CHARACTERS FROM STRINGS
  • FUNCTION: COMPBL
  • FUNCTION: COMPRESS
  • FUNCTIONS THAT SEARCH FOR CHARACTERS
  • FUNCTION: ANYALNUM
  • FUNCTION: ANYALPHA
  • FUNCTION: ANYDIGIT
  • FUNCTION: ANYPUNCT
  • FUNCTION: ANYSPACE
  • FUNCTION: NOTALNUM
  • FUNCTION: NOTALPHA
  • FUNCTION: NOTDIGIT
  • FUNCTION: NOTUPPER
  • FUNCTIONS THAT SEARCH STRINGS
  • FIND AND FINDC
  • INDEX, INDEXC, AND INDEXW
  • FUNCTIONS TO VERIFY DATA
  • FUNCTION VERIFY
  • FUNCTIONS THAT EXTRACT PARTS OF STRINGS
  • FUNCTION: SUBSTR (ON THE LEFT-HAND SIDE OF THE EQUAL SIGN)
  • FUNCTION: SUBSTRN
  • FUNCTIONS THAT JOIN TWO OR MORE STRINGS TOGETHER
  • FUNCTION: CAT
  • FUNCTION: CATS
  • FUNCTION: CATT
  • FUNCTION: CATX
  • FUNCTIONS THAT REMOVE BLANKS FROM STRINGS
  • FUNCTION: LEFT
  • FUNCTION: RIGHT
  • FUNCTION: TRIM
  • FUNCTION: TRIMN
  • FUNCTION: STRIP
  • FUNCTIONS THAT COMPARE STRINGS
  • FUNCTION: COMPARE
  • FUNCTIONS THAT DIVIDE STRINGS INTO "WORDS"
  • FUNCTION: SCAN
  • FUNCTION: SCANQ
  • FUNCTIONS THAT SUBSTITUTE LETTERS OR WORDS IN STRINGS
  • FUNCTION: TRANSLATE
  • FUNCTION: TRANWRD
  • FUNCTIONS THAT COMPUTE THE LENGTH OF STRINGS
  • FUNCTION: LENGTH
  • FUNCTION: LENGTHC
  • FUNCTION: LENGTHM
  • FUNCTION: LENGTHN
  • FUNCTIONS THAT COUNT THE NUMBER OF LETTERS OR SUBSTRINGS IN A STRING
  • FUNCTION: COUNT
  • FUNCTION: COUNTC
  • MISCELLANEOUS STRING FUNCTIONS
  • FUNCTION: MISSING
  • FUNCTION: REPEAT
  • FUNCTION: REVERSE
  • SAS DATE AND TIME FUNCTIONS
  • INTRODUCTION
  • WHAT IS A SAS DATE AND TIME LITERAL?
  • DATE AND TIME FUNCTIONS
  • FUNCTINS TO CREATE DATE AND TIME VALUES
  • FUNCTIONS TO TAKIE DATETIME VALUES APART
  • FUNCTIONS TO GET QUARTER ,YEAR OR DAY OF THE DATE
  • FUNCTIONS THAT WORK WITH INTERVALS
  • USING FORMATS FOR DATE AND TIME
  • SYSTEM OPTIONS FORDATE AND TIME

Chapter 8: AN INTRODUCTION TO ARRAYS AND ARRAY PROCESSING

  • WHY DO WE NEED ARRAYS?
  • BASIC ARRAY CONCEPTS
  • ARRAY STATEMENT
  • ARRAY REFERENCES
  • VARIABLE NAME ARRAY REFERENCE
  • USING ARRAY INDEXES
  • ONE DIMENSION ARRAYS
  • MULTI-DIMENSION ARRAYS
  • TEMPORARY ARRAYS
  • SORTING ARRAYS
  • Determining Array Bounds: LBOUND and HBOUND Functions
  • WHEN TO USE ARRAYS
  • COMMON ERRORS AND MISUNDERSTANDINGS
  • INVALID INDEX RANGE
  • FUNCTION NAME AS AN ARRAY NAME
  • ARRAY REFERENCED IN MULTIPLE DATA STEPS, BUT DEFINED IN ONLY ONE

Chapter 9: BY - GROUP PROCESSING

  • DEFINITIONS FOR BY-GROUP PROCESSING
  • BY-GROUP PROCESSING
  • BY VALUE
  • BY GROUP
  • FIRST.VARIABLE AND LAST.VARIABLE
  • MODIFYING SAS DATA SETS: EXAMPLES.
  • INVOKING BY-GROUP PROCESSING
  • PREPROCESSING INPUT DATA FOR BY-GROUP PROCESSING
  • SORTING OBSERVATIONS FOR BY-GROUP PROCESSING
  • INDEXING FOR BY-GROUP PROCESSING
  • HOW THE DATA STEP IDENTIFIES BY GROUPS
  • PROCESSING OBSERVATIONS IN A BY GROUP
  • HOW SAS DETERMINES FIRST.VARIABLE AND LAST.VARIABLE
  • PROCESSING BY-GROUPS IN THE DATA STEP
  • OVERVIEW
  • PROCESSING BY-GROUPS CONDITIONALLY
  • DATA NOT IN ALPHABETIC OR NUMERIC ORDER
  • DATA GROUPED BY FORMATTED VALUES

Chapter 10: OVERVIEW OF METHODS FOR COMBINING SAS DATA SETS

  • DEFINITIONS
  • CONCATENATING
  • INTERLEAVING
  • ONE-TO- ONE READING OR ONE-TO-ONE MERGING
  • MATCH-MERGING
  • UPDATING
  • MODIFYING
  • DEFINITIONS FOR READING, COMBINING, AND MODIFYING SAS DATA SETS
  • READING A SAS DATA SET
  • COMBINING SAS DATA SETS
  • MODIFYING SAS DATA SETS
  • OVERVIEW OF TOOLS
  • READING SAS DATA SETS
  • READING A SINGLE SAS DATA SET
  • READING FROM MULTIPLE SAS DATA SETS
  • COMBINING SAS DATA SETS: BASIC CONCEPTS
  • ONE-TO-ONE
  • ONE-TO-MANY AND MANY-TO-ONE
  • MANY-TO-MANY
  • ACCESS METHODS: SEQUENTIAL VERSUS DIRECT
  • SEQUENTIAL ACCESS
  • DIRECT ACCESS
  • ONE-TO-ONE READING
  • DATA STEP PROCESSING DURING A ONE-TO-ONE READING
  • ONE-TO-ONE MERGING
  • MATCH-MERGING
  • UPDATING WITH THE UPDATE AND THE MODIFY STATEMENTS :
  • DEFINITIONS
  • SYNTAX OF THE UPDATE STATEMENT
  • SYNTAX OF THE MODIFY STATEMENT -
  • UPDATING WITH NONMATCHED OBSERVATIONS, MISSING VALUES, AND NEW VARIABLES -
  • USING AN INDEX WITH THE MODIFY STATEMENT

Chapter 11: SAS PROCEDURES

  • INTRODUCTION
  • THE ANATOMY OF A PROC
  • THE PROC STATEMENT
  • TITLE AND FOOTNOTE STATEMENTS
  • BY STATEMENT
  • LABEL STATEMENT
  • FORMAT STATEMENT
  • RUN OR QUIT STATEMENT
  • DESCRIPTION OF DATA USED IN REPORTS
  • SAS REPORTING PROCEDURES
  • PROCS FOR ALL THAT DETAIL
  • USING PROC PRINT
  • USING PROC SQL
  • PROC REPORT
  • PROCS THAT SUMMARIZE
  • USING PROC CHART
  • USING PROC FREQ
  • USING PROC MEANS
  • USING PROC UNIVARIATE
  • INTRODUCTION TO PROC TABULATE
  • DATA MANIPULATION AND MANAGEMENT PROCEDURE
  • PROC SORT
  • PROC DATASETS
  • PROC FORMAT
  • PROC CONTENTS
  • OTHER IMPORTANT PROCS
  • PROC TRANSPOSE
  • DEFINITIONS
  • PROC PRINTTO
  • COMPARE PROCEDURE
  • PROC APPEND
  • HOW TO IMPORT AN EXCEL FILE INTO SAS

Chapter 12: INTRODUCTION TO PROC SQL

  • INTRODUCTION
  • WHY LEARN PROC SQL?
  • SELECT STATEMENT
  • THE SELECT STATEMENT SYNTAX
  • A SIMPLE PROC SQL
  • A COMPLEX PROC SQL
  • LIMITING INFORMATION ON THE SELECT
  • CREATING NEW VARIABLES
  • THE CALCULATED OPTION ON THE SELECT
  • USING LABELS AND FORMATS
  • THE CASE EXPRESSION ON THE SELECT
  • ADDITIONAL SELECT STATEMENT CLAUSES
  • REMERGING
  • REMERGING FOR TOTALS
  • CALCULATING PERCENTAGE
  • SORTING THE DATA IN PROC SQL
  • SORT ON NEW COLUMN
  • SUBSETTING USING THE WHERE
  • INCORRECT WHERE CLAUSE
  • WHERE ON COMPUTED COLUMN
  • SELECTION ON GROUP COLUMN
  • USE HAVING CLAUSE
  • CREATING NEW TABLES
  • JOINING DATASETS USING PROC SQL
  • INNER JOIN
  • JOINING THREE OR MORE TABLES
  • OUTER JOINS
  • INCLUDING NONMATCHING ROWS WITH THE RIGHT OUTER JOIN
  • SELECTING ALL ROWS WITH THE FULL OUTER JOIN
  • CONCATENATING QUERY RESULTS

Chapter 13: AN INTRODUCTION TO SAS MACROS

  • INTRODUCTION
  • SAS MACRO OVERVIEW
  • TRADITIONAL SAS PROGRAMMING
  • THE SAS MACRO LANGUAGE
  • MACRO LANGUAGE COMPONENTS
  • MACRO VARIABLES
  • MACRO STATEMENTS
  • MACRO PROCESSOR FLOW
  • AUTOMATIC MACRO VARIABLES
  • MACRO DEBUGGING OPTIONS
  • WHAT IS A MACRO?
  • DEFINING AND USING MACROS
  • POSITIONAL MACRO PARAMETERS
  • KEYWORD MACRO PARAMETERS
  • CONDITIONAL MACRO COMPILATION
  • THE %DO STATEMENT
  • SAS DATA STEP INTERFACES

Chapter 14: THE OUTPUT DELIVERY SYSTEM (ODS)

  • INTRODUCTION
  • CREATING VARIOUS TYPES OF REPORTS LISTING OUTPUT
  • OTHER DESTINATIONS
  • HTML
  • PDF AND POSTSCRIPT
  • RTF FILES
  • MICROSOFT EXCEL
  • ADDING STYLE TO YOUR REPORTS
  • LOCATE EXISTING STYLES
  • ODS STYLE= OPTION
  • CUSTOMIZE YOUR REPORTS
  • ODS SELECT; AND ODS EXCLUDE;
  • OTHER CUSTOMIZATIONS
  • ODS PROCLABEL= ;
  • ODS PROCTITLE; AND ODS NOPROCTITLE;
  • ADVANCED TECHNIQUES
  • ODS DOCUMENT
  • PROC TEMPLATE

Chapter 15: INTRODUCTION TO DIAGNOSING AND AVOIDING ERRORS

  • INTRODUCTION
  • UNDERSTANDING HOW THE SAS SUPERVISOR CHECKS A JOB
  • UNDERSTANDING HOW SAS PROCESSES ERRORS
  • DISTINGUISHING TYPES OF ERRORS .SAS RECOGNIZES FOUR KINDS OF ERRORS:
  • SYNTAX ERRORS
  • EXECUTION-TIME ERRORS
  • DATA ERRORS
  • SEMANTIC ERRORS
  • DIAGNOSING ERRORS
  • DIAGNOSING SYNTAX ERRORS
  • DIAGNOSING DATA ERRORS
  • USING A QUALITY CONTROL CHECKLIST

Chapter 16: ADVANCE TOPICS IN SAS

  • PERFORMING ADVANCED QUERIES USING PROC SQL
  • INTRODUCING MACRO VARIABLES
  • CREATING AND USING MACRO PROGRAMS
  • STORING MACRO PROGRAMS
  • CREATING SAMPLES AND INDEXES
  • USING LOOKUP TABLES TO MATCH DATA
  • MODIFYING SAS DATA SETS AND TRACKING CHANGES
  • INTRODUCTION TO EFFICIENT SAS PROGRAMMING