Book Image

Hands-On SAS for Data Analysis

By : Harish Gulati
Book Image

Hands-On SAS for Data Analysis

By: Harish Gulati

Overview of this book

SAS is one of the leading enterprise tools in the world today when it comes to data management and analysis. It enables the fast and easy processing of data and helps you gain valuable business insights for effective decision-making. This book will serve as a comprehensive guide that will prepare you for the SAS certification exam. After a quick overview of the SAS architecture and components, the book will take you through the different approaches to importing and reading data from different sources using SAS. You will then cover SAS Base and 4GL, understanding data management and analysis, along with exploring SAS functions for data manipulation and transformation. Next, you'll discover SQL procedures and get up to speed on creating and validating queries. In the concluding chapters, you'll learn all about data visualization, right from creating bar charts and sample geographic maps through to assigning patterns and formats. In addition to this, the book will focus on macro programming and its advanced aspects. By the end of this book, you will be well versed in SAS programming and have the skills you need to easily handle and manage your data-related problems in SAS.
Table of Contents (17 chapters)
Free Chapter
1
Section 1: SAS Basics
4
Section 2: Merging, Optimizing, and Descriptive Statistics
7
Section 3: Advanced Programming
10
Section 4: SQL in SAS
13
Section 5: Data Visualization and Reporting

Identifying duplicates using Proc SQL

The simplest way to remove duplicates in Proc SQL is by using the Distinct statement. We will use it on the Dealership_Looped dataset, where the i column, which is used as a looping counter, has been dropped:

Proc Sql;
Create Table Distinct_Dealership_Looped As
Select Distinct *
From Dealership_Looped
;
Quit;

Using the Distinct statement, we have correctly identified the duplicates we created as part of the DO LOOPS. We are now left with the original number of 36 records we had. This can be confirmed by looking at the following LOG:

NOTE: Table WORK.DISTINCT_DEALERSHIP_LOOPED created, with 36 rows and 6 columns.

NOTE: PROCEDURE SQL used (Total process time):
real time 1:56.01
cpu time 1:05.78

Let's find out how would we have fared in terms of runtime if we had used PROC SORT. After all, PROC SORT is the most popular...