STAT 3304/5304 Introduction to Statistical Computing. Understanding DATA Step Processing

Size: px
Start display at page:

Download "STAT 3304/5304 Introduction to Statistical Computing. Understanding DATA Step Processing"

Transcription

1 STAT 3304/5304 Introduction to Statistical Computing Understanding DATA Step Processing

2 Source of Data The DATA step s function is in general to get the data in shape for later PROCs and DATA steps. SAS PROCs can only read SAS datasets, but we might have some other type of file to process. You can use a DATA step to read raw data into a SAS data set from multiple sources: In-stream data: Cards/ Datalines / Input External file: Infile/ Input Database management system (DBMS): SAS access to DBMS (Oracle/SQL etc.) 1

3 Understanding DATA Step Understanding how the program operates can help you to anticipate how variables will be create and processed, to plan your modifications, and to interpret and debug program errors. It also gives you useful strategies for preventing and correcting common DATA step errors. To read the raw data file, the DATA step must give the following instructions to the SAS system: reference the external text file to be read name the SAS data set identify the external file describe the data values to be read 2

4 SAS DATA step By definition, a SAS dataset has a built in descriptor that keeps track of names and attributes of each of the datasets columns, so that later steps dont have to remember as many details. In the DATA step, we don t always have well defined data, and the DATA step gives us the power to read and write virtually any kind of file and do calculations and computations on a single row of data. When you submit a DATA step, SAS processes the DATA step and then creates a new SAS data set. As in many computer languages, the DATA step is first processed by a compiler and later, the compiled program is then executed. 3

5 SAS DATA step A SAS DATA step is processed in two phases: Compilation phase and execution phase. Each statement is scanned for syntax errors. Most syntax errors prevent further processing of the DATA step. If the DATA step compiles successfully, then the execution phase begins. 4

6 SAS DATA step A DATA step executes once for each observation in the input data set, unless otherwise directed. The following diagram shows the flow of DATA step processing for reading raw data. 5

7 Compilation phase Input buffer: an area of memory, is created to hold a record from the external file. The input buffer is created only when raw data is read, not when a SAS data set is read. Then the Program Data Vector (PDV) is created. The PDV is the area of memory where SAS software builds a data set, one observation at a time. 6

8 Compilation phase During the compile phase, SAS takes the following steps: 1. SAS creates a program data vector (PDV) containing the automatic variables N and ERROR 2. SAS scans each statement in the DATA step looking for syntax errors, such as missing semicolons and invalid statements. 3. When SAS compiles the INPUT statement, SAS adds a position to the PDV for each variable in the input data set. SAS gets the variable names and attributes, such as type and length, from the input data set. 4. SAS also adds a position to the PDV for any variables that are created in the DATA step. The attributes of each of these variables are determined by the expression in the statement. 5. SAS completes the compile phase at the bottom of the DATA step, and it is then that SAS makes the descriptor portion of the SAS data set. The output data set does not yet contain any observations, because SAS has not yet begun executing the program. When the compile phase is complete, that s when SAS starts the execution phase. 7

9 Logical Program Data Vector (PDV) The DATA step refines data, and as such, a second memory area is needed for: Inputting and input formatting (informatting) desired variables Revising existing values Computing new variables System indicators and flags This second area in memory is called the Logical Program Data Vector (PDV). When the compiler processes the DATA step, it needs to define a slot for each variable referenced in the program. 8

10 Logical Program Data Vector (PDV) These PDV slots will be defined in the order referenced in the program, and each variable has the following attributes: Relative variable number Position in the dataset Name Data type Length in bytes Informat Format Variable label Flags to indicate dropping and retaining of variables 9

11 Logical Program Data Vector (PDV) The program data vector contains two automatic pseudo variables that can be used for processing but which are not written to the data set as part of an observation. N counts the number of times that the DATA step begins to execute. ERROR signals the occurrence of an error that is caused by the data during execution. The default value is 0, which means there is no error. When on or more errors occur, the value is set to 1. 10

12 Syntax Checking During the compilation phase, SAS also scans each statement in the DATA step, looking for syntax errors. Syntax errors include missing or misspelled keywords invalid variable names missing or invalid punctuation invalid options 11

13 Execution phase Example: data temp; infile datalines; input ID SBP DBP SEX $ AGE WT; wtkg = WT/2.2; datalines; M F M F F run; During the execution phase, SAS takes the following steps: 1. The DATA step executes once for each observation in the input data set. 2. Initializing variables: the value of N is 1 and the value of ERROR is 0 because there are no data error. The remaining variables are initialized to missing. 12

14 Execution phase 3. INFILE statement: The INFILE statement identifies the location of the raw data. 4. INPUT statement: The INPUT statement reads a record into the input buffer. Then, the raw data is read and assigned to the program data vector. 5. The assignment statement executes to compute the first value of wtkg. 5. At the end of the first iteration of the DATA step, the values in the program data vector are written to the output data set temp as the first observation. 6. The value of the automatic variable N is increased to 2, and control returns to the top of the DATA step. The automatic variable ERROR retains its value of 0, since SAS has still not encountered an error. All other variable values, are reset to missing. 7. As the INPUT statement executes, the values from the second observation are written to the program data vector. 8. The assignment statement executes again to compute the value for wtkg for the second observation. 9. At the bottom of the DATA step, the values in the program data vector are written to the output data set temp as the second observation. 13

15 Execution phase 10. The DATA step works like a loop, repetitively executing statements to read data values and create observations one by one. 11. The execution phase continues in this manner until the end-of-file marker is reached in the raw data file. 12. When there are no more records in the raw data file to be read, the data portion of the new data set is complete. 13. At the end of the execution phase, the SAS log confirms that the raw data file was read, and it displays the number of observations and variables in the data set. 14

16 Debugging a DATA step Diagnosing Errors in the Compilation Phase: Many errors are detected during the compilation phase, including misspelled keywords and data set names missing semicolons unbalanced quotation marks invalid options. During the compilation phase, SAS can interpret some syntax errors (such as the keyword DATA misspelled as DAAT). 15

17 Debugging a DATA step If SAS cannot interpret the error, SAS prints the word ERROR followed by an error message in the log compiles but does not execute the step where the error occurred, and prints the following message to warn you: NOTE: The SAS System stopped processing this step because of errors. Some errors are explained fully by the message that SAS prints; other error messages are not as easy to interpret. 16

18 Debugging a DATA step As you have seen, errors can occur in the compilation phase, resulting in a DATA step that is compiled but not executed. Errors can also occur during the execution phase. When SAS detects an error in the execution phase, the following can occur, depending on the type of error: A note, warning, or error message is displayed in the log. The values that are stored in the program data vector are displayed in the log. The processing of the step either continues or stops. 17

19 Debugging a DATA step When no observations are written to the data set, you should check to see whether your DATA step was completely executed. Most likely, a syntax error or another error is being detected at the beginning of the execution phase. An invalid data message indicates that the program executed, but the data is not acceptable. Typically, the message indicates that a variable s type has been incorrectly identified in the INPUT statement, or that the raw data file contains some invalid data value(s). 18

20 Testing Your Programs Writing a NULL Data Set After you write or edit a DATA step, you can compile and execute your program without creating a data set. This enables you to detect the most common errors and saves you development time. A simple way to test a DATA step is to specify the keyword NULL as the data set name in the DATA statement. When you submit the DATA step, no data set is created, but any compilation or execution errors are written to the log after the values of the variables are read and verified. After correcting any errors, you can replace NULL with the name of the data set that you want to create. Limiting Observations Remember that you can use the OBS= option in the INFILE statement to limit the number of observations that are read or created during the execution of the DATA step. 19

21 Testing Your Programs PUT statement When the source of program errors is not apparent, you can use the PUT statement to examine variable values and to print your own message in the log. For diagnostic purposes, you can use IF-THEN/ELSE statements to conditionally check for values. General form, simple PUT statement: PUT specification(s); where each specification specifies what is written, how it is written, and where it is written. This can include a character string one or more data set variables the automatic variables N and ERROR the automatic variable ALL 20

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn);

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn); SAS-INTERVIEW QUESTIONS 1. What SAS statements would you code to read an external raw data file to a DATA step? Ans: Infile and Input statements are used to read external raw data file to a Data Step.

More information

Reading Delimited Text Files into SAS 9 TS-673

Reading Delimited Text Files into SAS 9 TS-673 Reading Delimited Text Files into SAS 9 TS-673 Reading Delimited Text Files into SAS 9 i Reading Delimited Text Files into SAS 9 Table of Contents Introduction... 1 Options Available for Reading Delimited

More information

Technical Paper. Reading Delimited Text Files into SAS 9

Technical Paper. Reading Delimited Text Files into SAS 9 Technical Paper Reading Delimited Text Files into SAS 9 Release Information Content Version: 1.1July 2015 (This paper replaces TS-673 released in 2009.) Trademarks and Patents SAS Institute Inc., SAS Campus

More information

5. Crea+ng SAS Datasets from external files. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming»

5. Crea+ng SAS Datasets from external files. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming» 5. Crea+ng SAS Datasets from external files 107 Crea+ng a SAS dataset from a raw data file 108 LIBNAME statement In most of cases, you may want to assign a libref to a certain folder (a SAS library) LIBNAME

More information

Nine Steps to Get Started using SAS Macros

Nine Steps to Get Started using SAS Macros Paper 56-28 Nine Steps to Get Started using SAS Macros Jane Stroupe, SAS Institute, Chicago, IL ABSTRACT Have you ever heard your coworkers rave about macros? If so, you've probably wondered what all the

More information

Writing Control Structures

Writing Control Structures Writing Control Structures Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 5-1 Objectives After completing this lesson, you should be able to do the following: Identify

More information

SAS Certified Base Programmer for SAS 9 A00-211. SAS Certification Questions and Answers with explanation

SAS Certified Base Programmer for SAS 9 A00-211. SAS Certification Questions and Answers with explanation SAS BASE Certification 490 Questions + 50 Page Revision Notes (Free update to new questions for the Same Product) By SAS Certified Base Programmer for SAS 9 A00-211 SAS Certification Questions and Answers

More information

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA Paper 2917 Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA ABSTRACT Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces

More information

Introduction to SAS Informats and Formats

Introduction to SAS Informats and Formats CHAPTER 1 Introduction to SAS Informats and Formats 1.1 Chapter Overview... 2 1.2 Using SAS Informats... 2 1.2.1 INPUT Statement... 3 1.2.2 INPUT Function... 7 1.2.3 INPUTN and INPUTC Functions... 8 1.2.4

More information

SAS Tips and Tricks. Disclaimer: I am not an expert in SAS. These are just a few tricks I have picked up along the way.

SAS Tips and Tricks. Disclaimer: I am not an expert in SAS. These are just a few tricks I have picked up along the way. SAS Tips and Tricks Disclaimer: I am not an expert in SAS. These are just a few tricks I have picked up along the way. Saving Data Files Note: You can skip this step entirely by reading the data in directly

More information

Symbol Tables. Introduction

Symbol Tables. Introduction Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The

More information

Chapter 5 Programming Statements. Chapter Table of Contents

Chapter 5 Programming Statements. Chapter Table of Contents Chapter 5 Programming Statements Chapter Table of Contents OVERVIEW... 57 IF-THEN/ELSE STATEMENTS... 57 DO GROUPS... 58 IterativeExecution... 59 JUMPING... 61 MODULES... 62 Defining and Executing a Module....

More information

Everything you wanted to know about MERGE but were afraid to ask

Everything you wanted to know about MERGE but were afraid to ask TS- 644 Janice Bloom Everything you wanted to know about MERGE but were afraid to ask So you have read the documentation in the SAS Language Reference for MERGE and it still does not make sense? Rest assured

More information

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health

AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason

More information

Salesforce Classic Guide for iphone

Salesforce Classic Guide for iphone Salesforce Classic Guide for iphone Version 37.0, Summer 16 @salesforcedocs Last updated: July 12, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Programming Idioms Using the SET Statement

Programming Idioms Using the SET Statement Programming Idioms Using the SET Statement Jack E. Fuller, Trilogy Consulting Corporation, Kalamazoo, MI ABSTRACT While virtually every programmer of base SAS uses the SET statement, surprisingly few programmers

More information

Embedded SQL programming

Embedded SQL programming Embedded SQL programming http://www-136.ibm.com/developerworks/db2 Table of contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Before

More information

9-26 MISSOVER, TRUNCOVER,

9-26 MISSOVER, TRUNCOVER, Paper 9-26 MISSOVER, TRUNCOVER, and PAD, OH MY!! or Making Sense of the INFILE and INPUT Statements. Randall Cates, MPH, Technical Training Specialist ABSTRACT The SAS System has many powerful tools to

More information

Quick Start to Data Analysis with SAS Table of Contents. Chapter 1 Introduction 1. Chapter 2 SAS Programming Concepts 7

Quick Start to Data Analysis with SAS Table of Contents. Chapter 1 Introduction 1. Chapter 2 SAS Programming Concepts 7 Chapter 1 Introduction 1 SAS: The Complete Research Tool 1 Objectives 2 A Note About Syntax and Examples 2 Syntax 2 Examples 3 Organization 4 Chapter by Chapter 4 What This Book Is Not 5 Chapter 2 SAS

More information

From The Little SAS Book, Fifth Edition. Full book available for purchase here.

From The Little SAS Book, Fifth Edition. Full book available for purchase here. From The Little SAS Book, Fifth Edition. Full book available for purchase here. Acknowledgments ix Introducing SAS Software About This Book xi What s New xiv x Chapter 1 Getting Started Using SAS Software

More information

1 Checking Values of Character Variables

1 Checking Values of Character Variables 1 Checking Values of Character Variables Introduction 1 Using PROC FREQ to List Values 1 Description of the Raw Data File PATIENTS.TXT 2 Using a DATA Step to Check for Invalid Values 7 Describing the VERIFY,

More information

The SAS Data step/macro Interface

The SAS Data step/macro Interface Paper TS09 The SAS Data step/macro Interface Lawrence Heaton-Wright, Quintiles, Bracknell, Berkshire, UK ABSTRACT The SAS macro facility is an extremely useful part of the SAS System. However, macro variables

More information

Deposit Direct. Getting Started Guide

Deposit Direct. Getting Started Guide Deposit Direct Getting Started Guide Table of Contents Before You Start... 3 Installing the Deposit Direct application for use with Microsoft Windows Vista... 4 Running Programs in Microsoft Windows Vista...

More information

Writing cleaner and more powerful SAS code using macros. Patrick Breheny

Writing cleaner and more powerful SAS code using macros. Patrick Breheny Writing cleaner and more powerful SAS code using macros Patrick Breheny Why Use Macros? Macros automatically generate SAS code Macros allow you to make more dynamic, complex, and generalizable SAS programs

More information

Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation

Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Abstract This paper discusses methods of joining SAS data sets. The different methods and the reasons for choosing a particular

More information

That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC

That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC Paper 73-26 That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC ABSTRACT The colon (:) plays certain roles in SAS coding. Its usage, however, is not well documented nor is

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

The Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD

The Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD Paper 052-29 The Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT AND INTRODUCTION CALL SYMPUT is a SAS language

More information

Descriptive Statistics Categorical Variables

Descriptive Statistics Categorical Variables Descriptive Statistics Categorical Variables 3 Introduction... 41 Computing Frequency Counts and Percentages... 42 Computing Frequencies on a Continuous Variable... 44 Using Formats to Group Observations...

More information

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA PAPER IN09_05 The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA ABSTRACT The SAS DATA step is easy enough for beginners to produce results quickly. You can

More information

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC

Foundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC A PROC SQL Primer Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC ABSTRACT Most SAS programmers utilize the power of the DATA step to manipulate their datasets. However, unless they pull

More information

PharmaSUG 2013 - Paper MS05

PharmaSUG 2013 - Paper MS05 PharmaSUG 2013 - Paper MS05 Be a Dead Cert for a SAS Cert How to prepare for the most important SAS Certifications in the Pharmaceutical Industry Hannes Engberg Raeder, inventiv Health Clinical, Germany

More information

To Err is Human; to Debug, Divine Roger Staum, SAS Institute, New York, NY

To Err is Human; to Debug, Divine Roger Staum, SAS Institute, New York, NY Paper 64-27 To Err is Human; to Debug, Divine Roger Staum, SAS Institute, New York, NY ABSTRACT This tutorial describes four types of programming errors and how you can recognize them. It also discusses

More information

1. Base Programming. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming»

1. Base Programming. GIORGIO RUSSOLILLO - Cours de prépara+on à la cer+fica+on SAS «Base Programming» 1. Base Programming GIORGIO RUSSOLILLO Cours de prépara+on à la cer+fica+on SAS «Base Programming» 9 What is SAS Highly flexible and integrated soiware environment; you can use SAS for: GIORGIO RUSSOLILLO

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

Using FILEVAR= to read multiple external files in a DATA Step

Using FILEVAR= to read multiple external files in a DATA Step Using FILEVAR= to read multiple external files in a DATA Step Reading the filenames from DATALINES The FILEVAR= option for the INFILE statement provides a simple means of reading multiple external files

More information

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. Paper 23-27 Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. ABSTRACT Have you ever had trouble getting a SAS job to complete, although

More information

Guide to Performance and Tuning: Query Performance and Sampled Selectivity

Guide to Performance and Tuning: Query Performance and Sampled Selectivity Guide to Performance and Tuning: Query Performance and Sampled Selectivity A feature of Oracle Rdb By Claude Proteau Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal Sampled

More information

Tips, Tricks, and Techniques from the Experts

Tips, Tricks, and Techniques from the Experts Tips, Tricks, and Techniques from the Experts Presented by Katie Ronk 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com Systems Seminar Consultants, Inc www.sys-seminar.com

More information

Appendix K Introduction to Microsoft Visual C++ 6.0

Appendix K Introduction to Microsoft Visual C++ 6.0 Appendix K Introduction to Microsoft Visual C++ 6.0 This appendix serves as a quick reference for performing the following operations using the Microsoft Visual C++ integrated development environment (IDE):

More information

PL/SQL Overview. Basic Structure and Syntax of PL/SQL

PL/SQL Overview. Basic Structure and Syntax of PL/SQL PL/SQL Overview PL/SQL is Procedural Language extension to SQL. It is loosely based on Ada (a variant of Pascal developed for the US Dept of Defense). PL/SQL was first released in ١٩٩٢ as an optional extension

More information

Transforming SAS Data Sets Using Arrays. Introduction

Transforming SAS Data Sets Using Arrays. Introduction Transforming SAS Data Sets Using Arrays Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ Introduction This paper describes how to efficiently transform SAS data sets using arrays.

More information

CPSC 2800 Linux Hands-on Lab #7 on Linux Utilities. Project 7-1

CPSC 2800 Linux Hands-on Lab #7 on Linux Utilities. Project 7-1 CPSC 2800 Linux Hands-on Lab #7 on Linux Utilities Project 7-1 In this project you use the df command to determine usage of the file systems on your hard drive. Log into user account for this and the following

More information

EXST SAS Lab Lab #4: Data input and dataset modifications

EXST SAS Lab Lab #4: Data input and dataset modifications EXST SAS Lab Lab #4: Data input and dataset modifications Objectives 1. Import an EXCEL dataset. 2. Infile an external dataset (CSV file) 3. Concatenate two datasets into one 4. The PLOT statement will

More information

Storing and Using a List of Values in a Macro Variable

Storing and Using a List of Values in a Macro Variable Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all unusual to need

More information

Oracle Database: Develop PL/SQL Program Units

Oracle Database: Develop PL/SQL Program Units Oracle University Contact Us: 1.800.529.0165 Oracle Database: Develop PL/SQL Program Units Duration: 3 Days What you will learn This Oracle Database: Develop PL/SQL Program Units course is designed for

More information

Data Cleaning 101. Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ. Variable Name. Valid Values. Type

Data Cleaning 101. Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ. Variable Name. Valid Values. Type Data Cleaning 101 Ronald Cody, Ed.D., Robert Wood Johnson Medical School, Piscataway, NJ INTRODUCTION One of the first and most important steps in any data processing task is to verify that your data values

More information

Package uptimerobot. October 22, 2015

Package uptimerobot. October 22, 2015 Type Package Version 1.0.0 Title Access the UptimeRobot Ping API Package uptimerobot October 22, 2015 Provide a set of wrappers to call all the endpoints of UptimeRobot API which includes various kind

More information

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL

The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL The SET Statement and Beyond: Uses and Abuses of the SET Statement S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT The SET statement is one of the most frequently used statements in the SAS System.

More information

Creating Raw Data Files Using SAS. Transcript

Creating Raw Data Files Using SAS. Transcript Creating Raw Data Files Using SAS Transcript Creating Raw Data Files Using SAS Transcript was developed by Mike Kalt. Additional contributions were made by Michele Ensor, Mark Jordan, Kathy Passarella,

More information

What is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be...

What is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be... What is a Loop? CSC Intermediate Programming Looping A loop is a repetition control structure It causes a single statement or a group of statements to be executed repeatedly It uses a condition to control

More information

Instant Interactive SAS Log Window Analyzer

Instant Interactive SAS Log Window Analyzer ABSTRACT Paper 10240-2016 Instant Interactive SAS Log Window Analyzer Palanisamy Mohan, ICON Clinical Research India Pvt Ltd Amarnath Vijayarangan, Emmes Services Pvt Ltd, India An interactive SAS environment

More information

Before You Begin... 2 Running SAS in Batch Mode... 2 Printing the Output of Your Program... 3 SAS Statements and Syntax... 3

Before You Begin... 2 Running SAS in Batch Mode... 2 Printing the Output of Your Program... 3 SAS Statements and Syntax... 3 Using SAS In UNIX 2010 Stanford University provides UNIX computing resources on the UNIX Systems, which can be accessed through the Stanford University Network (SUNet). This document provides a basic overview

More information

Microsoft Office. Mail Merge in Microsoft Word

Microsoft Office. Mail Merge in Microsoft Word Microsoft Office Mail Merge in Microsoft Word TABLE OF CONTENTS Microsoft Office... 1 Mail Merge in Microsoft Word... 1 CREATE THE SMS DATAFILE FOR EXPORT... 3 Add A Label Row To The Excel File... 3 Backup

More information

More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board

More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 20 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users make

More information

Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program

Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program Training/Internship Brochure Advanced Clinical SAS Programming Full Time 6 months Program Domain Clinical Data Sciences Private Limited 8-2-611/1/2, Road No 11, Banjara Hills, Hyderabad Andhra Pradesh

More information

Memory Systems. Static Random Access Memory (SRAM) Cell

Memory Systems. Static Random Access Memory (SRAM) Cell Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled

More information

PCI-SIG ENGINEERING CHANGE REQUEST

PCI-SIG ENGINEERING CHANGE REQUEST PCI-SIG ENGINEERING CHANGE REQUEST TITLE: Update DMTF SM CLP Specification References DATE: 8/2009 AFFECTED DOCUMENT: PCIFW30_CLP_1_0_071906.pdf SPONSOR: Austin Bolen, Dell Inc. Part I 1. Summary of the

More information

Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA

Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is

More information

Chapter One Introduction to Programming

Chapter One Introduction to Programming Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of

More information

PO-18 Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays

PO-18 Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays, continued SESUG 2012 PO-18 Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays William E Benjamin

More information

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction Standard 2: Technology and Society Interaction Technology and Ethics Analyze legal technology issues and formulate solutions and strategies that foster responsible technology usage. 1. Practice responsible

More information

Process: Self Service

Process: Self Service How Do I Login to the Online Vendor Self-Service Application? 1. Using the information provided in the email sent to the primary Contact: Navigate to the URL for the application, the PeopleSoft Sign In

More information

Introduction to Minitab Macros. Types of Minitab Macros. Objectives. Local Macros. Global Macros

Introduction to Minitab Macros. Types of Minitab Macros. Objectives. Local Macros. Global Macros Minitab Macros 10.1 Introduction to Minitab Macros 10.2 Global Minitab Macros 10.3 Local Minitab Macros 10.4 Advanced Minitab Macro Programming 10.5 Hints on Debugging Macros Introduction to Minitab Macros

More information

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Handling Exceptions Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Objectives After completing this lesson, you should be able to do the following: Define PL/SQL

More information

Getting started with the Stata

Getting started with the Stata Getting started with the Stata 1. Begin by going to a Columbia Computer Labs. 2. Getting started Your first Stata session. Begin by starting Stata on your computer. Using a PC: 1. Click on start menu 2.

More information

Together with SAP MaxDB database tools, you can use third-party backup tools to backup and restore data. You can use third-party backup tools for the

Together with SAP MaxDB database tools, you can use third-party backup tools to backup and restore data. You can use third-party backup tools for the Together with SAP MaxDB database tools, you can use third-party backup tools to backup and restore data. You can use third-party backup tools for the following actions: Backing up to data carriers Complete

More information

Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA

Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA ABSTRACT With multiple programmers contributing to a batch

More information

PROC SUMMARY Options Beyond the Basics Susmita Pattnaik, PPD Inc, Morrisville, NC

PROC SUMMARY Options Beyond the Basics Susmita Pattnaik, PPD Inc, Morrisville, NC Paper BB-12 PROC SUMMARY Options Beyond the Basics Susmita Pattnaik, PPD Inc, Morrisville, NC ABSTRACT PROC SUMMARY is used for summarizing the data across all observations and is familiar to most SAS

More information

Intro to Embedded SQL Programming for ILE RPG Developers

Intro to Embedded SQL Programming for ILE RPG Developers Intro to Embedded SQL Programming for ILE RPG Developers Dan Cruikshank DB2 for i Center of Excellence 1 Agenda Reasons for using Embedded SQL Getting started with Embedded SQL Using Host Variables Using

More information

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor

More information

Raima Database Manager Version 14.0 In-memory Database Engine

Raima Database Manager Version 14.0 In-memory Database Engine + Raima Database Manager Version 14.0 In-memory Database Engine By Jeffrey R. Parsons, Senior Engineer January 2016 Abstract Raima Database Manager (RDM) v14.0 contains an all new data storage engine optimized

More information

A Method for Cleaning Clinical Trial Analysis Data Sets

A Method for Cleaning Clinical Trial Analysis Data Sets A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories

More information

Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs

Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs Troy B. Wolfe, Qualex Consulting Services, Inc., Miami, Florida ABSTRACT As someone responsible for maintaining over 40 nightly batch

More information

Importing Data into SAS

Importing Data into SAS 1 SAS is a commonly used statistical program utilized for a variety of analyses. SAS supports many types of files as input and the following tutorial will cover some of the most popular. SAS Libraries:

More information

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry

More information

ALTIBASE HDB 6.1.1.0.4 Patch Notes

ALTIBASE HDB 6.1.1.0.4 Patch Notes ALTIBASE HDB 6.1.1.0.4 Patch Notes Sept. 18, 2012 Table of Contents BUG-34050 Server may crash while restart because of existing prepared transactions on distributed transaction environment. 3 BUG-34051

More information

All Colleagues Landing Page

All Colleagues Landing Page INTERNAL USE ONLY All Colleagues Landing Page User's Manual Version 5 Table of Contents Login... 2 Password Features... 4 Expired password...4 Password reset...6 Region Selection... 8 Changing Your Region...8

More information

Repetition Using the End of File Condition

Repetition Using the End of File Condition Repetition Using the End of File Condition Quick Start Compile step once always g++ -o Scan4 Scan4.cpp mkdir labs cd labs Execute step mkdir 4 Scan4 cd 4 cp /samples/csc/155/labs/4/*. Submit step emacs

More information

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY

Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY Guido s Guide to PROC FREQ A Tutorial for Beginners Using the SAS System Joseph J. Guido, University of Rochester Medical Center, Rochester, NY ABSTRACT PROC FREQ is an essential procedure within BASE

More information

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement? 1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members

More information

Analyzing & Optimizing T-SQL Query Performance Part1: using SET and DBCC. Kevin Kline Senior Product Architect for SQL Server Quest Software

Analyzing & Optimizing T-SQL Query Performance Part1: using SET and DBCC. Kevin Kline Senior Product Architect for SQL Server Quest Software Analyzing & Optimizing T-SQL Query Performance Part1: using SET and DBCC Kevin Kline Senior Product Architect for SQL Server Quest Software AGENDA Audience Poll Presentation (submit questions to the e-seminar

More information

Comdial Network Management System User Instructions

Comdial Network Management System User Instructions Comdial Network Management System User Instructions GCA40 237.01 8/00 printed in U.S.A. Microsoft and Windows 95 are registered trademarks of Microsoft Corporation, Redmond WA. pcanywhere is a registered

More information

Scanning The Job Log for Errors & Notes. Devendra Patel, Information Services

Scanning The Job Log for Errors & Notes. Devendra Patel, Information Services Scanning The Job Log for Errors & Notes Devendra Patel, Information Services Scanning The Job Log for Errors & Notes Scanning The Job Log A SAS Process: This SAS process is a two-stage process: Create

More information

3 IDE (Integrated Development Environment)

3 IDE (Integrated Development Environment) Visual C++ 6.0 Guide Part I 1 Introduction Microsoft Visual C++ is a software application used to write other applications in C++/C. It is a member of the Microsoft Visual Studio development tools suite,

More information

How To Understand The Error Codes On A Crystal Reports Print Engine

How To Understand The Error Codes On A Crystal Reports Print Engine Overview Error Codes This document lists all the error codes and the descriptions that the Crystal Reports Print Engine generates. PE_ERR_NOTENOUGHMEMORY (500) There is not enough memory available to complete

More information

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40 SOFTWARE DEVELOPMENT, 15.1200.40 STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information

More information

Performing Simple Calculations Using the Status Bar

Performing Simple Calculations Using the Status Bar Excel Formulas Performing Simple Calculations Using the Status Bar If you need to see a simple calculation, such as a total, but do not need it to be a part of your spreadsheet, all you need is your Status

More information

Import and Export User Guide. PowerSchool 7.x Student Information System

Import and Export User Guide. PowerSchool 7.x Student Information System PowerSchool 7.x Student Information System Released June 2012 Document Owner: Documentation Services This edition applies to Release 7.2.1 of the PowerSchool software and to all subsequent releases and

More information

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data Carter Sevick MS, DoD Center for Deployment Health Research, San Diego, CA ABSTRACT Whether by design or by error there

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

3.GETTING STARTED WITH ORACLE8i

3.GETTING STARTED WITH ORACLE8i Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer

More information

5. CHANGING STRUCTURE AND DATA

5. CHANGING STRUCTURE AND DATA Oracle For Beginners Page : 1 5. CHANGING STRUCTURE AND DATA Altering the structure of a table Dropping a table Manipulating data Transaction Locking Read Consistency Summary Exercises Altering the structure

More information

9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements

9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements 9 Control Statements 9.1 Introduction The normal flow of execution in a high level language is sequential, i.e., each statement is executed in the order of its appearance in the program. However, depending

More information

SQL Server Database Coding Standards and Guidelines

SQL Server Database Coding Standards and Guidelines SQL Server Database Coding Standards and Guidelines http://www.sqlauthority.com Naming Tables: Stored Procs: Triggers: Indexes: Primary Keys: Foreign Keys: Defaults: Columns: General Rules: Rules: Pascal

More information

2: Entering Data. Open SPSS and follow along as your read this description.

2: Entering Data. Open SPSS and follow along as your read this description. 2: Entering Data Objectives Understand the logic of data files Create data files and enter data Insert cases and variables Merge data files Read data into SPSS from other sources The Logic of Data Files

More information

Handling Exceptions. Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total

Handling Exceptions. Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total Handling Exceptions Schedule: Timing Topic 45 minutes Lecture 20 minutes Practice 65 minutes Total Objectives After completing this lesson, you should be able to do the following: Define PL/SQL exceptions

More information

Distributed R for Big Data

Distributed R for Big Data Distributed R for Big Data Indrajit Roy HP Vertica Development Team Abstract Distributed R simplifies large-scale analysis. It extends R. R is a single-threaded environment which limits its utility for

More information

SUGI 29 Coders' Corner

SUGI 29 Coders' Corner Paper 074-29 Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 19 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users

More information