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

Size: px
Start display at page:

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

Transcription

1 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 from a relational database, there is a good chance they have not explored an alternate method of data manipulation, namely PROC SQL. Once learned, PROC SQL can be more intuitive in some cases than DATA step solutions and also have unique properties that allow certain functionality that is very difficult to obtain through a DATA step. This paper will review the basics of PROC SQL including creating and manipulating datasets, combining tables, summarizing data and tips to help the beginner code efficiently. INTRODUCTION SQL stands for Structured Query Language and is the building block of most relational database structures. PROC SQL is a unique procedure that allows you to utilize SQL within a SAS program. This helps when trying to pull datasets down from a relational database. It also adds additional programming flexibility as many features of SQL mirror those of DATA step functionality. Learning SQL can be a good point of entry for analysts coming from other programming languages and can also enhance the toolbox of existing SAS programmers. BASIC SYNTAX PROC SQL has a different syntax then virtually every other SAS procedure. It uses clauses which have a semicolon at the end. It also uses the term QUIT to terminate an operation instead of the RUN statement that a DATA step would use. The simplest form of a SQL query has three parts: A SELECT statement, a FROM statement and a WHERE statement. Here is what they signify: SELECT This statement chooses which variables you wish to have in your results or resulting dataset. FROM This statement identifies which table or dataset from which you want to select the data. WHERE This statement allows you to subset the results by a conditional set of variables. Now, we will look at an example of the basic PROC SQL syntax. Our source data for this exercise will look like this: State City Popflag Balance Acct_no VA Blacksburg Pop VA Richmond Pop VA Norfolk Pop VA Chantilly Pop VA Roanoke Pop NC Charlotte Pop NC Raleigh Pop NC Asheville Pop NC Burlington Pop NC Mebane Pop Our base data has some geographical information, some sort of identifying flag, balance information and an account number. Let s show the syntax of the most basic of PROC SQL queries: 1

2 select acct_no, balance, state ; The sample query is pulling from our dataset, called SAMPLE. It is selecting three fields and subsets only those accounts in the state of Virginia. The results appear in our OUTPUT window and look like this: Acct_no Balance State VA VA VA VA VA VA VA VA VA VA VA You can see that our results list in the output window the account number, balance and state which appeared in our SELECT statement. The variables will appear in the order specified in the SELECT statement. This can be helpful if you want to arrange columns in a certain order. The results are only for the state of Virginia due to our WHERE statement. Next, we will look at putting our results into a dataset. PROC SQL has its own set of conditional statements which allow you to subset your data. Here is a list of some of the more frequent items: Note that most conditional statements can be reversed using the keyword NOT, such as NOT IN, IS NOT NULL, IS NOT MISSING, etc. CREATING AND SORTING TABLES A table, in PROC SQL language, is the same as a SAS dataset. Most of the time, you will want to put your results into a SAS dataset for further use. Let s look at the statement which will help achieve this. CREATE TABLE This statement allows you to create a SAS dataset of your results using PROC SQL. We will recreate the above example query, this time creating a dataset of our results. Here is how that would look: 2

3 select acct_no, balance, state ; This query creates a table called T1 with the results of our above PROC SQL query. Note the syntax for this CRE- ATE TABLE dataset AS which is different from any other procedure in SAS. The resulting dataset T1 will be shown as created in your log and will have results that mirror our previous query. Many times you will want to sort your PROC SQL table results, much like using a PROC SORT in the SAS language. The good thing about the PROC SQL is you can sort within the same query, without having to add an extra PROC SORT afterwards. This is achieved using the ORDER BY statement ORDER BY Lists a PROC SQL table in order specified, sorting your dataset or output. It performs a similar function to a PROC SORT. Let s look at an example using the ORDER BY statement: select acct_no, balance, state order by balance; The ORDER BY is placed last in a query and appears after any other clauses. The results in the output are being sorted ascending by balance. Here are the results: Obs Acct_no Balance State VA VA VA VA VA VA VA VA VA VA If you wanted your results to be ordered descending, you can use that keyword similar to the PROC SORT. Note that the keyword appears after the variable in PROC SQL as opposed to the SORT where it appears before: select acct_no, balance, state order by balance descending; 3

4 SUMMARY FUNCTIONS PROC SQL is able to summarize your base datasets with the use of a variety of summary functions. This can often replicate the results of a PROC FREQ which is a staple of the traditional SAS programmer but having the additional functions add a twist to the results. There are two main components to summarizing using PROC SQL. You need to use a summary function(s) and you need to include the GROUP BY statement to complete the procedure. GROUP BY This statement rolls up a SQL query by the listed variables. It is needed to summarize data. Let s take a look at an example of a summary query: create table t2 as select state, count(acct_no) as accountcount, sum(balance) as sumbalance group by state; In this query, we are rolling up our data by the variable state, which is why it appears in our GROUP BY statement. You can list more than one field in the GROUP BY statement which will result in the finished dataset being at the level of the combination of the metrics listed. In this example, we used two summary functions, count and sum. The COUNT function will give you a record count for each example of the GROUP BY variables. The SUM function will summarize the variable listed which also means it needs to be a numeric field. Here is a list of some commonly used SQL summary functions: There are a few more functions than this list, consult your SAS documentation for the complete list. The results from our sample query look like this: Obs State accountcount sumbalance 1 DC DE FL GA NC PA SC VA The new variables ACCOUNTCOUNT and SUMBALANCE are created by the SELECT statement of the query. You can see the results are a summarized table by the variable state. There is a shortcut for the GROUP BY statement that will allow you to indicate fields by position instead of listing them. This can be handy if you are using numerous fields in your statement. Here is an example: 4

5 create table t2 as select state, count(acct_no) as accountcount, sum(balance) as sumbalance group by 1; The number one in the GROUP BY statement above refers to the first position in the SELECT statement, in this case being state. The above query is interchangeable with the first example in this section. SHORTCUTS There are a variety of techniques you can use to make your life easier programming with PROC SQL. One of the most common is using table aliases in your query. An alias is a letter or phrase used to reference a table without having to spell out the entire name. This is especially helpful when joining tables, which we will learn later, because it helps in keeping different fields and tables straight. The alias works by creating a quick reference for tables, allowing quicker programming for complicated queries. Let s take a look at an example: select a.acct_no, a.balance, a.state a where a.state='va' order by a.balance descending; The alias in this example is a which appears in the FROM statement after the word sample. This tells SAS that anything with the reference a comes from the table sample. In order to specify which table each field comes from, we indicate this with a. in front of every field. We will build on this later in the paper to better see the benefits of this process. The next shortcut will allow you to dedup your PROC SQL table much like you would with a PROC SORT. This is done using the DISTINCT keyword. This keyword when applied to a field will only return the unique value of the field in question. This allows you to limit your results to only unique values. Here is an example: select distinct a.state a; The keyword DISTINCT is added in front of the field state. In our results, instead of having multiple values of the variable state, we end up with a unique list. Obs State 1 DC 2 DE 3 FL 4 GA 5 NC 6 PA 7 SC 8 VA 5

6 One of the problems you can often run across with the PROC SQL is that in order to choose a field you need to list it in the SELECT statement. This can become quite cumbersome if your dataset has a large number of fields and you want to select them all. There is a shortcut for select all the fields in a dataset, called select *. This is a work around to select all fields in your dataset by default. Here is an example: select * order by balance descending; You can see the * replacing the fields list in the SELECT statement. This will choose all variables available in the dataset sample. Alternatively, if you were using aliases for your data you could also use the SELECT * methodology: select a.* a order by balance descending; This technique is often referred to as a.*. The final shortcut we will discuss is limiting observations in your PROC SQL query. This is very useful if you want a sample of a table you are going to use and believe that the size is too large to grab it all. This works similar to the OPTIONS OBS= logic used in SAS, but this applies only to your SQL query and not to all procedures in your active program. There are two statements that achieve these results, the INOBS and OUTOBS statements. The difference is the INOBS statement limits the data before it even is processed by the query, where the OUTOBS limits the data as the query is completed. Let s look at the OUTOBS in an example: proc sql outobs=10; select a.* a order by balance descending; Note that you will reference the OUTOBS or INOBS syntax in the PROC SQL line of your query. One important note is the the OUTOBS will issue a warning in your log saying: WARNING: Statement terminated early due to OUTOBS=10 option. This would fall under the category of a harmless warning but you should be aware it will occur. The results from our sample query above look like this: 6

7 Obs State City Popflag Balance Acct_no 1 VA Norfolk Pop VA Richmond Pop VA Richmond Pop VA Chantilly Pop VA Richmond Pop VA Norfolk Pop VA Norfolk Pop VA Chantilly Pop VA Blacksburg Pop VA Blacksburg Pop CONDITIONAL PROGRAMMING Often times you will be looking to group fields into your own classifications. This is a similar functionality to the IF- THEN-ELSE syntax from a SAS DATA step. In order to do this in PROC SQL, you first need to learn how to create your own columns. In order to create your own variable, you just list the variable you want to change, the keyword AS and list the new variable name. Here is an example: create table t2 as select acct_no, balance*.6 as newbalance ; The results of the above query will have two variables, account number and the created field newbalance. Now that we understand how to create a new variable, we ll review the syntax of conditional programming with PROC SQL. The proper syntax to create a conditional variable is called CASE-WHEN-THEN-ELSE. It works very similarly to the IF-THEN-ELSE statement. Let s look at an example: create table t3 as select acct_no, case when balance < 3000 then 'Low' when 3000 >= balance < 6000 then 'Medium' else 'High' end as flag ; The syntax of the CASE statement differs some from a normal IF-THEN statement although it works a similar way. The statement begins with CASE WHEN followed by conditional statements. The statement finished with an END statement followed by the AS and the name of the new variable. Here are the results from that query: Obs Acct_no flag High Low High High High High Low High Low High 7

8 The resulting dataset contains the account number and the new variable flag which was created by the CASE statement. JOINING TABLES The biggest key to PROC SQL in a relational database sense is the ability to join tables. The table join is the way to link tables which replicates the similar functionality of a merge in the DATA step. In order to join properly, the first concept that needs to be discussed is the Cartesian product. The Cartesian product happens when you put two tables together without any joins. Essentially, the PROC SQL will combine each record to each other, producing an extremely large dataset when dealing with large data to begin with. In most cases, the Cartesian product is not what you desire for your results. This is why it is most important to learn to join properly. There are different types of joins which we will learn, the inner, the directional outer (right, left) and the full join. INNER JOIN The INNER join is a join that returns those records that match both tables in question. A diagram of the INNER join looks like this: During this joining section, we will add a small dataset, called SAMPLE2, to illustrate the various techniques. Our extra dataset will look like this: Obs Acct_no product product product product product product1 This type of table is common in a relational database, it houses the account number which is the key, and a product flag. This means if you want to add the product flag, we will need to join to our second table. The first join we will attempt is the INNER join. The INNER join returns only the matching records from both tables. Let s look at an example: create table t4 as select a.*, b.product 1 a, sample2 b where a.acct_no=b.acct_no; The first key feature of joining is you need to use your table aliases. Without the aliases, the PROC SQL will get confused with common fields like account number. In our example above, it is clear that we want account number to come from table sample1 because we specify using aliases. The INNER join itself occurs in the WHERE statement of the PROC SQL. The results look like this: 8

9 Obs State City Popflag Balance Acct_no product 1 VA Blacksburg Pop product1 2 VA Richmond Pop product2 3 VA Norfolk Pop product3 4 NC Charlotte Pop product1 5 NC Burlington Pop product1 The results show that the join only returns matching records and adds the field product to the finished table. The next join we will look at is a directional join. In this paper, we ll look at the LEFT OUTER join, which will return these results: The LEFT OUTER join returns all the information from the first table listed and the matching information from the second table. Let s take a look at the syntax: create table t4 as select a.*, b.product 1 a LEFT JOIN sample2 b ON a.acct_no=b.acct_no; The first thing that you will notice is the syntax changes for the LEFT OUTER join. The FROM statement is split apart with the term LEFT JOIN in between the two tables. Instead of a WHERE clause, there is an ON statement that contains the join. The resulting table will have all fields 1 and the matches 2, like this: Obs State City Popflag Balance Acct_no product 1 VA Blacksburg Pop product1 2 VA Richmond Pop product2 3 VA Norfolk Pop product3 4 VA Chantilly Pop VA Roanoke Pop NC Charlotte Pop product1 7 NC Raleigh Pop NC Asheville Pop NC Burlington Pop product1 10 NC Mebane Pop The final join we will discuss is the FULL OUTER join. It returns all data from both tables, matching when it is proper: 9

10 The syntax for the FULL OUTER join is very similar to the LEFT JOIN we diagrammed earlier. Let s take a look at the syntax: create table t4 as select a.*,coalesce(a.acct_no,b.acct_no) as acct_no, b.product 1 a FULL JOIN sample2 b ON a.acct_no=b.acct_no; Essentially the only difference from the LEFT JOIN is the changing of the word LEFT to FULL. In this example, the results are also the same. When joining tables, you could specify the word OUTER in the join to be more specific. Also, the INNER join can be specified with similar syntax to the above OUTER joins, for this paper it was done with the shortest syntax possible. Note that we use the COALESCE function to ensure that our key is populated properly. The COALESCE function will take the first non-missing value. SQL VIEWS The VIEW in PROC SQL is a useful tool when dealing with complex relational databases. Often times, there are WHERE statement elements that are standard and need to be repeated to pull data properly. It can be confusing for a new analyst to remember all of the features that they need to be successful. The VIEW allows you to imbed a query in the background, having the analyst access the VIEW which sits behind the scenes. That way, standard processes can be preserved with an easy user interface. Let s learn how to create a VIEW: create view t1 as select a.* a order by balance descending; The only noticeable difference in syntax is the replacement of the word TABLE with the word VIEW. However, because we are creating a VIEW, there is no dataset created. In the log you will see the phrase: NOTE: SQL view WORK.T1 has been defined. Now we can use the VIEW just as we would use a table in the PROC SQL. Let s look at how we would accomplish this: create table t5 as select acct_no, state from t1 a; 10

11 The VIEW is referenced in the FROM statement just like any other SQL table. The resulting dataset t5 now holds all the characteristics built into the VIEW that was created, including those limiting factors in the WHERE statement and the ORDER BY statement. Let s take a look at the results: Obs Acct_no State VA VA VA VA VA VA VA VA VA VA CONCLUSIONS PROC SQL is a useful tool that can increase efficiency of programming and gives an alternative to some DATA step functionality. It can also serve as a gateway to SAS for SQL users from other programs. It is a valuable tool for all SAS programmers to be familiar with. REFERENCES Ian Whitlock. PROC SQL Is It a required Tool for Good SAS programming? Proceedings of SAS User Group International Conference, Paper 60-26, Long Beach, CA, USA Katie Minten Ronk, et al. An Introduction to PROC SQL Proceedings of SAS User Group International Conference, Paper , Orlando, FL, USA 2002 Weiming Hu. Top 10 Reasons to Use PROC SQL Proceedings of SAS User Group International Conference, Paper , Montreal, Quebec, Canada ACKNOWLEDGMENTS 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. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Matt Taylor Carolina Analytical Consulting, LLC 8511 Davis Lake Parkway Ste #C6-285 Charlotte, NC matt.taylor@cacanalytics.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 11

Taming the PROC TRANSPOSE

Taming the PROC TRANSPOSE Taming the PROC TRANSPOSE Matt Taylor, Carolina Analytical Consulting, LLC ABSTRACT The PROC TRANSPOSE is often misunderstood and seldom used. SAS users are unsure of the results it will give and curious

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

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD

Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD Using DATA Step MERGE and PROC SQL JOIN to Combine SAS Datasets Dalia C. Kahane, Westat, Rockville, MD ABSTRACT This paper demonstrates important features of combining datasets in SAS. The facility to

More information

Performing Queries Using PROC SQL (1)

Performing Queries Using PROC SQL (1) SAS SQL Contents Performing queries using PROC SQL Performing advanced queries using PROC SQL Combining tables horizontally using PROC SQL Combining tables vertically using PROC SQL 2 Performing Queries

More information

Effective Use of SQL in SAS Programming

Effective Use of SQL in SAS Programming INTRODUCTION Effective Use of SQL in SAS Programming Yi Zhao Merck & Co. Inc., Upper Gwynedd, Pennsylvania Structured Query Language (SQL) is a data manipulation tool of which many SAS programmers are

More information

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide Paper 1557-2014 The Query Builder: The Swiss Army Knife of SAS Enterprise Guide ABSTRACT Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. The SAS Enterprise Guide Query Builder

More information

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD NESUG 2012 Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD ABSTRACT PROC SQL is a powerful yet still overlooked tool within our SAS arsenal. PROC SQL can create tables, sort and summarize data,

More information

Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL

Chapter 9 Joining Data from Multiple Tables. Oracle 10g: SQL Chapter 9 Joining Data from Multiple Tables Oracle 10g: SQL Objectives Identify a Cartesian join Create an equality join using the WHERE clause Create an equality join using the JOIN keyword Create a non-equality

More information

Alternatives to Merging SAS Data Sets But Be Careful

Alternatives to Merging SAS Data Sets But Be Careful lternatives to Merging SS Data Sets ut e Careful Michael J. Wieczkowski, IMS HELTH, Plymouth Meeting, P bstract The MERGE statement in the SS programming language is a very useful tool in combining or

More information

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries

Paper TU_09. Proc SQL Tips and Techniques - How to get the most out of your queries Paper TU_09 Proc SQL Tips and Techniques - How to get the most out of your queries Kevin McGowan, Constella Group, Durham, NC Brian Spruell, Constella Group, Durham, NC Abstract: Proc SQL is a powerful

More information

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL

PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on

More information

Demystifying PROC SQL Join Algorithms Kirk Paul Lafler, Software Intelligence Corporation

Demystifying PROC SQL Join Algorithms Kirk Paul Lafler, Software Intelligence Corporation Paper TU01 Demystifying PROC SQL Join Algorithms Kirk Paul Lafler, Software Intelligence Corporation ABSTRACT When it comes to performing PROC SQL joins, users supply the names of the tables for joining

More information

Outline. SAS-seminar Proc SQL, the pass-through facility. What is SQL? What is a database? What is Proc SQL? What is SQL and what is a database

Outline. SAS-seminar Proc SQL, the pass-through facility. What is SQL? What is a database? What is Proc SQL? What is SQL and what is a database Outline SAS-seminar Proc SQL, the pass-through facility How to make your data processing someone else s problem What is SQL and what is a database Quick introduction to Proc SQL The pass-through facility

More information

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ PharmaSUG 2014 PO10 Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ ABSTRACT As more and more organizations adapt to the SAS Enterprise Guide,

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

Salary. Cumulative Frequency

Salary. Cumulative Frequency HW01 Answering the Right Question with the Right PROC Carrie Mariner, Afton-Royal Training & Consulting, Richmond, VA ABSTRACT When your boss comes to you and says "I need this report by tomorrow!" do

More information

Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC

Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC ABSTRACT As data sets continue to grow, it is important for programs to be written very efficiently to make sure no time

More information

Top Ten Reasons to Use PROC SQL

Top Ten Reasons to Use PROC SQL Paper 042-29 Top Ten Reasons to Use PROC SQL Weiming Hu, Center for Health Research Kaiser Permanente, Portland, Oregon, USA ABSTRACT Among SAS users, it seems there are two groups of people, those who

More information

Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA

Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA Efficient Techniques and Tips in Handling Large Datasets Shilong Kuang, Kelley Blue Book Inc., Irvine, CA ABSTRACT When we work on millions of records, with hundreds of variables, it is crucial how we

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

SQL SUBQUERIES: Usage in Clinical Programming. Pavan Vemuri, PPD, Morrisville, NC

SQL SUBQUERIES: Usage in Clinical Programming. Pavan Vemuri, PPD, Morrisville, NC PharmaSUG 2013 Poster # P015 SQL SUBQUERIES: Usage in Clinical Programming Pavan Vemuri, PPD, Morrisville, NC ABSTRACT A feature of PROC SQL which provides flexibility to SAS users is that of a SUBQUERY.

More information

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board

SAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board SAS PROGRAM EFFICIENCY FOR BEGINNERS Bruce Gilsen, Federal Reserve Board INTRODUCTION This paper presents simple efficiency techniques that can benefit inexperienced SAS software users on all platforms.

More information

Paper 70-27 An Introduction to SAS PROC SQL Timothy J Harrington, Venturi Partners Consulting, Waukegan, Illinois

Paper 70-27 An Introduction to SAS PROC SQL Timothy J Harrington, Venturi Partners Consulting, Waukegan, Illinois Paper 70-27 An Introduction to SAS PROC SQL Timothy J Harrington, Venturi Partners Consulting, Waukegan, Illinois Abstract This paper introduces SAS users with at least a basic understanding of SAS data

More information

Using SQL Queries in Crystal Reports

Using SQL Queries in Crystal Reports PPENDIX Using SQL Queries in Crystal Reports In this appendix Review of SQL Commands PDF 924 n Introduction to SQL PDF 924 PDF 924 ppendix Using SQL Queries in Crystal Reports The SQL Commands feature

More information

Dup, Dedup, DUPOUT - New in PROC SORT Heidi Markovitz, Federal Reserve Board of Governors, Washington, DC

Dup, Dedup, DUPOUT - New in PROC SORT Heidi Markovitz, Federal Reserve Board of Governors, Washington, DC CC14 Dup, Dedup, DUPOUT - New in PROC SORT Heidi Markovitz, Federal Reserve Board of Governors, Washington, DC ABSTRACT This paper presents the new DUPOUT option of PROC SORT and discusses the art of identifying

More information

Oracle SQL. Course Summary. Duration. Objectives

Oracle SQL. Course Summary. Duration. Objectives Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data

More information

Improve Your Queries; Hints and Tips for Using SQL Marje Fecht, Prowerk Consulting, Mississauga, Ontario, Canada Linda Mitterling, SAS, Cary, NC

Improve Your Queries; Hints and Tips for Using SQL Marje Fecht, Prowerk Consulting, Mississauga, Ontario, Canada Linda Mitterling, SAS, Cary, NC Paper 270-29 Improve Your Queries; Hints and Tips for Using SQL Marje Fecht, Prowerk Consulting, Mississauga, Ontario, Canada Linda Mitterling, SAS, Cary, NC ABSTRACT Are you using PROC SQL but never quite

More information

MWSUG 2011 - Paper S111

MWSUG 2011 - Paper S111 MWSUG 2011 - Paper S111 Dealing with Duplicates in Your Data Joshua M. Horstman, First Phase Consulting, Inc., Indianapolis IN Roger D. Muller, First Phase Consulting, Inc., Carmel IN Abstract As SAS programmers,

More information

Introduction to Criteria-based Deduplication of Records, continued SESUG 2012

Introduction to Criteria-based Deduplication of Records, continued SESUG 2012 SESUG 2012 Paper CT-11 An Introduction to Criteria-based Deduplication of Records Elizabeth Heath RTI International, RTP, NC Priya Suresh RTI International, RTP, NC ABSTRACT When survey respondents are

More information

Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole

Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole Paper BB-01 Lost in Space? Methodology for a Guided Drill-Through Analysis Out of the Wormhole ABSTRACT Stephen Overton, Overton Technologies, LLC, Raleigh, NC Business information can be consumed many

More information

Chapter 1 Overview of the SQL Procedure

Chapter 1 Overview of the SQL Procedure Chapter 1 Overview of the SQL Procedure 1.1 Features of PROC SQL...1-3 1.2 Selecting Columns and Rows...1-6 1.3 Presenting and Summarizing Data...1-17 1.4 Joining Tables...1-27 1-2 Chapter 1 Overview of

More information

AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates

AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C Y Associates Abstract This tutorial will introduce the SQL (Structured Query Language) procedure through a series of simple examples We will initially

More information

Can SAS Enterprise Guide do all of that, with no programming required? Yes, it can.

Can SAS Enterprise Guide do all of that, with no programming required? Yes, it can. SAS Enterprise Guide for Educational Researchers: Data Import to Publication without Programming AnnMaria De Mars, University of Southern California, Los Angeles, CA ABSTRACT In this workshop, participants

More information

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix Jennifer Clegg, SAS Institute Inc., Cary, NC Eric Hill, SAS Institute Inc., Cary, NC ABSTRACT Release 2.1 of SAS

More information

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com Essential SQL 2 Essential SQL This bonus chapter is provided with Mastering Delphi 6. It is a basic introduction to SQL to accompany Chapter 14, Client/Server Programming. RDBMS packages are generally

More information

A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC

A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC SESUG 2012 ABSTRACT The FEEDBACK option on the PROC SQL statement controls whether an expanded or transformed

More information

PSU 2012. SQL: Introduction. SQL: Introduction. Relational Databases. Activity 1 Examining Tables and Diagrams

PSU 2012. SQL: Introduction. SQL: Introduction. Relational Databases. Activity 1 Examining Tables and Diagrams PSU 2012 SQL: Introduction SQL: Introduction The PowerSchool database contains data that you access through a web page interface. The interface is easy to use, but sometimes you need more flexibility.

More information

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC ABSTRACT One of the most expensive and time-consuming aspects of data management

More information

A Day in the Life of Data Part 2

A Day in the Life of Data Part 2 ABSTRACT Paper 117-2013 A Day in the Life of Data Part 2 Harry Droogendyk, Stratia Consulting Inc. As a new SAS programmer, you may be overwhelmed with the variety of tricks and techniques that you see

More information

Table Lookups: From IF-THEN to Key-Indexing

Table Lookups: From IF-THEN to Key-Indexing Paper 158-26 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter, California Occidental Consultants ABSTRACT One of the more commonly needed operations within SAS programming is to determine

More information

Oracle 10g PL/SQL Training

Oracle 10g PL/SQL Training Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural

More information

Managing Data Issues Identified During Programming

Managing Data Issues Identified During Programming Paper CS04 Managing Data Issues Identified During Programming Shafi Chowdhury, Shafi Consultancy Limited, London, U.K. Aminul Islam, Shafi Consultancy Bangladesh, Sylhet, Bangladesh ABSTRACT Managing data

More information

Oracle Database 12c: Introduction to SQL Ed 1.1

Oracle Database 12c: Introduction to SQL Ed 1.1 Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,

More information

SAS Client-Server Development: Through Thick and Thin and Version 8

SAS Client-Server Development: Through Thick and Thin and Version 8 SAS Client-Server Development: Through Thick and Thin and Version 8 Eric Brinsfield, Meridian Software, Inc. ABSTRACT SAS Institute has been a leader in client-server technology since the release of SAS/CONNECT

More information

PROC SQL: Tips and Translations for Data Step Users Susan P Marcella, ExxonMobil Biomedical Sciences, Inc. Gail Jorgensen, Palisades Research, Inc.

PROC SQL: Tips and Translations for Data Step Users Susan P Marcella, ExxonMobil Biomedical Sciences, Inc. Gail Jorgensen, Palisades Research, Inc. PROC SQL: Tips and Translations for Data Step Users Susan P Marcella, ExxonMobil Biomedical Sciences, Inc. Gail Jorgensen, Palisades Research, Inc. ABSTRACT SAS has always been an extremely powerful data

More information

SAS FARANCADE - A Review and Summary

SAS FARANCADE - A Review and Summary Paper 3104-2015 Data Management Techniques for Complex Healthcare Data Gabriela Cantu-Perez MPH, Christopher Klekar MPH, MBA, Baylor Scott&White Health ABSTRACT Data sharing through healthcare collaboratives

More information

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI Paper 191-27 AN INTRODUCTION TO PROC SQL Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI ABSTRACT PROC SQL is a powerful Base SAS 7 Procedure that combines the

More information

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1

Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Institute for Health Care Research and Improvement, Baylor Health Care System 2 University of North

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

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

Introduction to Proc SQL Katie Minten Ronk, Systems Seminar Consultants, Madison, WI

Introduction to Proc SQL Katie Minten Ronk, Systems Seminar Consultants, Madison, WI Paper 268-29 Introduction to Proc SQL Katie Minten Ronk, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps

More information

Your Database Can Do SAS Too!

Your Database Can Do SAS Too! Paper 2004-2015 Your Database Can Do SAS Too! Harry Droogendyk, Stratia Consulting Inc. ABSTRACT How often have you pulled oodles of data out of the corporate data warehouse down into SAS for additional

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

More information

Using SAS With a SQL Server Database. M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC

Using SAS With a SQL Server Database. M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC Using SAS With a SQL Server Database M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC ABSTRACT Many operations now store data in relational databases. You may want to use SAS

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to

More information

SAS Views The Best of Both Worlds

SAS Views The Best of Both Worlds Paper 026-2010 SAS Views The Best of Both Worlds As seasoned SAS programmers, we have written and reviewed many SAS programs in our careers. What I have noticed is that more often than not, people who

More information

Table 1. Demog. id education B002 5 b003 8 b005 5 b007 9 b008 7 b009 8 b010 8

Table 1. Demog. id education B002 5 b003 8 b005 5 b007 9 b008 7 b009 8 b010 8 Adding PROC SQL to your SAS toolbox for merging multiple tables without common variable names Susan Wancewicz, Moores Cancer Center, UCSD, La Jolla, CA ABSTRACT The SQL procedure offers an efficient method

More information

Christianna S. Williams, University of North Carolina at Chapel Hill, Chapel Hill, NC

Christianna S. Williams, University of North Carolina at Chapel Hill, Chapel Hill, NC Christianna S. Williams, University of North Carolina at Chapel Hill, Chapel Hill, NC ABSTRACT Have you used PROC MEANS or PROC SUMMARY and wished there was something intermediate between the NWAY option

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

Your Database Can Do SAS Too!

Your Database Can Do SAS Too! SESUG 2014 Paper AD-57 Your Database Can Do SAS Too! Harry Droogendyk, Stratia Consulting Inc., Lynden, ON ABSTRACT How often have you pulled oodles of data out of the corporate data warehouse down into

More information

The prerelease version of SQL was called SEQUEL (for Structured English Query Language), and some people still pronounce SQL as sequel.

The prerelease version of SQL was called SEQUEL (for Structured English Query Language), and some people still pronounce SQL as sequel. 23 SQL The SQL proc lets you execute SQL statements that operate on SAS data. SQL, Structured Query Language, is the closest thing there is to a standard language for retrieving data from databases. SQL

More information

Database Administration with MySQL

Database Administration with MySQL Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational

More information

DATA Step versus PROC SQL Programming Techniques

DATA Step versus PROC SQL Programming Techniques Paper FF-003 DATA Step versus PROC SQL Programming Techniques Kirk Paul Lafler, Software Intelligence Corporation ABSTRACT Are you considering whether to use a DATA step or PROC SQL step in your next project?

More information

SQL Basics. Introduction to Standard Query Language

SQL Basics. Introduction to Standard Query Language SQL Basics Introduction to Standard Query Language SQL What Is It? Structured Query Language Common Language For Variety of Databases ANSI Standard BUT. Two Types of SQL DML Data Manipulation Language

More information

SET The SET statement is often used in two ways copying and appending.

SET The SET statement is often used in two ways copying and appending. Point, Set, Match (Merge) A Beginner s Lesson Jennifer Hoff Lindquist, Institute for Clinical and Epidemiologic Research, Veterans Affairs Medical Center, Durham, NC The phrase Point, Set and Match is

More information

# or ## - how to reference SQL server temporary tables? Xiaoqiang Wang, CHERP, Pittsburgh, PA

# or ## - how to reference SQL server temporary tables? Xiaoqiang Wang, CHERP, Pittsburgh, PA # or ## - how to reference SQL server temporary tables? Xiaoqiang Wang, CHERP, Pittsburgh, PA ABSTRACT This paper introduces the ways of creating temporary tables in SQL Server, also uses some examples

More information

Sample- for evaluation only. Introductory Access. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.

Sample- for evaluation only. Introductory Access. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2010 Introductory Access TeachUcomp, Inc. it s all about you Copyright: Copyright 2010 by TeachUcomp, Inc. All rights reserved. This

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

Simple Rules to Remember When Working with Indexes Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California

Simple Rules to Remember When Working with Indexes Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Simple Rules to Remember When Working with Indexes Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Abstract SAS users are always interested in learning techniques related

More information

Identifying Invalid Social Security Numbers

Identifying Invalid Social Security Numbers ABSTRACT Identifying Invalid Social Security Numbers Paulette Staum, Paul Waldron Consulting, West Nyack, NY Sally Dai, MDRC, New York, NY Do you need to check whether Social Security numbers (SSNs) are

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

Lab # 5. Retreiving Data from Multiple Tables. Eng. Alaa O Shama

Lab # 5. Retreiving Data from Multiple Tables. Eng. Alaa O Shama The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 5 Retreiving Data from Multiple Tables Eng. Alaa O Shama November, 2015 Objectives:

More information

Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study Erik S. Larsen, Independent Consultant, Charleston, SC

Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study Erik S. Larsen, Independent Consultant, Charleston, SC Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study Erik S. Larsen, Independent Consultant, Charleston, SC Abstract: Often times while on a client site as a SAS consultant,

More information

Building a Customized Data Entry System with SAS/IntrNet

Building a Customized Data Entry System with SAS/IntrNet Building a Customized Data Entry System with SAS/IntrNet Keith J. Brown University of North Carolina General Administration Chapel Hill, NC Introduction The spread of the World Wide Web and access to the

More information

Statistics and Analysis. Quality Control: How to Analyze and Verify Financial Data

Statistics and Analysis. Quality Control: How to Analyze and Verify Financial Data Abstract Quality Control: How to Analyze and Verify Financial Data Michelle Duan, Wharton Research Data Services, Philadelphia, PA As SAS programmers dealing with massive financial data from a variety

More information

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University ABSTRACT In real world, analysts seldom come across data which is in

More information

Intro to Mail Merge. Contents: David Diskin for the University of the Pacific Center for Professional and Continuing Education. Word Mail Merge Wizard

Intro to Mail Merge. Contents: David Diskin for the University of the Pacific Center for Professional and Continuing Education. Word Mail Merge Wizard Intro to Mail Merge David Diskin for the University of the Pacific Center for Professional and Continuing Education Contents: Word Mail Merge Wizard Mail Merge Possibilities Labels Form Letters Directory

More information

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC Paper CC 14 Counting the Ways to Count in SAS Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT This paper first takes the reader through a progression of ways to count in SAS.

More information

Subsetting Observations from Large SAS Data Sets

Subsetting Observations from Large SAS Data Sets Subsetting Observations from Large SAS Data Sets Christopher J. Bost, MDRC, New York, NY ABSTRACT This paper reviews four techniques to subset observations from large SAS data sets: MERGE, PROC SQL, user-defined

More information

USING SAS WITH ORACLE PRODUCTS FOR DATABASE MANAGEMENT AND REPORTING

USING SAS WITH ORACLE PRODUCTS FOR DATABASE MANAGEMENT AND REPORTING USING SAS WITH ORACLE PRODUCTS FOR DATABASE MANAGEMENT AND REPORTING Henry W. Buffum, R. O. W. ScIences, Inc. Darryl J. Keith, U.S. Environmental Protection Agency Abstract: Data for a large environmental

More information

What You re Missing About Missing Values

What You re Missing About Missing Values Paper 1440-2014 What You re Missing About Missing Values Christopher J. Bost, MDRC, New York, NY ABSTRACT Do you know everything you need to know about missing values? Do you know how to assign a missing

More information

What's New in SAS Data Management

What's New in SAS Data Management Paper SAS034-2014 What's New in SAS Data Management Nancy Rausch, SAS Institute Inc., Cary, NC; Mike Frost, SAS Institute Inc., Cary, NC, Mike Ames, SAS Institute Inc., Cary ABSTRACT The latest releases

More information

THE POWER OF PROC FORMAT

THE POWER OF PROC FORMAT THE POWER OF PROC FORMAT Jonas V. Bilenas, Chase Manhattan Bank, New York, NY ABSTRACT The FORMAT procedure in SAS is a very powerful and productive tool. Yet many beginning programmers rarely make use

More information

Parallel Data Preparation with the DS2 Programming Language

Parallel Data Preparation with the DS2 Programming Language ABSTRACT Paper SAS329-2014 Parallel Data Preparation with the DS2 Programming Language Jason Secosky and Robert Ray, SAS Institute Inc., Cary, NC and Greg Otto, Teradata Corporation, Dayton, OH A time-consuming

More information

PharmaSUG 2015 - Paper QT26

PharmaSUG 2015 - Paper QT26 PharmaSUG 2015 - Paper QT26 Keyboard Macros - The most magical tool you may have never heard of - You will never program the same again (It's that amazing!) Steven Black, Agility-Clinical Inc., Carlsbad,

More information

Search help. More on Office.com: images templates

Search help. More on Office.com: images templates Page 1 of 14 Access 2010 Home > Access 2010 Help and How-to > Getting started Search help More on Office.com: images templates Access 2010: database tasks Here are some basic database tasks that you can

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: +381 11 2016811 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn Understanding the basic concepts of relational databases ensure refined code by developers.

More information

Normalizing SAS Datasets Using User Define Formats

Normalizing SAS Datasets Using User Define Formats Normalizing SAS Datasets Using User Define Formats David D. Chapman, US Census Bureau, Washington, DC ABSTRACT Normalization is a database concept used to eliminate redundant data, increase computational

More information

Microsoft Access Lesson 5: Structured Query Language (SQL)

Microsoft Access Lesson 5: Structured Query Language (SQL) Microsoft Access Lesson 5: Structured Query Language (SQL) Structured Query Language (pronounced S.Q.L. or sequel ) is a standard computing language for retrieving information from and manipulating databases.

More information

Query Builder. The New JMP 12 Tool for Getting Your SQL Data Into JMP WHITE PAPER. By Eric Hill, Software Developer, JMP

Query Builder. The New JMP 12 Tool for Getting Your SQL Data Into JMP WHITE PAPER. By Eric Hill, Software Developer, JMP Query Builder The New JMP 12 Tool for Getting Your SQL Data Into JMP By Eric Hill, Software Developer, JMP WHITE PAPER SAS White Paper Table of Contents Introduction.... 1 Section 1: Making the Connection....

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training teaches you how to write subqueries,

More information

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com murachbooks@murach.com Expanded

More information

Wave Analytics Data Integration Guide

Wave Analytics Data Integration Guide Wave Analytics Data Integration Guide Salesforce, Winter 16 @salesforcedocs Last updated: November 6, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

THE TERMS AND CONCEPTS

THE TERMS AND CONCEPTS Calculating Medication Compliance, Adherence, and Persistence in Administrative Pharmacy Claims Databases R. Scott Leslie, MedImpact Healthcare Systems, Inc., San Diego, CA ABSTRACT Compliance, adherence,

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn View a newer version of this course This Oracle Database: Introduction to SQL training

More information

Oracle Database 10g: Introduction to SQL

Oracle Database 10g: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.

More information

1 Structured Query Language: Again. 2 Joining Tables

1 Structured Query Language: Again. 2 Joining Tables 1 Structured Query Language: Again So far we ve only seen the basic features of SQL. More often than not, you can get away with just using the basic SELECT, INSERT, UPDATE, or DELETE statements. Sometimes

More information

Microsoft Query, the helper application included with Microsoft Office, allows

Microsoft Query, the helper application included with Microsoft Office, allows 3 RETRIEVING ISERIES DATA WITH MICROSOFT QUERY Microsoft Query, the helper application included with Microsoft Office, allows Office applications such as Word and Excel to read data from ODBC data sources.

More information

Survey Analysis: Options for Missing Data

Survey Analysis: Options for Missing Data Survey Analysis: Options for Missing Data Paul Gorrell, Social & Scientific Systems, Inc., Silver Spring, MD Abstract A common situation researchers working with survey data face is the analysis of missing

More information