Exporting Access Databases with Indexes and Keys Roger S. Cohen, New York State Dept of Tax and Finance, Albany, New York

Size: px
Start display at page:

Download "Exporting Access Databases with Indexes and Keys Roger S. Cohen, New York State Dept of Tax and Finance, Albany, New York"

Transcription

1 Exporting Access Databases with Indexes and Keys Roger S. Cohen, New York State Dept of Tax and Finance, Albany, New York ABSTRACT SAS Access for Microsoft Office Applications allows SAS programs to import and export tables to Microsoft Access MDB files. SAS does not currently provide a means for exporting tables that contain keys or indexed fields. This paper explains hot to create a standalone Visual Basic application that may be used within SAS to provide this capacity. PURPOSE Microsoft Access is a very popular database application. It has many wonderful features for creating forms, reports and queries and displaying data. SAS is a wonderful system for accessing data in many forms, manipulating it complex ways, producing analysis and creating specialized datasets. We have produced extremely capable applications by marrying the capabilities of both programs. In the New York State Tax Department, all (or virtually all) of our employees who use computers have Microsoft Office, including Microsoft Access installed on their computers. SAS is installed on only about twenty. We have found it very useful to create applications for groups of users that use a Microsoft Access front end, but are populated with data created or updated nightly by a SAS application. We use Microsoft s SQL Server to house the data for our larger and more mature projects, but because of institutional and other reasons it still makes sense for us to develop many of our tools using basic Access MDB files and tables. Our applications update automatically. We use Windows scheduler to initiate our SAS applications each night or early morning after the processing system files they read have updated. In the final stages of the nightly process our SAS programs export files to Access MDB files so that they are ready for users when they arrive in the morning. One problem that we had to overcome in the development of these processes was how to create Access tables that were properly indexed. SAS, Version 9 does not have any capability that we were able to find that would allow it to export an indexed MDB table. Instead, we created a standalone Visual Basic 6 application complied to an executable EXE file and called with all the necessary information it needed passed in the command line. Then, within any SAS program, we could include one or more X statements following the PROC EXPORT to call this executable and add whatever indexing or keys that were needed. METHOD Below is the Visual Basic, ver. 6 code used to create the executable file. Attribute VB_Name = "Module1" Public Sub Main() indexfunc End Sub Public Function indexfunc() As String On Error GoTo cmdindexfunc_err Dim dbs As Database Dim tbl As TableDef Dim idxvbl As Index Dim cmdstr As String 1

2 cmdstr = Command() If cmdstr = "" Or InStr(cmdstr, "?") > 0 Then MsgBox "INDEXGEN <Database Name>,<Table Name>,<Variable Name>" GoTo cmdindexfunc_exit End If cpos = InStr(cmdstr, ",") dbstr = Mid(cmdstr, 1, cpos - 1) cmdstr = Mid(cmdstr, cpos + 1) cpos = InStr(cmdstr, ",") tblstr = Mid(cmdstr, 1, cpos - 1) cmdstr = Mid(cmdstr, cpos + 1) vblstr = cmdstr dbstr = Replace(dbstr, """", "") tblstr = Replace(tblstr, """", "") vblstr = Replace(vblstr, """", "") 'cmdstr = Mid(cmdstr, cpos + 1) 'MsgBox "Database: " & dbstr & vbcrlf & _ "Table: " & tblstr & vbcrlf & _ "Variable: " & vblstr Set dbs = OpenDatabase(dbstr) Set tbl = dbs.tabledefs(tblstr) 2

3 Set idxvbl = tbl.createindex(vblstr & "Index") idxvbl.fields.append idxvbl.createfield(vblstr) tbl.indexes.append idxvbl 'SysCmd acsyscmdsetstatus, " " 'indexfunc = " " GoTo cmdindexfunc_exit cmdindexfunc_err: If Not (Err = 3284) Then If Not (Err = 3262) Then If Not (Err = 0) Then MsgBox MsgBox(Error() & Err) 'Ignore already indexed error 'MsgBox Err.Number & Err.Description cmdindexfunc_exit: End Function The program is compile to INDEXGEN.EXE and the syntax for invoking it is the following: INDEXGEN <Database Name>,<Table Name>,<Variable Name> This program may be run from Windows Command Prompt Window, from within a BAT file, from Run on the Windows Start Menu or within a SAS program by using the X statement. Below is an example of how a data table may be exported: Example: Exporting an Indexed MDB File from SAS: DATA MakeMeAnMDBtbl; /* Contains variable IndexMe1 and IndexMe2 which need to be indexed */ run; PROC EXPORT DATA = MakeMeAnMDBtbl OUTTABLE= NowAnMDBtlb DBMS= access replace; DATABASE= c:\path\myaccessapp.mdb ; OPTIONS NOXWAIT XSYNC; X C:\bin\INDEXGEN c:\path\myaccessapp.mdb, NowAnMDBtlb, IndexMe1; X C:\bin\INDEXGEN c:\path\myaccessapp.mdb, NowAnMDBtlb, IndexMe2; In example 1, we are primarily interested in the dataset, FileA. We merged with FileB and are surprised to find that Test has more records than FileA, although we used the in= option. In this simplest example (By group of 1 variable), we look for records with duplicate values for Ind_1. We find that TestB is not empty. After examination of TestB, we add a second indicator variable in order to uniquely define a record and run GetDup a second time. This time TestC is empty but we may not be done. Upon examination of TestB, we decide Ind_2 does not serve any useful purpose. The highest value of Ind_2 is an appropriate value to use. We replace the empty TestC with the appropriate filter of TestB. Example Use #2: By group of multiple variables %GetDup (fromfile=est2004, id=ind_1 Ind_2 Ind_3, tofile=dup2004); 3

4 The three variables, Ind_1 Ind_2 Ind_3, were expected to uniquely identify records in the dataset, est2004, which has over 1 million records. Executing %GetDup results in dataset, dup2004, of 1000 records. What the heck? Sometimes it s easier to examine the dataset in MS Excel. PROC EXPORT DATA = Dup2004 OUTFILE = "A:\Dev\Estimates " DBMS=EXCEL2000 REPLACE; SHEET="Dup2004"; run; Perhaps including Address to the previous By group will differentiate each record. %GetDup (fromfile=est2004, id= Ind_1 Ind_2 Ind_3 Address, tofile=dup2004b); Dup2004b has the same 1000 records. No help. Replace Address with Name. %GetDup (fromfile=est2004, id= Ind_1 Ind_2 Ind_3 Name, tofile=dup2004c); This time Dup2004c is empty. In fact, Ind_1 Ind_2 Ind_3 Name, is a By group that uniquely identifies records. Example Use #3: DATA Jun; SET Jun02 Jun15; run; The datasets Jun02 and Jun15 are the result of processes that should be independent and should produce unique records By Id Batch. Let s test the appending of these two datasets. %GetDup (fromfile=jun, id=id Batch, tofile=chk);* no duplicates; Good, Chk is an empty dataset. Example Use #4: A source file of tax returns were identified as having general exceptions. More detail was needed, which required JOINing the source file with a database of specific tax returns. Base was the result of that JOIN. Variables 1-2 provided an index of unique records from the source file, and we examine Base using GetDup. %GetDup(fromfile=base, id=var1 var2, tofile=testdup); We find that Testdup is not empty. Initially, we thought the duplicates resulted from two inconsequential variables, Date1 and Ind1 from the return dataset. No problem. Simply delete them from a Test dataset, then sort it using the nodup option. DATA test;set testdup;drop Date1 Ind1; PROC SORT DATA=test NODUP;BY var1 var2;run; In fact, Test was still not empty. Further analysis revealed that a subset of the source returns had gone through multiple stages of review, which were delineated by Date1 and Ind1. Those records had different values for system calculated variables, which was data that we wanted to keep. Consequently, we should retain Date1 and Ind1 and recognize that the records in Testdup are duplicates over the subset of (Var1, Var2), but their small differences are significant. CONCLUSION The problems and challenges of duplicate records often go well beyond just eliminating redundant records. The determinant of what constitutes a duplicate or potential duplicate may be based on a subset of variables or relevant differentiators. Once determined, the duplicates may require special processing or examination 4

5 rather than simple purging. This paper has presented a simple, general purpose method for identifying duplicate records based upon a selected set of variables. CONTACT INFORMATION Roger S. Cohen, Ph.D. Director of Operations Research and Analysis New York State Department of Taxation and Finance Harriman State Campus, Bldg 9, Room 928 Albany, NY Phone: (518) Fax: (518) roger_cohen@tax.state.ny.us Kenneth Gold Assistant Director of Operations Research and Analysis New York State Department of Taxation and Finance Harriman State Campus, Bldg 9, Room 928 Albany, NY Phone: (518) Fax: (518) Kenneth_gold@tax.state.ny.us 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 BACKGROUND EXAMPLES. Case 1 Non-filers

ABSTRACT BACKGROUND EXAMPLES. Case 1 Non-filers Constructing a System for Tracking Revenue Generated from Dissimilar Projects Roger S. Cohen, New York State Dept of Tax and Finance, Albany, New York Paul Bastian, New York State Dept of Tax and Finance,

More information

APPENDIX 2 Customizing SAS/ASSIST Software

APPENDIX 2 Customizing SAS/ASSIST Software 241 APPENDIX 2 Customizing SAS/ASSIST Software Introduction 241 Setting User Profile Options 241 Creating an Alternate Menu Bar 243 Introduction This appendix describes how you can customize your SAS/ASSIST

More information

Access/SAS application for verification and correction: corporate tax returns

Access/SAS application for verification and correction: corporate tax returns Access/SAS application for verification and correction: corporate tax returns Federation of Tax Administrators Revenue Estimating and Research Conference September 17, 2007 Steps in our decision SAS verification

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

Release Notes. Installing. Upgrading. Registration Keys

Release Notes. Installing. Upgrading. Registration Keys Release Notes The SmartList Builder upgrade follows the supported upgrade paths from 2010 and 2013 that are available for Microsoft Dynamics GP. You can find these on PartnerSource or CustomerSource in

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

Taming a Spreadsheet Importation Monster

Taming a Spreadsheet Importation Monster SESUG 2013 Paper BtB-10 Taming a Spreadsheet Importation Monster Nat Wooding, J. Sargeant Reynolds Community College ABSTRACT As many programmers have learned to their chagrin, it can be easy to read Excel

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

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

Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata. Louise S. Hadden. Abt Associates Inc.

Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata. Louise S. Hadden. Abt Associates Inc. Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata Louise S. Hadden Abt Associates Inc. Louise Hadden has been using and loving SAS since the days

More information

Programming Beyond the Basics. Find() the power of Hash - How, Why and When to use the SAS Hash Object John Blackwell

Programming Beyond the Basics. Find() the power of Hash - How, Why and When to use the SAS Hash Object John Blackwell Find() the power of Hash - How, Why and When to use the SAS Hash Object John Blackwell ABSTRACT The SAS hash object has come of age in SAS 9.2, giving the SAS programmer the ability to quickly do things

More information

Enterprise Client Software for the Windows Platform

Enterprise Client Software for the Windows Platform Paper 154 Enterprise Client Software for the Windows Platform Gail Kramer, SAS Institute Inc., Cary, NC Carol Rigsbee, SAS Institute Inc., Cary, NC John Toebes, SAS Institute Inc., Cary, NC Jeff Polzin,

More information

Locking SAS Data Objects

Locking SAS Data Objects 59 CHAPTER 5 Locking SAS Data Objects Introduction 59 Audience 60 About the SAS Data Hierarchy and Locking 60 The SAS Data Hierarchy 60 How SAS Data Objects Are Accessed and Used 61 Types of Locks 62 Locking

More information

Using the SQL Editor. Overview CHAPTER 11

Using the SQL Editor. Overview CHAPTER 11 205 CHAPTER 11 Using the SQL Editor Overview 205 Opening the SQL Editor Window 206 Entering SQL Statements Directly 206 Entering an SQL Query 206 Entering Non-SELECT SQL Code 207 Creating Template SQL

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

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

The SERVER Procedure. Introduction. Syntax CHAPTER 8

The SERVER Procedure. Introduction. Syntax CHAPTER 8 95 CHAPTER 8 The SERVER Procedure Introduction 95 Syntax 95 Syntax Descriptions 96 Examples 101 ALLOCATE SASFILE Command 101 Syntax 101 Introduction You invoke the SERVER procedure to start a SAS/SHARE

More information

The Problem With NODUPLICATES, Continued

The Problem With NODUPLICATES, Continued The Problem With NODUPLICATES, Continued Jack Hamilton First Health West Sacramento, California JackHamilton@FirstHealth.com moredupsov.doc Wednesday, Wed Apr 28 1999 12:37 PM Page 1 of 11 What Should

More information

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST

USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST USING SAS SOFTWARE TO COMPARE STRINGS OF VOLSERS IN A JCL JOB AND A TSO CLIST RANDALL M NICHOLS, Mississippi Dept of ITS, Jackson, MS ABSTRACT The TRANSLATE function of SAS can be used to strip out punctuation

More information

SAS Studio: A New Way to Program in SAS

SAS Studio: A New Way to Program in SAS SAS Studio: A New Way to Program in SAS Lora D Delwiche, Winters, CA Susan J Slaughter, Avocet Solutions, Davis, CA ABSTRACT SAS Studio is an important new interface for SAS, designed for both traditional

More information

Useful Tips When Deploying SAS Code in a Production Environment

Useful Tips When Deploying SAS Code in a Production Environment Paper SAS258-2014 Useful Tips When Deploying SAS Code in a Production Environment ABSTRACT Elena Shtern, SAS Institute Inc., Arlington, VA When deploying SAS code into a production environment, a programmer

More information

9 Ways to Join Two Datasets David Franklin, Independent Consultant, New Hampshire, USA

9 Ways to Join Two Datasets David Franklin, Independent Consultant, New Hampshire, USA 9 Ways to Join Two Datasets David Franklin, Independent Consultant, New Hampshire, USA ABSTRACT Joining or merging data is one of the fundamental actions carried out when manipulating data to bring it

More information

Building Flexible Jobs in DataFlux

Building Flexible Jobs in DataFlux Paper 1384-2015 Building Flexible Jobs in DataFlux Jeanne Estridge, Sinclair Community College ABSTRACT Creating DataFlux jobs that can be executed from job scheduling software can be challenging. This

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

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

Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute

Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute Paper 145-26 Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute ABSTRACT One of many things that SAS software enables you to do is to deliver

More information

Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute

Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute Delivering Information to the People Who Need to Know Carol Rigsbee, SAS Institute Chris Hemedinger, SAS Institute ABSTRACT One of many things that SAS software enables you to do is to deliver the information

More information

How Managers and Executives Can Leverage SAS Enterprise Guide

How Managers and Executives Can Leverage SAS Enterprise Guide Paper 8820-2016 How Managers and Executives Can Leverage SAS Enterprise Guide ABSTRACT Steven First and Jennifer First-Kluge, Systems Seminar Consultants, Inc. SAS Enterprise Guide is an extremely valuable

More information

Guide Users along Information Pathways and Surf through the Data

Guide Users along Information Pathways and Surf through the Data Guide Users along Information Pathways and Surf through the Data Stephen Overton, Overton Technologies, LLC, Raleigh, NC ABSTRACT Business information can be consumed many ways using the SAS Enterprise

More information

Not Just Merge - Complex Derivation Made Easy by Hash Object

Not Just Merge - Complex Derivation Made Easy by Hash Object ABSTRACT PharmaSUG 2015 - Paper BB18 Not Just Merge - Complex Derivation Made Easy by Hash Object Lu Zhang, PPD, Beijing, China Hash object is known as a data look-up technique widely used in data steps

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name 1) The table Design view shows 1) A) the relationships established for the table. B) the formatting applied to the table. C) the structure of the table. D) the number of records in the table.

More information

SAS System Powers Web Measurement Solution at U S WEST

SAS System Powers Web Measurement Solution at U S WEST SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process

More information

SAS File Management. Improving Performance CHAPTER 37

SAS File Management. Improving Performance CHAPTER 37 519 CHAPTER 37 SAS File Management Improving Performance 519 Moving SAS Files Between Operating Environments 520 Converting SAS Files 520 Repairing Damaged Files 520 Recovering SAS Data Files 521 Recovering

More information

10 The First Steps 4 Chapter 2

10 The First Steps 4 Chapter 2 9 CHAPTER 2 Examples The First Steps 10 Invoking the Query Window 11 Changing Your Profile 11 ing a Table 13 ing Columns 14 Alias Names and Labels 14 Column Format 16 Creating a WHERE Expression 17 Available

More information

Simply Access Tips. Issue February 12 th, Welcome to the fifth edition of Simply Access Tips for 2007.

Simply Access Tips. Issue February 12 th, Welcome to the fifth edition of Simply Access Tips for 2007. Hi [FirstName], Simply Access Tips Issue 5 2007 February 12 th, 2007 Welcome to the fifth edition of Simply Access Tips for 2007. I have added the housekeeping section to the bottom of the Newsletter so,

More information

INTRODUCTION TO PROC SQL JEFF SIMPSON SYSTEMS ENGINEER

INTRODUCTION TO PROC SQL JEFF SIMPSON SYSTEMS ENGINEER INTRODUCTION TO PROC SQL JEFF SIMPSON SYSTEMS ENGINEER THE SQL PROCEDURE The SQL procedure: enables the use of SQL in SAS is part of Base SAS software follows American National Standards Institute (ANSI)

More information

Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY

Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY Using Data Set Options in PROC SQL Kenneth W. Borowiak Howard M. Proskin & Associates, Inc., Rochester, NY ABSTRACT Data set options are an often over-looked feature when querying and manipulating SAS

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

Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb

Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb ABSTRACT Paper 2690-2018 Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb John Schmitz, Luminare Data LLC Database systems support text fields much longer than the 32kb limit

More information

Rapid Application Development

Rapid Application Development Rapid Application Development Chapter 6: Development Database Application Tools: Microsoft Access Cr: fisher.osu.edu Dr.Orawit Thinnukool College of Arts, Media and Technology, Chiang Mai University Contents

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

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses

More information

Using Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics

Using Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics SAS6660-2016 Using Metadata Queries To Build Row-Level Audit Reports in SAS Visual Analytics ABSTRACT Brandon Kirk and Jason Shoffner, SAS Institute Inc., Cary, NC Sensitive data requires elevated security

More information

Data Base Concepts. Course Guide 2

Data Base Concepts. Course Guide 2 MS Access Chapter 1 Data Base Concepts Course Guide 2 Data Base Concepts Data The term data is often used to distinguish binary machine-readable information from textual human-readable information. For

More information

Improving Your Relationship with SAS Enterprise Guide Jennifer Bjurstrom, SAS Institute Inc.

Improving Your Relationship with SAS Enterprise Guide Jennifer Bjurstrom, SAS Institute Inc. ABSTRACT Paper BI06-2013 Improving Your Relationship with SAS Enterprise Guide Jennifer Bjurstrom, SAS Institute Inc. SAS Enterprise Guide has proven to be a very beneficial tool for both novice and experienced

More information

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China Journey to the center of the earth Deep understanding of SAS language processing Di Chen, SAS Beijing R&D, Beijing, China ABSTRACT SAS is a highly flexible and extensible programming language, and a rich

More information

SAS Data Integration Studio 3.3. User s Guide

SAS Data Integration Studio 3.3. User s Guide SAS Data Integration Studio 3.3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS Data Integration Studio 3.3: User s Guide. Cary, NC: SAS Institute

More information

Stat Wk 3. Stat 342 Notes. Week 3, Page 1 / 71

Stat Wk 3. Stat 342 Notes. Week 3, Page 1 / 71 Stat 342 - Wk 3 What is SQL Proc SQL 'Select' command and 'from' clause 'group by' clause 'order by' clause 'where' clause 'create table' command 'inner join' (as time permits) Stat 342 Notes. Week 3,

More information

In This Issue. The Enhanced Editor in QMF 11.2: Highlights. 1st Quarter 2016 Edition

In This Issue. The Enhanced Editor in QMF 11.2: Highlights. 1st Quarter 2016 Edition 1st Quarter 2016 Edition In This Issue The Enhanced Editor in QMF 11.2 From the Developers: QMF for TSO/CICS access to DB2 LUW and access data using 3-part names The Enhanced Editor in QMF 11.2: Highlights

More information

Using Dynamic Data Exchange

Using Dynamic Data Exchange 145 CHAPTER 8 Using Dynamic Data Exchange Overview of Dynamic Data Exchange 145 DDE Syntax within SAS 145 Referencing the DDE External File 146 Determining the DDE Triplet 146 Controlling Another Application

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

In this paper, we will build the macro step-by-step, highlighting each function. A basic familiarity with SAS Macro language is assumed.

In this paper, we will build the macro step-by-step, highlighting each function. A basic familiarity with SAS Macro language is assumed. No More Split Ends: Outputting Multiple CSV Files and Keeping Related Records Together Gayle Springer, JHU Bloomberg School of Public Health, Baltimore, MD ABSTRACT The EXPORT Procedure allows us to output

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

Enterprise Guide. Delivering Information to the People Who Need to Know. Adrian Bruty Product Manager Business Intelligence SAS EMEA

Enterprise Guide. Delivering Information to the People Who Need to Know. Adrian Bruty Product Manager Business Intelligence SAS EMEA Enterprise Guide Delivering Information to the People Who Need to Know Adrian Bruty Product Manager Business Intelligence SAS EMEA Introduction Enterprise Guide Objectives Version 1.2 Demo 2 Challenges

More information

WHAT ARE SASHELP VIEWS?

WHAT ARE SASHELP VIEWS? Paper PN13 There and Back Again: Navigating between a SASHELP View and the Real World Anita Rocha, Center for Studies in Demography and Ecology University of Washington, Seattle, WA ABSTRACT A real strength

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

Introduction. Understanding SAS/ACCESS Descriptor Files. CHAPTER 3 Defining SAS/ACCESS Descriptor Files

Introduction. Understanding SAS/ACCESS Descriptor Files. CHAPTER 3 Defining SAS/ACCESS Descriptor Files 15 CHAPTER 3 Defining SAS/ACCESS Descriptor Files Introduction 15 Understanding SAS/ACCESS Descriptor Files 15 Creating SAS/ACCESS Descriptor Files 16 The ACCESS Procedure 16 Creating Access Descriptors

More information

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI Paper ###-YYYY SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI ABSTRACT Whether you are a novice or a pro with SAS, Enterprise Guide has something for

More information

Chapter 10 Databases

Chapter 10 Databases hapter 10 Databases Section 10.1 n Introduction to Databases 1. rectangular array of data is called a () field. (B) record. () table. (D) database management system. 2. Each row in a table is also called

More information

Lecture 8. Database Management and Queries

Lecture 8. Database Management and Queries Lecture 8 Database Management and Queries Lecture 8: Outline I. Database Components II. Database Structures A. Conceptual, Logical, and Physical Components III. Non-Relational Databases A. Flat File B.

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

Tasks Menu Reference. Introduction. Data Management APPENDIX 1

Tasks Menu Reference. Introduction. Data Management APPENDIX 1 229 APPENDIX 1 Tasks Menu Reference Introduction 229 Data Management 229 Report Writing 231 High Resolution Graphics 232 Low Resolution Graphics 233 Data Analysis 233 Planning Tools 235 EIS 236 Remote

More information

David Beam, Systems Seminar Consultants, Inc., Madison, WI

David Beam, Systems Seminar Consultants, Inc., Madison, WI Paper 150-26 INTRODUCTION TO PROC SQL David Beam, Systems Seminar Consultants, Inc., Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps

More information

How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U?

How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U? Paper 54-25 How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U? Andrew T. Kuligowski Nielsen Media Research Abstract / Introduction S-M-U. Some people will see these three letters and

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

DBLOAD Procedure Reference

DBLOAD Procedure Reference 131 CHAPTER 10 DBLOAD Procedure Reference Introduction 131 Naming Limits in the DBLOAD Procedure 131 Case Sensitivity in the DBLOAD Procedure 132 DBLOAD Procedure 132 133 PROC DBLOAD Statement Options

More information

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Ben Cochran, The Bedford Group, Raleigh, NC Abstract Often SAS users need to access data from non- SAS

More information

Creating and Executing Stored Compiled DATA Step Programs

Creating and Executing Stored Compiled DATA Step Programs 465 CHAPTER 30 Creating and Executing Stored Compiled DATA Step Programs Definition 465 Uses for Stored Compiled DATA Step Programs 465 Restrictions and Requirements 466 How SAS Processes Stored Compiled

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

Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE

Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE ABSTRACT Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE Steve Cavill, NSW Bureau of Crime Statistics and Research, Sydney, Australia PROC TABULATE is a great tool for generating

More information

Merging Data Eight Different Ways

Merging Data Eight Different Ways Paper 197-2009 Merging Data Eight Different Ways David Franklin, Independent Consultant, New Hampshire, USA ABSTRACT Merging data is a fundamental function carried out when manipulating data to bring it

More information

Seamless Dynamic Web (and Smart Device!) Reporting with SAS D.J. Penix, Pinnacle Solutions, Indianapolis, IN

Seamless Dynamic Web (and Smart Device!) Reporting with SAS D.J. Penix, Pinnacle Solutions, Indianapolis, IN Paper RIV05 Seamless Dynamic Web (and Smart Device!) Reporting with SAS D.J. Penix, Pinnacle Solutions, Indianapolis, IN ABSTRACT The SAS Business Intelligence platform provides a wide variety of reporting

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

Using Cross-Environment Data Access (CEDA)

Using Cross-Environment Data Access (CEDA) 93 CHAPTER 13 Using Cross-Environment Data Access (CEDA) Introduction 93 Benefits of CEDA 93 Considerations for Using CEDA 93 Alternatives to Using CEDA 94 Introduction The cross-environment data access

More information

d2vbaref.doc Page 1 of 22 05/11/02 14:21

d2vbaref.doc Page 1 of 22 05/11/02 14:21 Database Design 2 1. VBA or Macros?... 2 1.1 Advantages of VBA:... 2 1.2 When to use macros... 3 1.3 From here...... 3 2. A simple event procedure... 4 2.1 The code explained... 4 2.2 How does the error

More information

Tackling Unique Problems Using TWO SET Statements in ONE DATA Step. Ben Cochran, The Bedford Group, Raleigh, NC

Tackling Unique Problems Using TWO SET Statements in ONE DATA Step. Ben Cochran, The Bedford Group, Raleigh, NC MWSUG 2017 - Paper BB114 Tackling Unique Problems Using TWO SET Statements in ONE DATA Step Ben Cochran, The Bedford Group, Raleigh, NC ABSTRACT This paper illustrates solving many problems by creatively

More information

Are you Still Afraid of Using Arrays? Let s Explore their Advantages

Are you Still Afraid of Using Arrays? Let s Explore their Advantages Paper CT07 Are you Still Afraid of Using Arrays? Let s Explore their Advantages Vladyslav Khudov, Experis Clinical, Kharkiv, Ukraine ABSTRACT At first glance, arrays in SAS seem to be a complicated and

More information

Patricia Guldin, Merck & Co., Inc., Kenilworth, NJ USA

Patricia Guldin, Merck & Co., Inc., Kenilworth, NJ USA SESUG 2015 Paper AD-35 Programming Compliance Made Easy with a Time Saving Toolbox Patricia Guldin, Merck & Co., Inc., Kenilworth, NJ USA ABSTRACT Programmers perform validation in accordance with established

More information

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency. Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare

More information

Chapter 28 Saving and Printing Tables. Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS OUTPUT OBJECTS...

Chapter 28 Saving and Printing Tables. Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS OUTPUT OBJECTS... Chapter 28 Saving and Printing Tables Chapter Table of Contents SAVING AND PRINTING TABLES AS OUTPUT OBJECTS...418 OUTPUT OBJECTS...422 415 Part 2. Introduction 416 Chapter 28 Saving and Printing Tables

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

An Introduction to Analysis (and Repository) Databases (ARDs)

An Introduction to Analysis (and Repository) Databases (ARDs) An Introduction to Analysis (and Repository) TM Databases (ARDs) Russell W. Helms, Ph.D. Rho, Inc. Chapel Hill, NC RHelms@RhoWorld.com www.rhoworld.com Presented to DIA-CDM: Philadelphia, PA, 1 April 2003

More information

Text Generational Data Sets (Text GDS)

Text Generational Data Sets (Text GDS) Paper 274-2017 Text Generational Data Sets (Text GDS) Dr. Kannan Deivasigamani HSBC ABSTRACT This paper offers a way to fill the void that SAS currently has with respect to the missing feature in the language,

More information

A SAS/AF Application for Parallel Extraction, Transformation, and Scoring of a Very Large Database

A SAS/AF Application for Parallel Extraction, Transformation, and Scoring of a Very Large Database Paper 11 A SAS/AF Application for Parallel Extraction, Transformation, and Scoring of a Very Large Database Daniel W. Kohn, Ph.D., Torrent Systems Inc., Cambridge, MA David L. Kuhn, Ph.D., Innovative Idea

More information

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA ABSTRACT The SAS system running in the Microsoft Windows environment contains a multitude of tools

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

Six Cool Things You Can Do In Display Manager Jenine Milum, Charlotte, NC Wachovia Bank

Six Cool Things You Can Do In Display Manager Jenine Milum, Charlotte, NC Wachovia Bank Paper CC-029 Six Cool Things You Can Do In Display Manager Jenine Milum, Charlotte, NC Wachovia Bank ABSTRACT Many people use Display Manager but don t realize how much work it can actually do for you.

More information

Call: SAS BI Course Content:35-40hours

Call: SAS BI Course Content:35-40hours SAS BI Course Content:35-40hours Course Outline SAS Data Integration Studio 4.2 Introduction * to SAS DIS Studio Features of SAS DIS Studio Tasks performed by SAS DIS Studio Navigation to SAS DIS Studio

More information

Interview Questions on DBMS and SQL [Compiled by M V Kamal, Associate Professor, CSE Dept]

Interview Questions on DBMS and SQL [Compiled by M V Kamal, Associate Professor, CSE Dept] Interview Questions on DBMS and SQL [Compiled by M V Kamal, Associate Professor, CSE Dept] 1. What is DBMS? A Database Management System (DBMS) is a program that controls creation, maintenance and use

More information

Exploring DATA Step Merge and PROC SQL Join Techniques Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California

Exploring DATA Step Merge and PROC SQL Join Techniques Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Exploring DATA Step Merge and PROC SQL Join Techniques Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Abstract Explore the various DATA step merge and PROC SQL join processes.

More information

Going Paperless: Operational & Billing Efficiencies

Going Paperless: Operational & Billing Efficiencies Going Paperless: Operational & Billing Efficiencies Updated July 2016 Contents Introduction to Going Paperless...3 Faxing Using Your DDMS System...3 Using Order Entry History...3 Using Accounts Receivable

More information

Big Data Executive Program

Big Data Executive Program Big Data Executive Program Big Data Executive Program Business Visualization for Big Data (BV) SAS Visual Analytics help people see things that were not obvious to them before. Even when data volumes are

More information

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer Segregating Data Within Databases for Performance Prepared by Bill Hulsizer When designing databases, segregating data within tables is usually important and sometimes very important. The higher the volume

More information

SAP Automation (BC-FES-AIT)

SAP Automation (BC-FES-AIT) HELP.BCFESRFC Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

Techdata Solution. SAS Analytics (Clinical/Finance/Banking)

Techdata Solution. SAS Analytics (Clinical/Finance/Banking) +91-9702066624 Techdata Solution Training - Staffing - Consulting Mumbai & Pune SAS Analytics (Clinical/Finance/Banking) What is SAS SAS (pronounced "sass", originally Statistical Analysis System) is an

More information

Please Don't Lag Behind LAG!

Please Don't Lag Behind LAG! Please Don't Lag Behind LAG! Anjan Matlapudi and J. Daniel Knapp Pharmacy Informatics and Finance PerformRx, The Next Generation PBM 200 Stevens Drive, Philadelphia, PA 19113 ABSTRACT A programmer may

More information

Choice of Development Tool for the User Interface of a Client-Server Application in a SAS Environment

Choice of Development Tool for the User Interface of a Client-Server Application in a SAS Environment Choice of Development Tool for the User Interface of a Client-Server Application in a SAS Environment Barry R. Cohen, Planning Data Systems, Inc., Ardmore, PA ABSTRACT Application developers in SAS environments

More information

Understanding Crime Pattern in United States by Time Series Analysis using SAS Tools

Understanding Crime Pattern in United States by Time Series Analysis using SAS Tools SESUG Paper 264-2018 Understanding Crime Pattern in United States by Time Series Analysis using SAS Tools Soumya Ranjan Kar Choudhury, Oklahoma State University, Stillwater, OK; Agastya Komarraju, Sam

More information

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada ABSTRACT Performance improvements are the well-publicized enhancement to SAS 9, but what else has changed

More information