Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA

Size: px
Start display at page:

Download "Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA"

Transcription

1 ABSTRACT Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables Andrea Shane MDRC, Oakland, CA Data set documentation is essential to good programming and for sharing data set information with colleagues who are not SAS programmers. However, most SAS programmers dislike writing memos that must be updated each time a data set is manipulated. Utilizing two tools, macro variables and the OUTER UNION CORRESPONDING set operator in PROC SQL, we can write concise code that exports a single summary table containing important data set information serving in lieu of data memos. These summary tables can contain the following data set information: 1) changes in the number of records in a data set due to dropping records, collapsing across IDs, removing duplicate records; 2) summary statistics or frequencies of key variables; and 3) almost any other descriptive information about a data set. INTRODUCTION Describing data set information such as summary statistics of key variables and changes in the number of records in a single table can require complex code and multiple steps if we use the DATA step. However, the OUTER UNION CORRESPONDING set operator, used in conjunction with macro variables, allows programmers to easily stack (or concatenate) seemingly unrelated information within a single PROC SQL step to create a summary table. An integral component of creating the summary table is creating macro variables at important points in data processing that are later called upon in the SQL data step. A single PROC SQL step then creates a table that describes the data set and its variables. To create our data set summary table, we will need to include the following steps in our program: 1. Create Macro Variables Indicating Changes in the Number of Observations to the Data Set: Create macro variables at important points during data processing to include in our summary table. For example, we will create macro variables to indicate how many records are in our original dataset, how many duplicate records are dropped, and how many records remain after duplicates are removed. Our goal is to document all changes in the number of data set observations from the start to the end of data processing. 2. Calculate Data Set Summary Statistics: Calculate summary statistics and other data set descriptive information using PROC SQL. This information can be computed within the PROC SQL step that creates the final summary table. 3. Combine Information into a Single Table Using the OUTER UNION CORRESPONDING Set Operator in PROC SQL: Combine information from the macro variables regarding changes in the number of observations with SQL queries that calculate summary statistic information in a single PROC SQL step using the OUTER UNION CORRESPONDING set operator. 4. Output the Summary Table to an External File: We output the summary table to an external file such as an.rtf,.pdf, or.xlsx in order to share it with colleagues. If we need to export multiple tables to allow easy comparison, we can export multiple worksheets into a single Excel workbook. OVERVIEW OF THE DATA The data set referenced in this paper contains student-level demographic information for 1,000 students in a school. The demographic information includes race, age, and gender variables. 1

2 Table 1. Print of ten observations from our original school data set STEP 1: CREATE MACRO VARIABLES INDICATING CHANGES IN THE NUMBER OF OBSERVATIONS TO THE DATA SET An important aspect of documenting data processing is indicating the number of observations that are present in an original data set, tracking changes in the number of observations due to dropping duplicates or collapsing (combining) observation for the same StudentID, and indicating the number of observations in the final data set. We can use PROC SQL to create macro variables to track all changes in the number of observations in our data set. We will later call upon these macro values in the SQL step that creates our final data set summary table. The SQL queries that create the macro variables which report the number of observations in our data set at different points during data processing can also serve as helpful internal documentation to verify correct processing of our data. Title "Macro Variable of Number of Observations in Original File"; proc sql; select count(*) into :N_Recs_incl_Duplicates from school; The code produces the table below: Table 2. Output from PROC SQL query creating N_Recs_incl_Duplicates macro variable To remove duplicate StudentIDs in our dataset, we use the NODUPKEY option in PROC SORT which results in a data set called data school_nodups. proc sort data = school nodupkey out = school_nodups; by StudentID; run; We then write another PROC SQL query that creates two macro variables. The first macro variable, N_Duplicates_Removed, indicates how many duplicate records were removed from the original school dataset. The second macro variable, N_Recs_after_Duplicates_Removed, indicates how many observations are in the school_nodups data set after all duplicate records have been removed. The number of duplicate records removed from the data set (N_Duplicates_Removed) is calculated by subtracting the number of records in the school_nodups data set from the number of records in the original school data set which is stored in the macro variable N_Recs_incl_Duplicates. 2

3 Title "Macro Variable of Number of Duplicates Removed and Number of Observations in Data Set after Duplicates are Removed"; proc sql; select &N_Recs_incl_Duplicates - count(*), count(*) into :N_Duplicates_Removed, :N_Recs_after_Duplicates_Removed ; The code produces the table below: Table 3. Output from PROC SQL query creating N_Duplicates_Removed and N_Recs_after_Duplicates_Removed macro variables STEP 2: CALCULATE DATA SET SUMMARY STATISTICS This section provides an example of how summary statistics can be computed within PROC SQL. Similar queries will be stacked in a single PROC SQL step to create the final data set summary table. 1 select "Male" as Variable, 2 mean(male) format percent10.2 as Percent, 3 min(male) format comma10.0 as Min, 4 max(male) format comma10.0 as Max, 5 sum(male=.) format comma10.0 as N_Miss, 6 sum(male=.)/count(male) format percent10.2 as Pct_Miss 7 ; The first line of code assigns the character string value Male to a variable named Variable. The following three lines of code create variables that calculate the mean, minimum, and maximum value of the Male dummy variable and names the variables Percent, Min, and Max respectively. The code also formats the variable Percent as a percentage with two decimal places and the Min and Max variables as a number without decimal places. The fifth line of code sums all of the observations in which the value of the Male variable is missing in order to indicate the number of missing values for the variable. Finally, the sixth line of code divides the total number of observations in which the value of Male is missing by the number of total observations in the data set in order to obtain the percentage of missing values of the Male variable. STEP 3: COMBINE INFORMATION INTO A SINGLE TABLE USING THE OUTER UNION CORRESPONDING SET OPERATOR IN PROC SQL Using the OUTER UNION CORRESPONDING set operator in PROC SQL, we can easily stack different types of information about our data set. This allows us to combine individual SQL query results into a single SQL table. We achieve this by simply placing the set operator code OUTER UNION CORRESPONDING between queries. In the code below, we stack summary statistic information for several student demographic variables created in SQL queries along with the number of observations that were in the original school data set, the number of duplicates removed, and the final number of observations in the school_nodups data set. Note that SQL queries always require a SELECT and FROM clause. This means that when we select a macro variable, we must reference a data set even though macro variables are not contained within any given data set. To do this, we can reference any data set in the FROM clause; however, this requires SAS to bring the data set into temporary memory which may require substantial computing resources depending upon the size of the data set. To save processing resources, we will select only one observation from the data set selected on the FROM clause. The following code combines results from multiple SQL queries that calculate summary statistics and reference the data set observation count macro variables into a single table. 3

4 proc sql; create table Summary as /*saving results to a temporary SAS data set*/ select "Gender" as Data_Type, "Male" as Variable, mean(male) format percent10.2 as Percent,. format comma10.2 as Mean, /*Initializing variable to achieve desired variable order for output*/ min(male) format comma10.0 as Min, max(male) format comma10.0 as Max, sum(male=.) format comma10.0 as N_Miss, sum(male=.)/count(male) format percent10.2 as Pct_Miss /*Note that code for Female is removed to save space, but is nearly identical to the code for Male*/ select "Age" as Data_type, "Age" as Variable, mean(age) as Mean, min(age) as Min, max(age) as Max, sum(age=.) as N_Miss, sum(age=.)/count(age) as Pct_Miss select "Race" as Data_type, "Asian" as Variable, mean(asian) as Percent, min(asian) as Min, max(asian) as Max, sum(asian=.) as N_Miss, sum(asian=.)/count(asian) as Pct_Miss /*Note that code for Black, Hisp, White, and Other is removed to save space, but is identical to the code for Asian*/ select "Observations in Data Set" as Data_Type, "Number of Observations in Original Data Set" as Variable, &N_Recs_incl_Duplicates format comma10. as N from school (obs=1) select "Number of Exact Duplicates Removed" as Variable, &N_Duplicates_Removed as N from school (obs=1) select "Number of Observations in Final Data Set" as Variable, &N_Recs_after_Duplicates_Removed as N from school (obs=1); 4

5 The following is a print of the table created from the code above: Table 4. Output of final data set summary table STEP 4: OUTPUT THE SUMMARY TABLE TO AN EXTERNAL FILE In order to share the summary information about our school data set with our colleagues, we can export the file to an external data set. Because we will need to process data sets from multiple schools, we will need to produce summary tables for each. We will export the summary tables to Excel so that we can create a single Excel file with multiple worksheets, one for each school. The code to export the table to an Excel worksheet is as follows. proc export data= school outfile="c:\summary_tables\schools" dbms=xlsx replace; sheet="school1"; run; SUMMARY Using a combination of macro variables and stacking SQL queries using the OUTER UNION CORRESPONDING set operator, we can create a single table that summarizes attributes of a data set. The code to create the summary table is simple and can be accomplished within a single PROC SQL step. Because the summary table may contain many pieces of different information (i.e., summary statistics, reasons for removing records) it can be presented in lieu of a data memo and can be easily updated if the original data set changes or additional summary information needs to be included in the table. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Andrea Shane MDRC th St, Suite #750 Oakland, CA Andrea.Shane@mdrc.org SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 5

ABSTRACT INTRODUCTION PROBLEM: TOO MUCH INFORMATION? math nrt scr. ID School Grade Gender Ethnicity read nrt scr

ABSTRACT INTRODUCTION PROBLEM: TOO MUCH INFORMATION? math nrt scr. ID School Grade Gender Ethnicity read nrt scr ABSTRACT A strategy for understanding your data: Binary Flags and PROC MEANS Glen Masuda, SRI International, Menlo Park, CA Tejaswini Tiruke, SRI International, Menlo Park, CA Many times projects have

More information

CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD

CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD ABSTRACT SESUG 2016 - RV-201 CMISS the SAS Function You May Have Been MISSING Mira Shapiro, Analytic Designers LLC, Bethesda, MD Those of us who have been using SAS for more than a few years often rely

More information

Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA

Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA Cleaning Duplicate Observations on a Chessboard of Missing Values Mayrita Vitvitska, ClinOps, LLC, San Francisco, CA ABSTRACT Removing duplicate observations from a data set is not as easy as it might

More information

Omitting Records with Invalid Default Values

Omitting Records with Invalid Default Values Paper 7720-2016 Omitting Records with Invalid Default Values Lily Yu, Statistics Collaborative Inc. ABSTRACT Many databases include default values that are set inappropriately. These default values may

More information

Checking for Duplicates Wendi L. Wright

Checking for Duplicates Wendi L. Wright Checking for Duplicates Wendi L. Wright ABSTRACT This introductory level paper demonstrates a quick way to find duplicates in a dataset (with both simple and complex keys). It discusses what to do when

More information

%ANYTL: A Versatile Table/Listing Macro

%ANYTL: A Versatile Table/Listing Macro Paper AD09-2009 %ANYTL: A Versatile Table/Listing Macro Yang Chen, Forest Research Institute, Jersey City, NJ ABSTRACT Unlike traditional table macros, %ANTL has only 3 macro parameters which correspond

More information

Statistics, Data Analysis & Econometrics

Statistics, Data Analysis & Econometrics ST009 PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data Carl E. Pierchala, National Highway Traffic Safety Administration, Washington ABSTRACT The study of missing data patterns

More information

Introduction to PROC SQL

Introduction to PROC SQL Introduction to PROC SQL Steven First, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into a single step.

More information

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Paper TS05-2011 Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Abstract SQL was developed to pull together information from several different data tables - use this to your advantage as you

More information

The Power of Combining Data with the PROC SQL

The Power of Combining Data with the PROC SQL ABSTRACT Paper CC-09 The Power of Combining Data with the PROC SQL Stacey Slone, University of Kentucky Markey Cancer Center Combining two data sets which contain a common identifier with a MERGE statement

More information

BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS

BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS SAS COURSE CONTENT Course Duration - 40hrs BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS What is SAS History of SAS Modules available SAS GETTING STARTED

More information

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO ABSTRACT The power of SAS programming can at times be greatly improved using PROC SQL statements for formatting and manipulating

More information

Workbooks (File) and Worksheet Handling

Workbooks (File) and Worksheet Handling Workbooks (File) and Worksheet Handling Excel Limitation Excel shortcut use and benefits Excel setting and custom list creation Excel Template and File location system Advanced Paste Special Calculation

More information

TIPS FROM THE TRENCHES

TIPS FROM THE TRENCHES TIPS FROM THE TRENCHES Christopher Bost MDRC SAS Users Group October 1, 2008 Recent user questions 2 How can I print long character values? How can I EXPORT formatted values to Excel? How can I check for

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

What is a database? Lesson - 1

What is a database?  Lesson - 1 Lesson - 1 www.semainformatics.wordpress.com What is a database? A database is any collection of data that is organized for quick retrieval. Databases can be computer based or paper based 1 Examples of

More information

Interleaving a Dataset with Itself: How and Why

Interleaving a Dataset with Itself: How and Why cc002 Interleaving a Dataset with Itself: How and Why Howard Schreier, U.S. Dept. of Commerce, Washington DC ABSTRACT When two or more SAS datasets are combined by means of a SET statement and an accompanying

More information

Creating Population Tree Charts (Using SAS/GRAPH Software) Robert E. Allison, Jr. and Dr. Moon W. Suh College of Textiles, N. C.

Creating Population Tree Charts (Using SAS/GRAPH Software) Robert E. Allison, Jr. and Dr. Moon W. Suh College of Textiles, N. C. SESUG 1994 Creating Population Tree Charts (Using SAS/GRAPH Software) Robert E. Allison, Jr. and Dr. Moon W. Suh College of Textiles, N. C. State University ABSTRACT This paper describes a SAS program

More information

A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA

A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA ABSTRACT: A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA Programmers often need to summarize data into tables as per template. But study

More information

Simplifying Your %DO Loop with CALL EXECUTE Arthur Li, City of Hope National Medical Center, Duarte, CA

Simplifying Your %DO Loop with CALL EXECUTE Arthur Li, City of Hope National Medical Center, Duarte, CA PharmaSUG 2017 BB07 Simplifying Your %DO Loop with CALL EXECUTE Arthur Li, City of Hope National Medical Center, Duarte, CA ABSTRACT One often uses an iterative %DO loop to execute a section of a macro

More information

Ten Great Reasons to Learn SAS Software's SQL Procedure

Ten Great Reasons to Learn SAS Software's SQL Procedure Ten Great Reasons to Learn SAS Software's SQL Procedure Kirk Paul Lafler, Software Intelligence Corporation ABSTRACT The SQL Procedure has so many great features for both end-users and programmers. It's

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

Clinical Data Visualization using TIBCO Spotfire and SAS

Clinical Data Visualization using TIBCO Spotfire and SAS ABSTRACT SESUG Paper RIV107-2017 Clinical Data Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders

More information

SQL Metadata Applications: I Hate Typing

SQL Metadata Applications: I Hate Typing SQL Metadata Applications: I Hate Typing Hannah Fresques, MDRC, New York, NY ABSTRACT This paper covers basics of metadata in SQL and provides useful applications, including: finding variables on one or

More information

PDQ-Notes. Reynolds Farley. PDQ-Note 3 Displaying Your Results in the Expert Query Window

PDQ-Notes. Reynolds Farley. PDQ-Note 3 Displaying Your Results in the Expert Query Window PDQ-Notes Reynolds Farley PDQ-Note 3 Displaying Your Results in the Expert Query Window PDQ-Note 3 Displaying Your Results in the Expert Query Window Most of your options for configuring your query results

More information

Using SAS software to shrink the data in your applications

Using SAS software to shrink the data in your applications Paper 991-2016 Using SAS software to shrink the data in your applications Ahmed Al-Attar, AnA Data Warehousing Consulting LLC, McLean, VA ABSTRACT This paper discusses the techniques I used at the Census

More information

Get SAS sy with PROC SQL Amie Bissonett, Pharmanet/i3, Minneapolis, MN

Get SAS sy with PROC SQL Amie Bissonett, Pharmanet/i3, Minneapolis, MN PharmaSUG 2012 - Paper TF07 Get SAS sy with PROC SQL Amie Bissonett, Pharmanet/i3, Minneapolis, MN ABSTRACT As a data analyst for genetic clinical research, I was often working with familial data connecting

More information

OLAP Drill-through Table Considerations

OLAP Drill-through Table Considerations Paper 023-2014 OLAP Drill-through Table Considerations M. Michelle Buchecker, SAS Institute, Inc. ABSTRACT When creating an OLAP cube, you have the option of specifying a drill-through table, also known

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 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 information

It s Proc Tabulate Jim, but not as we know it!

It s Proc Tabulate Jim, but not as we know it! Paper SS02 It s Proc Tabulate Jim, but not as we know it! Robert Walls, PPD, Bellshill, UK ABSTRACT PROC TABULATE has received a very bad press in the last few years. Most SAS Users have come to look on

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going 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 information

Microsoft Access - Using Relational Database Data Queries (Stored Procedures) Paul A. Harris, Ph.D. Director, GCRC Informatics.

Microsoft Access - Using Relational Database Data Queries (Stored Procedures) Paul A. Harris, Ph.D. Director, GCRC Informatics. Microsoft Access - Using Relational Database Data Queries (Stored Procedures) Paul A. Harris, Ph.D. Director, GCRC Informatics October 01, 2004 What is Microsoft Access? Microsoft Access is a relational

More information

Bulk Registration File Specifications

Bulk Registration File Specifications Bulk Registration File Specifications 2017-18 SCHOOL YEAR Summary of Changes Added new errors for Student ID and SSN Preparing Files for Upload (Option 1) Follow these tips and the field-level specifications

More information

How to Keep Multiple Formats in One Variable after Transpose Mindy Wang

How to Keep Multiple Formats in One Variable after Transpose Mindy Wang How to Keep Multiple Formats in One Variable after Transpose Mindy Wang Abstract In clinical trials and many other research fields, proc transpose are used very often. When many variables with their individual

More information

Data Manipulations Using Arrays and DO Loops Patricia Hall and Jennifer Waller, Medical College of Georgia, Augusta, GA

Data Manipulations Using Arrays and DO Loops Patricia Hall and Jennifer Waller, Medical College of Georgia, Augusta, GA Paper SBC-123 Data Manipulations Using Arrays and DO Loops Patricia Hall and Jennifer Waller, Medical College of Georgia, Augusta, GA ABSTRACT Using public databases for data analysis presents a unique

More information

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

Unit Assessment Guide

Unit Assessment Guide Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required

More information

PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA

PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA ABSTRACT Labeling of the X-axis usually involves a tedious axis statement specifying

More information

Multiple Facts about Multilabel Formats

Multiple Facts about Multilabel Formats Multiple Facts about Multilabel Formats Gwen D. Babcock, ew York State Department of Health, Troy, Y ABSTRACT PROC FORMAT is a powerful procedure which allows the viewing and summarizing of data in various

More information

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio PharmaSUG 2014 - Paper CC43 Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT The PROC CONTENTS output displays SAS data set

More information

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility PharmaSUG2011 Paper TT12 Creating Forest Plots Using SAS/GRAPH and the Annotate Facility Amanda Tweed, Millennium: The Takeda Oncology Company, Cambridge, MA ABSTRACT Forest plots have become common in

More information

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX Paper 152-27 From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX ABSTRACT This paper is a case study of how SAS products were

More information

GETTING DATA INTO THE PROGRAM

GETTING DATA INTO THE PROGRAM GETTING DATA INTO THE PROGRAM 1. Have a Stata dta dataset. Go to File then Open. OR Type use pathname in the command line. 2. Using a SAS or SPSS dataset. Use Stat Transfer. (Note: do not become dependent

More information

A Side of Hash for You To Dig Into

A Side of Hash for You To Dig Into A Side of Hash for You To Dig Into Shan Ali Rasul, Indigo Books & Music Inc, Toronto, Ontario, Canada. ABSTRACT Within the realm of Customer Relationship Management (CRM) there is always a need for segmenting

More information

MariaDB Crash Course. A Addison-Wesley. Ben Forta. Upper Saddle River, NJ Boston. Indianapolis. Singapore Mexico City. Cape Town Sydney.

MariaDB Crash Course. A Addison-Wesley. Ben Forta. Upper Saddle River, NJ Boston. Indianapolis. Singapore Mexico City. Cape Town Sydney. MariaDB Crash Course Ben Forta A Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore Mexico City

More information

What is a database? A database is any collection of data that is organized for quick retrieval. Databases can be computer based or paper based

What is a database? A database is any collection of data that is organized for quick retrieval. Databases can be computer based or paper based Lesson - 1 What is a database? A database is any collection of data that is organized for quick retrieval. Databases can be computer based or paper based Examples of Databases Computer Based Databases

More information

T.I.P.S. (Techniques and Information for Programming in SAS )

T.I.P.S. (Techniques and Information for Programming in SAS ) Paper PO-088 T.I.P.S. (Techniques and Information for Programming in SAS ) Kathy Harkins, Carolyn Maass, Mary Anne Rutkowski Merck Research Laboratories, Upper Gwynedd, PA ABSTRACT: This paper provides

More information

Information & Communications Technology (ICT) Essentials 2 (2017/2018)

Information & Communications Technology (ICT) Essentials 2 (2017/2018) Information & Communications Technology (ICT) Essentials 2 (2017/2018) Florida 9009120.2017 This document provides the correlation between interactive e-learning curriculum, and the Information & Communications

More information

Same Data Different Attributes: Cloning Issues with Data Sets Brian Varney, Experis Business Analytics, Portage, MI

Same Data Different Attributes: Cloning Issues with Data Sets Brian Varney, Experis Business Analytics, Portage, MI Paper BB-02-2013 Same Data Different Attributes: Cloning Issues with Data Sets Brian Varney, Experis Business Analytics, Portage, MI ABSTRACT When dealing with data from multiple or unstructured data sources,

More information

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It

More information

Microsoft Office Excel 2013 Courses 24 Hours

Microsoft Office Excel 2013 Courses 24 Hours Microsoft Office Excel 2013 Courses 24 Hours COURSE OUTLINES FOUNDATION LEVEL COURSE OUTLINE Getting Started With Excel 2013 Starting Excel 2013 Selecting the Blank Worksheet Template The Excel 2013 Cell

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

Merge Processing and Alternate Table Lookup Techniques Prepared by

Merge Processing and Alternate Table Lookup Techniques Prepared by Merge Processing and Alternate Table Lookup Techniques Prepared by The syntax for data step merging is as follows: International SAS Training and Consulting This assumes that the incoming data sets are

More information

Mapping Clinical Data to a Standard Structure: A Table Driven Approach

Mapping Clinical Data to a Standard Structure: A Table Driven Approach ABSTRACT Paper AD15 Mapping Clinical Data to a Standard Structure: A Table Driven Approach Nancy Brucken, i3 Statprobe, Ann Arbor, MI Paul Slagle, i3 Statprobe, Ann Arbor, MI Clinical Research Organizations

More information

Concepts of Database Management Eighth Edition. Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra

Concepts of Database Management Eighth Edition. Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra Concepts of Database Management Eighth Edition Chapter 2 The Relational Model 1: Introduction, QBE, and Relational Algebra Relational Databases A relational database is a collection of tables Each entity

More information

CDISC Variable Mapping and Control Terminology Implementation Made Easy

CDISC Variable Mapping and Control Terminology Implementation Made Easy PharmaSUG2011 - Paper CD11 CDISC Variable Mapping and Control Terminology Implementation Made Easy Balaji Ayyappan, Ockham Group, Cary, NC Manohar Sure, Ockham Group, Cary, NC ABSTRACT: CDISC SDTM (Study

More information

Introducing a Colorful Proc Tabulate Ben Cochran, The Bedford Group, Raleigh, NC

Introducing a Colorful Proc Tabulate Ben Cochran, The Bedford Group, Raleigh, NC Paper S1-09-2013 Introducing a Colorful Proc Tabulate Ben Cochran, The Bedford Group, Raleigh, NC ABSTRACT Several years ago, one of my clients was in the business of selling reports to hospitals. He used

More information

An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California

An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California This work by Thomas E. Billings is licensed (2017) under

More information

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS TO SAS 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

More information

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc. PharmaSUG2011 - Paper DM03 Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc., TX ABSTRACT In the Clinical trials data analysis

More information

A Quick and Gentle Introduction to PROC SQL

A Quick and Gentle Introduction to PROC SQL ABSTRACT Paper B2B 9 A Quick and Gentle Introduction to PROC SQL Shane Rosanbalm, Rho, Inc. Sam Gillett, Rho, Inc. If you are afraid of SQL, it is most likely because you haven t been properly introduced.

More information

Chapter 6 Creating Reports. Chapter Table of Contents

Chapter 6 Creating Reports. Chapter Table of Contents Chapter 6 Creating Reports Chapter Table of Contents Introduction...115 Listing Data...115 ListDataOptions...116 List Data Titles...118 ListDataVariables...118 Example:CreateaListingReport...119 Creating

More information

Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC

Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC Paper CC-05 Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC ABSTRACT For many SAS users, learning SQL syntax appears to be a significant effort with a low

More information

CSC Web Programming. Introduction to SQL

CSC Web Programming. Introduction to SQL CSC 242 - Web Programming Introduction to SQL SQL Statements Data Definition Language CREATE ALTER DROP Data Manipulation Language INSERT UPDATE DELETE Data Query Language SELECT SQL statements end with

More information

Course Outline. Writing Reports with Report Builder and SSRS Level 1 Course 55123: 2 days Instructor Led. About this course

Course Outline. Writing Reports with Report Builder and SSRS Level 1 Course 55123: 2 days Instructor Led. About this course About this course Writing Reports with Report Builder and SSRS Level 1 Course 55123: 2 days Instructor Led In this 2-day course, students will continue their learning on the foundations of report writing

More information

Advanced SQL Processing Prepared by Destiny Corporation

Advanced SQL Processing Prepared by Destiny Corporation Advanced SQL Processing Prepared by Destiny Corporation Summary Functions With a single argument, but with other selected columns, the function gives a result for all the rows, then merges the back with

More information

IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR

IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR SPSS (Statistical package for social science) Originally is acronym of Statistical Package for the Social Science but, now it stands

More information

Data Should Not be a Four Letter Word Microsoft Excel QUICK TOUR

Data Should Not be a Four Letter Word Microsoft Excel QUICK TOUR Toolbar Tour AutoSum + more functions Chart Wizard Currency, Percent, Comma Style Increase-Decrease Decimal Name Box Chart Wizard QUICK TOUR Name Box AutoSum Numeric Style Chart Wizard Formula Bar Active

More information

From An Introduction to SAS University Edition. Full book available for purchase here.

From An Introduction to SAS University Edition. Full book available for purchase here. From An Introduction to SAS University Edition. Full book available for purchase here. Contents List of Programs... xi About This Book... xvii About the Author... xxi Acknowledgments... xxiii Part 1: Getting

More information

How to Create Sub-sub Headings in PROC REPORT and Why You Might Want to: Thinking about Non-traditional Uses of PROC REPORT

How to Create Sub-sub Headings in PROC REPORT and Why You Might Want to: Thinking about Non-traditional Uses of PROC REPORT MWSUG 2016 - Paper BB01 How to Create Sub-sub Headings in PROC REPORT and Why You Might Want to: Thinking about Non-traditional Uses of PROC REPORT Amy Gravely, Center for Chronic Disease Outcomes Research,

More information

SAS ENTERPRISE GUIDE USER INTERFACE

SAS ENTERPRISE GUIDE USER INTERFACE Paper 294-2008 What s New in the 4.2 releases of SAS Enterprise Guide and the SAS Add-In for Microsoft Office I-kong Fu, Lina Clover, and Anand Chitale, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise

More information

Beginning Tutorials. PROC FSEDIT NEW=newfilename LIKE=oldfilename; Fig. 4 - Specifying a WHERE Clause in FSEDIT. Data Editing

Beginning 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 information

Checking whether the protocol was followed: gender and age 51

Checking whether the protocol was followed: gender and age 51 Checking whether the protocol was followed: gender and age 51 Session 4: Checking whether the protocol was followed: gender and age In the data cleaning workbook there are two worksheets which form the

More information

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports

More information

Uncommon Techniques for Common Variables

Uncommon Techniques for Common Variables Paper 11863-2016 Uncommon Techniques for Common Variables Christopher J. Bost, MDRC, New York, NY ABSTRACT If a variable occurs in more than one data set being merged, the last value (from the variable

More information

SAS (Statistical Analysis Software/System)

SAS (Statistical Analysis Software/System) SAS (Statistical Analysis Software/System) SAS Analytics:- Class Room: Training Fee & Duration : 23K & 3 Months Online: Training Fee & Duration : 25K & 3 Months Learning SAS: Getting Started with SAS Basic

More information

Writing Reports with Report Designer and SSRS 2014 Level 1

Writing Reports with Report Designer and SSRS 2014 Level 1 Writing Reports with Report Designer and SSRS 2014 Level 1 Duration- 2days About this course In this 2-day course, students are introduced to the foundations of report writing with Microsoft SQL Server

More information

Table of Contents. The RETAIN Statement. The LAG and DIF Functions. FIRST. and LAST. Temporary Variables. List of Programs.

Table of Contents. The RETAIN Statement. The LAG and DIF Functions. FIRST. and LAST. Temporary Variables. List of Programs. Table of Contents List of Programs Preface Acknowledgments ix xvii xix The RETAIN Statement Introduction 1 Demonstrating a DATA Step with and without a RETAIN Statement 1 Generating Sequential SUBJECT

More information

SAS (Statistical Analysis Software/System)

SAS (Statistical Analysis Software/System) SAS (Statistical Analysis Software/System) Clinical SAS:- Class Room: Training Fee & Duration : 23K & 3 Months Online: Training Fee & Duration : 25K & 3 Months Learning SAS: Getting Started with SAS Basic

More information

Excel 2007/2010. Don t be afraid of PivotTables. Prepared by: Tina Purtee Information Technology (818)

Excel 2007/2010. Don t be afraid of PivotTables. Prepared by: Tina Purtee Information Technology (818) Information Technology MS Office 2007/10 Users Guide Excel 2007/2010 Don t be afraid of PivotTables Prepared by: Tina Purtee Information Technology (818) 677-2090 tpurtee@csun.edu [ DON T BE AFRAID OF

More information

SAM Ad-Hoc. Gives direct, near unrestricted (view-only) access to your SAM database Ability to see raw data with queries created by you.

SAM Ad-Hoc. Gives direct, near unrestricted (view-only) access to your SAM database Ability to see raw data with queries created by you. SAM Ad-Hoc Gives direct, near unrestricted (view-only) access to your SAM database Ability to see raw data with queries created by you. Four Clauses of a Query SELECT Describes the columns that will be

More information

Introduction to StatKey Getting Data Into StatKey

Introduction to StatKey Getting Data Into StatKey Introduction to StatKey 2016-17 03. Getting Data Into StatKey Introduction This handout assumes that you do not want to type in the data by hand. This handout shows you how to use Excel and cut and paste

More information

Ready To Become Really Productive Using PROC SQL? Sunil K. Gupta, Gupta Programming, Simi Valley, CA

Ready To Become Really Productive Using PROC SQL? Sunil K. Gupta, Gupta Programming, Simi Valley, CA PharmaSUG 2012 - Paper HW04 Ready To Become Really Productive Using PROC SQL? Sunil K. Gupta, Gupta Programming, Simi Valley, CA ABSTRACT Using PROC SQL, can you identify at least four ways to: select

More information

Create Custom Tables in No Time

Create Custom Tables in No Time PASW Custom Tables 18 Create Custom Tables in No Time Easily analyze data and communicate your results with PASW Custom Tables Show the results of analyses clearly and quickly You often report the results

More information

2015 Vanderbilt University

2015 Vanderbilt University Excel Supplement 2015 Vanderbilt University Introduction This guide describes how to perform some basic data manipulation tasks in Microsoft Excel. Excel is spreadsheet software that is used to store information

More information

GET A GRIP ON MACROS IN JUST 50 MINUTES! Arthur Li, City of Hope Comprehensive Cancer Center, Duarte, CA

GET A GRIP ON MACROS IN JUST 50 MINUTES! Arthur Li, City of Hope Comprehensive Cancer Center, Duarte, CA GET A GRIP ON MACROS IN JUST 50 MINUTES! Arthur Li, City of Hope Comprehensive Cancer Center, Duarte, CA ABSTRACT The SAS macro facility, which includes macro variables and macro programs, is the most

More information

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Introduction The objective of this paper is to demonstrate how to use a fillable PDF to collect

More information

Reporting Multidimensional Data on the Web using SAS/GRAPH and SAS/IntrNet Software

Reporting Multidimensional Data on the Web using SAS/GRAPH and SAS/IntrNet Software Paper 176 Reporting Multidimensional Data on the Web using SAS/GRAPH and SAS/IntrNet Software Edward Tasch Texas Education Agency, Austin Texas Abstract This paper describes how multidimensional data is

More information

Spreadsheets. With Microsoft Excel as an example

Spreadsheets. With Microsoft Excel as an example Spreadsheets With Microsoft Excel as an example Reading Chapter One and Three Exercises Those in the text of chapters one and three. The Problems section is not required. Purpose Originally for Accounting

More information

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series

Accessing Data and Creating Data Structures. SAS Global Certification Webinar Series Accessing Data and Creating Data Structures SAS Global Certification Webinar Series Accessing Data and Creating Data Structures Becky Gray Certification Exam Developer SAS Global Certification Michele

More information

Using SAS to Analyze CYP-C Data: Introduction to Procedures. Overview

Using 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 information

Using the SAS Add-In for Microsoft Office you can access the power of SAS via three key mechanisms:

Using the SAS Add-In for Microsoft Office you can access the power of SAS via three key mechanisms: SAS Add-In for Microsoft Office Leveraging SAS Throughout the Organization from Microsoft Office Jennifer Clegg, SAS Institute Inc., Cary, NC Stephen McDaniel, SAS Institute Inc., Cary, NC ABSTRACT The

More information

MIS 2502 Access 2007 Tutorial

MIS 2502 Access 2007 Tutorial Introduction...1 1. Creating Tables...2 1. Table Relationships...8 2. Queries... 13 4. Parameterized Query... 25 5. Forms... 37 6. Form Controls... 45 7. Sub Forms for 1:M Relationships... 53 8. Sub Forms

More information

Hypothesis Testing: An SQL Analogy

Hypothesis Testing: An SQL Analogy Hypothesis Testing: An SQL Analogy Leroy Bracken, Boulder Creek, CA Paul D Sherman, San Jose, CA ABSTRACT This paper is all about missing data. Do you ever know something about someone but don't know who

More information

PharmaSUG China 2018 Paper AD-62

PharmaSUG China 2018 Paper AD-62 PharmaSUG China 2018 Paper AD-62 Decomposition and Reconstruction of TLF Shells - A Simple, Fast and Accurate Shell Designer Chengeng Tian, dmed Biopharmaceutical Co., Ltd., Shanghai, China ABSTRACT Table/graph

More information

International data products

International data products International data products Public use files... 376 Codebooks for the PISA 2015 public use data files... 377 Data compendia tables... 378 Data analysis and software tools... 378 International Database

More information

Applications Development

Applications Development AD003 User Implementation and Revision of Business Rules Without Hard Coding: Macro-Generated SAS Code By Michael Krumenaker, Sr. Project Manager, Palisades Research, Inc. and Jit Bhattacharya, Manager

More information

HKTA TANG HIN MEMORIAL SECONDARY SCHOOL SECONDARY 3 COMPUTER LITERACY. Name: ( ) Class: Date: Databases and Microsoft Access

HKTA TANG HIN MEMORIAL SECONDARY SCHOOL SECONDARY 3 COMPUTER LITERACY. Name: ( ) Class: Date: Databases and Microsoft Access Databases and Microsoft Access Introduction to Databases A well-designed database enables huge data storage and efficient data retrieval. Term Database Table Record Field Primary key Index Meaning A organized

More information

PharmaSUG Paper PO12

PharmaSUG Paper PO12 PharmaSUG 2015 - Paper PO12 ABSTRACT Utilizing SAS for Cross-Report Verification in a Clinical Trials Setting Daniel Szydlo, Fred Hutchinson Cancer Research Center, Seattle, WA Iraj Mohebalian, Fred Hutchinson

More information