An Automation Procedure for Oracle Data Extraction and Insertion
|
|
- Benjamin McCoy
- 6 years ago
- Views:
Transcription
1 An Automation Procedure for Oracle Data Extraction and Insertion Shiqun S. Li, Smith Hanley, East Hanover, NJ David H. Wilcox, NYS Department of Health, Albany, NY ABSTRACT SAS software provides strong capability of extracting data from foreign databases such as Oracle tables. However, it would be very time-consuming if the database is very large. Even worse if the foreign databases cannot be accessed from the SAS programmers office, it would require them to make a trip to the client s site. In this paper, a real world application of downloading and uploading between SAS datasets and Oracle tables in a semi-automatic way will be presented. With such implementation, data retrieval becomes an easy routine task. Even for those with a very limited SAS knowledge, they can accomplish the data retrieval procedure. In this scheme, first, SAS Macro %Window was utilized to create an interface and collect the date range to extract the data; secondly, SAS/CONNECT and SAS/ACCESS were used to perform the extraction process; Thirdly, a registry dataset is generated and appended into the appropriate Oracle table as required by HIPAA law; Finally, a SAS macro will automatically the SAS log file and the extraction summary table to the Oracle DBA and SAS programmers for review. This paper is prepared for an intermediate and advanced audience. Key Words: SAS %Window, SAS/ACCESS, SAS/CONNECT, SAS Access, ORACLE Tables, Data Retrieval, MDS2.0 Data INTRODUCTION MDS2.0 (Minimum Data Set version 2.0) is a CMS (Center of Medicare and Medicaid Services) Oracle database. It collects assessments on a regular basis for every resident in a Medicare or Medicaid certified nursing home. The whole database has more than 40 tables with more than 800 variables. MDS assessments have become an important source for evaluating the quality of care and for reimbursing the cost of nursing home services. Over the past few years, extracting MDS data from MDS Oracle database to SAS data sets is one of the routine jobs for our projects. Due to the different location of the database, the restriction of remote access and the time-consuming extraction, we developed a semi-automatic approach so that the data retrieval procedure can be implemented with limited SAS programmers interference. In this paper, we will present our application in the following sequences: a) collect the parameters for data exporting; b) extract the data and convert them into SAS data sets; c) generate data summary tables; d) upload a summary table from SAS back to Oracle; e) automatically the SAS log and a summary table to Oracle DBA and SAS programmers for review and for archive. 1
2 PARAMETER COLLECTION Before the download procedure, some basic input information should be gathered. In our case, these items are: the data download time period (start date and end date), Oracle database user ID and the password (of course, you need password to access a security database). For simplicity, we use SAS macro %Window [1, 2] to create a user-friendly interface. The macro variables are then collected through this window. This input screen will look like this: The SAS codes that generate this window are: /*** Create Data Input Screen and collect the inputs ***/ %Window DatInput color=white rows =35 columns=80 'Welcome to MDS Extraction System' attr=highlight color=black "-- &sysday, &sysdate. --" color=black "Before start the procedure, please input the required parameters below." color=black 'Enter your ID: ' color=black _UserName_ 20 DISPLAY=YES REQUIRED=YES ATTR=UNDERLINE color=cyan 'Enter your password: ' color=black _Pswd_ 20 DISPLAY=No REQUIRED=YES ATTR=UNDERLINE color=cyan 2
3 'Enter START DATE of the download period: (MM/DD/YYYY) ' color=black _STARTDATE_ 12 Display=YES REQUIRED=YES ATTR=UNDERLINE color=cyan 'Enter END DATE of the download period: (MM/DD/YYYY) ' color=black _ENDDATE_ 12 Display=YES REQUIRED=YES ATTR=UNDERLINE color=cyan 'Press Enter to continue.' color=black "To exit the system, type " color=black "'exit'" ATTR=UNDERLINE color=black " at COMMAND line" color=black "You are using SAS v&sysver. " color=black ; %Display DatInput; In order to make sure the data entered is as desired, we provide a confirmation screen to give users a chance to review their entries. If there is a need for some modifications, it will allow the users to go back to the input screen for changes. After the entries are confirmed, the program will call the downloading macros and start the extraction process. The confirmation interface was designed as follow: 3
4 The corresponding SAS codes for this screen are listed below: *** Display the information collected and to make sure the information is accurate; %let _confirm_=; %window Confirm color=white rows =35 columns=80 'Welcome to MDS Extraction System' attr=highlight color=black "-- &sysday, &sysdate. --" color=black "Please confirm the information you entered are correct." color=black "Your ID: " color=black "&_UserName_" ATTR=UNDERLINE color=blue 'Your password: ' color=black '(Not displayed)' ATTR=UNDERLINE color=blue 'START DATE of the download period (MM/DD/YYYY): ' color=black "&_STARTDATE_." ATTR=UNDERLINE color=blue 'END DATE of the download period (MM/DD/YYYY): ' color=black "&_ENDDATE_." ATTR=UNDERLINE color=blue 'Is the information above correct and ready to download the data?' color=black '1 -- ' color=blue +1 'Yes' attr=underline color=blue +2 '(Will start extracting right after this screen)' color=blue '0 -- ' color=black +2 'No' attr=underline color=black +2 '(Will go back to the previous screen for changing the inputs)' color=black 'Q -- ' color=red 'Quit' attr=underline color=red +2 '(Will quit the extraction system)' color=red "Please select the appropriate choice:" color=black +2 _Confirm_ 2 attr=underline color=blue 'Press Enter to continue.' color=black ; %Display Confirm; This is a simplified set of parameter collection screens. In reality, we collect several more parameters like account ID and account password etc. SAS macro %Window does provide an easy technique for inputting the necessary variables. However, SAS SCL can create better looking and more advanced interfaces. But it is out of the scope of our topic, it will not addressed here. DATA EXTRACTION Before downloading the data, we need to create locations for storing the extracted data and the summary tables. SAS statements below will make the sub-directories for our needs: Options noxwait; X mkdir E:\MDS\MySubDir\&sysdate. ; 4
5 With all the parameters collected and the data storage directories created, we may now start to import the data. There are several methods to access Oracle tables. The way with the simplest syntax is to utilize Oracle LIBNAME engine [3]. In order to be able to use the following method, SAS/ACCESS [4, 5] must be licensed at your site. The LIBNAME statement can be specified as follows: LIBNAME MyDb ORACLE User=&_UserName_. ORAPW=&_Pswd_. PATH=MyOraPath SCHEMA=MyOraSchema; Where MyOraPath is the name of the ORACLE database; MyOraSchema is the name of the ORACLE schema. After this LIBNAME linkage is set up, the dataset names and variable names of all Oracle tables associated with the specified path and schema can be listed by: Proc contents data=mydb._all_; Run; As a matter of fact, all Oracle tables under this LIBNAME can be read by SAS now, and therefore can be copied into SAS system. In our real situation, we use the following SAS/SQL sample code to extract the MDS Oracle tables: Proc SQL; Connect to Oracle as sasquery (user=&_username_. Orapw=&_Pswd_. ); Create table &Dir.&TableName. As Select * from Connection to sasquery (Select * from &TableName. &WithCondition.); Disconnect from sasquery; Quit; Since there are 40 tables to be downloaded and most tables are rather large, this part is the most time-consuming. It would take 3 to 4 hours to retrieve the tables of our interest. MANIPULATING EXTRACTED SAS DATASETS A SAS data set converted from an Oracle table usually requires some minor changes. For instance, a date variable from Oracle is typically of DATETIME20. format. We should standardize it as DATE9. format using SAS DATEPART function. The numerical variables with single digit values, such as gender variable, are re-defined to be length=3. Finally, as required by our project, we merge some specific SAS datasets together. All those steps are standard SAS data manipulation. Anyone who is interested in our approach can us for the detailed SAS macros. 5
6 SUMMARIZING THE EXTRACTION DATASETS It is always a good practice to generate a summary report after each extraction. This will benefit everyone when there is a need for HIPAA auditing or data download questions. There are two summary files we generate. The first one is to summarize the tables we download, with the table names, number of records and variables of each table. A small macro below, alone with CALL EXECUTE, will do this job: %macro ObsVar(dsn=); %let dsid = %sysfunc(open(&dsn)); %if &dsid %then %do; %let nobs =%sysfunc(attrn(&dsid,nobs)); %let nvars=%sysfunc(attrn(&dsid,nvars)); %let rc = %sysfunc(close(&dsid)); dsn="&dsn."; NOBS=&Nobs. ; NVARs=&NVars.; output; %end; %else %do; *** If the dataset does not exist; %put Open for data set &dsn. failed - %sysfunc(sysmsg()); dsn="&dsn."; NOBS=.; NVARS=.; output; %end; %mend ObsVar; The second summary file we produce is required by HIPAA regulation (Health Insurance Portability and Accountability Act). It is mandatory to register a log record to a CMS HIPAA database whenever a nursing home resident record is extracted. This data set should include the basic resident information like resident ID, SSN, assessment date, extraction date and project DUA (Data Use Agreement number). Based on the information we imported, it is fairly easy to generate this HIPAA log file. UPLOADING HIPAA REGISTER After the HIPPA log file is generated, it is necessary to upload this SAS data set back to HIPAA registers in CMS Oracle database. The SAS code below is used to insert the HIPAA log file into the designated Oracle table: LIBNAME pad Oracle User=&user Orapw=&orapw Path=&path schema=&schema2; PROC SQL; Insert into pad.pad_dtl( State_ID, Res_Int_ID, SYS_IND, SYS_DT, EXTR_DT, DUA_NBR, ASMT_SUBM_DT, ASMT_REF_DT, LNAME, FNAME, GENDER, DOB, SSN) Select State_ID, Res_Int_ID, SYS_IND, SYS_DT, EXTR_DT, DUA_NBR, ASMT_SUBM_DT, ASMT_REF_DT, LNAME, FNAME, GENDER, DOB, SSN From MDS_SUMM.HIPAA_Log_&YMD. (firstobs=&_from. obs=&_to. ) ; quit; 6
7 ING SAS LOG FILE The design of our data extraction process is for people with little SAS experience. Therefore, after downloading, uploading and summarizing the data, it is important to thoroughly scrutinize the SAS log file by an experienced SAS programmer. It is also necessary to carefully review the summary file of the data sets we have extracted. To accomplish these purposes, we use SAS Access method [6, 7] to automatically send the SAS log file and the extraction summary file to a specified SAS programmer and a MDS database coordinator. The programmer can then review the SAS log from any location. SAS macro as shown below can achieve this task: filename To ATTACH=( "E:\MDS\MDS_Extraction_&YYMMDD..log", "E:\MDS\MDS_Summary_&YYMMDD..txt") SYS=VIM ID="Stan Li/PH/NovXXX" PW="&My PassWord." ; data _null_; file To ; put '!EM_TO!' "shiqun@gmail.com" ; put '!EM_CC! DBA_eFacility@eFacility.com'; put '!EM_SUBJECT! MDS Data Extraction Reports for your Review/Record' ; put 'Hi,'/; put 'Attached are the reports from MDS Data Extraction System.'; put Please take a moment to review those reports attached. ; put 'Feel free to call me if there is any question. Thank you.'; put //; put 'Best Regards,'; put /; put &_UserName_. ; put '!EM_SEND!'; *** send it now; put '!EM_NEWMSG!'; put '!EM_ABORT!'; *** to avoid from send it once more; run; Here we assume the SAS log file is saved to a file using PROC PRINTTO. It should be noted that this example is based on Lotus Notes system on Window XP platform. For different systems, some parameters may be different. For instance, in Microsoft Outlook, you should define: SYS=MAPI ID="sli@efacility.com" PW=" PassWord". CONCLUSION Our data extraction application is easy to use. There is not need to do any alteration on the SAS codes when executing the download procedure. The necessary input parameters are collected from interface screens. Throughout the entire procedure, SAS knowledge is not required for users to implement it. This is cost-effective and may avoid some travels for SAS programmers when the database is located off-site, such as our case. Our codes are designed for extracting nursing home MDS2.0 data. But the scheme can be easily modified to fit your specific business need. 7
8 REFERENCES 1. Kay Alden, SAS Best Kept Secret: Macro Windows for Applications Development. SUGI 25, 2. Linda C. Gau, Using SAS Software Window to Dynamically Manage Your Routine Programs. SUGI 24, 3. David D. Chapman, Using the ORACLE LIBNAME Engine to Reduce the Time It Takes to Extract Data From an ORACLE Database. NESUG 2006, 4. SAS/ACCESS: Interface to Relational Databases. SAS Reference, 5. Frederick Pratter, Database Access Using the SAS System. SUGI 26, 6. Wenjie Wang and Simon Lin, Using SAS to Send Bulk s With Attachments. ParmaSug 2007, 7. David H. Johnson, E mail from your SAS Session: How and Why. SUGI 31, CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the authors at: Shiqun (Stan) Li Smith Hanley, East Hanover, NJ (908) shiqun@gmail.com David H. Wilcox NYS Department of Health, Albany, NY (518) dhw01@health.state.ny.us SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 8
Extending the Scope of Custom Transformations
Paper 3306-2015 Extending the Scope of Custom Transformations Emre G. SARICICEK, The University of North Carolina at Chapel Hill. ABSTRACT Building and maintaining a data warehouse can require complex
More informationBenchmark Macro %COMPARE Sreekanth Reddy Middela, MaxisIT Inc., Edison, NJ Venkata Sekhar Bhamidipati, Merck & Co., Inc.
Benchmark Macro %COMPARE Sreekanth Reddy Middela, MaxisIT Inc., Edison, NJ Venkata Sekhar Bhamidipati, Merck & Co., Inc., North Wales, PA ABSTRACT The main functionality of benchmark macro %Compare is
More informationDifferent 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 informationCC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ
CC13 An Automatic Process to Compare Files Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ ABSTRACT Comparing different versions of output files is often performed
More informationWhile You Were Sleeping, SAS Was Hard At Work Andrea Wainwright-Zimmerman, Capital One Financial, Inc., Richmond, VA
Paper BB-02 While You Were Sleeping, SAS Was Hard At Work Andrea Wainwright-Zimmerman, Capital One Financial, Inc., Richmond, VA ABSTRACT Automating and scheduling SAS code to run over night has many advantages,
More informationPharmaSUG Paper TT11
PharmaSUG 2014 - Paper TT11 What is the Definition of Global On-Demand Reporting within the Pharmaceutical Industry? Eric Kammer, Novartis Pharmaceuticals Corporation, East Hanover, NJ ABSTRACT It is not
More informationGet into the Groove with %SYSFUNC: Generalizing SAS Macros with Conditionally Executed Code
Get into the Groove with %SYSFUNC: Generalizing SAS Macros with Conditionally Executed Code Kathy Hardis Fraeman, United BioSource Corporation, Bethesda, MD ABSTRACT %SYSFUNC was originally developed in
More informationUsing Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse
Paper DM-01 Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Abstract Ben Cochran, The Bedford Group, Raleigh, NC Often SAS users need to access
More informationA SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY
PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study
More informationSAS/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 informationUseful 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 informationProgram Validation: Logging the Log
Program Validation: Logging the Log Adel Fahmy, Symbiance Inc., Princeton, NJ ABSTRACT Program Validation includes checking both program Log and Logic. The program Log should be clear of any system Error/Warning
More informationKeh-Dong Shiang, Department of Biostatistics & Department of Diabetes, City of Hope National Medical Center, Duarte, CA
Validating Data Via PROC SQL Keh-Dong Shiang, Department of Biostatistics & Department of Diabetes, City of Hope National Medical Center, Duarte, CA ABSTRACT The Structured Query Language (SQL) is a standardized
More informationBetter Metadata Through SAS II: %SYSFUNC, PROC DATASETS, and Dictionary Tables
Paper 3458-2015 Better Metadata Through SAS II: %SYSFUNC, PROC DATASETS, and Dictionary Tables ABSTRACT Louise Hadden, Abt Associates Inc., Cambridge, MA SAS provides a wealth of resources for users to
More informationIntroducing the SAS ODBC Driver
1 CHAPTER 1 Introducing the SAS ODBC Driver Overview: The SAS ODBC Driver 1 What Is ODBC? 2 What Is the SAS ODBC Driver? 2 Types of Data Accessed with the SAS ODBC Driver 3 Understanding SAS 5 SAS Data
More informationSAS ODBC Driver. Overview: SAS ODBC Driver. What Is ODBC? CHAPTER 1
1 CHAPTER 1 SAS ODBC Driver Overview: SAS ODBC Driver 1 What Is ODBC? 1 What Is the SAS ODBC Driver? 2 Types of Data Accessed with the SAS ODBC Driver 3 Understanding SAS 4 SAS Data Sets 4 Unicode UTF-8
More informationA Table Driven ODS Macro Diane E. Brown, exponential Systems, Indianapolis, IN
A Table Driven ODS Macro Diane E. Brown, exponential Systems, Indianapolis, IN ABSTRACT Tired of coding ODS statements and SAS output procedures for every report you write and having redundant or similar
More informationImproving 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 informationDBLOAD 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 informationThe Output Bundle: A Solution for a Fully Documented Program Run
Paper AD05 The Output Bundle: A Solution for a Fully Documented Program Run Carl Herremans, MSD (Europe), Inc., Brussels, Belgium ABSTRACT Within a biostatistics department, it is required that each statistical
More informationDocument 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 informationZIPpy Safe Harbor De-Identification Macros
ZIPpy Safe Harbor De-Identification Macros 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
More informationGive m Their Way They ll Love it! Sarita Prasad Bedge, Family Care Inc., Portland, Oregon
Give m Their Way They ll Love it! Sarita Prasad Bedge, Family Care Inc., Portland, Oregon ABSTRACT As many of us know, many users prefer their SAS data in MS Excel spreadsheet. And many of us also may
More informationSAS 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 informationQuick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee
ABSTRACT PharmaSUG2012 Paper CC14 Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee Prior to undertaking analysis of clinical trial data, in addition
More informationWhy SAS Programmers Should Learn Python Too
PharmaSUG 2018 - Paper AD-12 ABSTRACT Why SAS Programmers Should Learn Python Too Michael Stackhouse, Covance, Inc. Day to day work can often require simple, yet repetitive tasks. All companies have tedious
More informationCopy That! Using SAS to Create Directories and Duplicate Files
Copy That! Using SAS to Create Directories and Duplicate Files, SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and
More informationCHAPTER 7 Examples of Combining Compute Services and Data Transfer Services
55 CHAPTER 7 Examples of Combining Compute Services and Data Transfer Services Introduction 55 Example 1. Compute Services and Data Transfer Services Combined: Local and Remote Processing 56 Purpose 56
More informationFiles Arriving at an Inconvenient Time? Let SAS Process Your Files with FILEEXIST While You Sleep
Files Arriving at an Inconvenient Time? Let SAS Process Your Files with FILEEXIST While You Sleep Educational Testing Service SAS and all other SAS Institute Inc. product or service names are registered
More informationSAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD
Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing
More informationUsing 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 informationThe DATA Statement: Efficiency Techniques
The DATA Statement: Efficiency Techniques S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT One of those SAS statements that everyone learns in the first day of class, the DATA statement rarely gets
More informationThe Power of PROC SQL Techniques and SAS Dictionary Tables in Handling Data
Paper PO31 The Power of PROC SQL Techniques and SAS Dictionary Tables in Handling Data MaryAnne DePesquo Hope, Health Services Advisory Group, Phoenix, Arizona Fen Fen Li, Health Services Advisory Group,
More informationPresentation Goals. Now that You Have Version 8, What Do You Do? Top 8 List: Reason #8 Generation Data Sets. Top 8 List
Presentation Goals Now that You Have Version 8, What Do You Do? Michael L. Davis Bassett Consulting Services, Inc. September 13, 2000 highlight incentives to switch consider migration strategies identify
More informationBIOMETRICS INFORMATION
BIOMETRICS INFORMATION (You re 95% likely to need this information) PAMPHLET NO. # 24 DATE: February 9, 1990 SUBJECT: Reading WATFILE files into SAS WATFILE is a useful package for data entry because it
More informationData movement issues: Explicit SQL Pass-Through can do the trick
SESUG Paper DM-57-2017 Data movement issues: Explicit SQL Pass-Through can do the trick Kiran Venna, Dataspace Inc. ABSTRACT Data movement between Teradata and SAS will have huge impact on run time of
More informationGoing Under the Hood: How Does the Macro Processor Really Work?
Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts
More informationBest ETL Design Practices. Helpful coding insights in SAS DI studio. Techniques and implementation using the Key transformations in SAS DI studio.
SESUG Paper SD-185-2017 Guide to ETL Best Practices in SAS Data Integration Studio Sai S Potluri, Synectics for Management Decisions; Ananth Numburi, Synectics for Management Decisions; ABSTRACT This Paper
More informationDictionary.coumns is your friend while appending or moving data
ABSTRACT SESUG Paper CC-41-2017 Dictionary.coumns is your friend while appending or moving data Kiran Venna, Dataspace Inc. Dictionary.columns is a dictionary table, which gives metadata information of
More informationUsing GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China
PharmaSUG China 2015 - Paper PO71 Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China One of the reasons that SAS is widely used as the
More informationTechnical Paper. Defining a Teradata Library with the TERADATA Engine in SAS Management Console
Technical Paper Defining a Teradata Library with the TERADATA Engine in SAS Management Console Release Information Content Version: 1.1 August 2017 (This paper replaces TS-808 released in 2011.) Trademarks
More informationData Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL
Paper TS05-2011 Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Abstract SQL was developed to pull together information from several different data tables - use this to your advantage as you
More informationExporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ
Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports
More informationABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS
Efficient SAS Quality Checks: Unique Error Identification And Enhanced Data Management Analysis Jim Grudzinski, Biostatistics Manager Of SAS Programming Covance Periapproval Services Inc, Radnor, PA ABSTRACT
More informationCV2ODBC Procedure. Overview. CV2ODBC Procedure Syntax APPENDIX 4
263 APPENDIX 4 CV2ODBC Procedure Overview 263 CV2ODBC Procedure Syntax 263 PROC CV2ODBC 264 FROM VIEW Statement 264 TO VIEW Statement 264 DSN Statement 265 UID Statement 265 PASSWORD Statement 265 SAVE
More informationChoosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang, Community Care Behavioral Health Organization, Pittsburgh, PA
Choosing the Right Technique to Merge Large Data Sets Efficiently Qingfeng Liang, Community Care Behavioral Health Organization, Pittsburgh, PA ABSTRACT This paper outlines different SAS merging techniques
More informationABSTRACT. Paper CC-031
Paper CC-031 Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code Ronald J. Fehd, Centers for Disease Control and Prevention, Atlanta, GA, USA ABSTRACT Audience Keywords Information
More informationWhat to Expect When You Need to Make a Data Delivery... Helpful Tips and Techniques
What to Expect When You Need to Make a Data Delivery... Helpful Tips and Techniques Louise Hadden, Abt Associates Inc. QUESTIONS YOU SHOULD ASK REGARDING THE PROJECT Is there any information regarding
More informationUSING SAS HASH OBJECTS TO CUT DOWN PROCESSING TIME Girish Narayandas, Optum, Eden Prairie, MN
Paper RF-12-2014 USING SAS HASH OBJECTS TO CUT DOWN PROCESSING TIME Girish Narayandas, Optum, Eden Prairie, MN ABSTRACT Hash tables are in existence since SAS 9 version and are part of data step programming.
More informationSAS/ACCESS Interface to R/3
9.1 SAS/ACCESS Interface to R/3 User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS/ACCESS 9.1 Interface to R/3: User s Guide. Cary, NC: SAS Institute
More informationMacros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility
Macros from Beginning to Mend A Simple and Practical Approach to the SAS Macro Facility Michael G. Sadof, MGS Associates, Inc., Bethesda, MD. ABSTRACT The macro facility is an important feature of the
More informationPaper SE04 Dynamic SAS Programming Techniques, or How NOT to Create Job Security Steven Beakley and Suzanne McCoy
Introduction Paper SE04 Dynamic SAS Programming Techniques, or How NOT to Create Job Security Steven Beakley and Suzanne McCoy Many SAS programmers, particularly consultants, joke about creating job security
More informationReading in Data Directly from Microsoft Word Questionnaire Forms
Paper 1401-2014 Reading in Data Directly from Microsoft Word Questionnaire Forms Sijian Zhang, VA Pittsburgh Healthcare System ABSTRACT If someone comes to you with hundreds of questionnaire forms in Microsoft
More informationSAS Drug Development Program Portability
PharmaSUG2011 Paper SAS-AD03 SAS Drug Development Program Portability Ben Bocchicchio, SAS Institute, Cary NC, US Nancy Cole, SAS Institute, Cary NC, US ABSTRACT A Roadmap showing how SAS code developed
More informationFLORIDA INSTITUTE FOR LONG TERM CARE National Provider Identifiers Registry
1851450514 FLORIDA INSTITUTE FOR LONG TERM CARE National Provider Identifiers Registry The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA)
More informationABSTRACT INTRODUCTION MACRO. Paper RF
Paper RF-08-2014 Burst Reporting With the Help of PROC SQL Dan Sturgeon, Priority Health, Grand Rapids, Michigan Erica Goodrich, Priority Health, Grand Rapids, Michigan ABSTRACT Many SAS programmers need
More informationCHAPTER 7 Using Other SAS Software Products
77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80
More informationTaming 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 informationBI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI
Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto
More information1 Files to download. 3 Macro to list the highest and lowest N data values. 2 Reading in the example data file
1 2 22S:172 Lab session 10 Macros for data cleaning July 17, 2003 GENDER VISIT HR SBP DBP DX AE = "Gender" = "Visit Date" = "Heart Rate" = "Systolic Blood Pressure" = "Diastolic Blood Pressure" = "Diagnosis
More informationSo Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines
Paper TT13 So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Anthony Harris, PPD, Wilmington, NC Robby Diseker, PPD, Wilmington, NC ABSTRACT
More informationReading a Column into a Row to Count N-levels, Calculate Cardinality Ratio and Create Frequency and Summary Output In One Step
Paper RF-04-2015 Reading a Column into a Row to Count N-levels, Calculate Cardinality Ratio and Create Frequency and Summary Output In One Step Ronald J. Fehd, Stakana Analytics Abstract Description :
More informationNext Presentation: Presenter: Arthur Tabachneck
Next Presentation: Presenter: Arthur Tabachneck Art holds a PhD from Michigan State University, has been a SAS user since 1974, is president of the Toronto Area SAS Society and has received such recognitions
More informationA 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 informationText 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 informationSAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD
ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism
More informationJUST PASSING THROUGH OR ARE YOU? DETERMINE WHEN SQL PASS THROUGH OCCURS TO OPTIMIZE YOUR QUERIES Misty Johnson Wisconsin Department of Health
JUST PASSING THROUGH OR ARE YOU? DETERMINE WHEN SQL PASS THROUGH OCCURS TO OPTIMIZE YOUR QUERIES Misty Johnson Wisconsin Department of Health Services, Madison, WI Outline SAS/ACCESS SQL Pass Through Facility
More informationHow to Create Data-Driven Lists
Paper 9540-2016 How to Create Data-Driven Lists Kate Burnett-Isaacs, Statistics Canada ABSTRACT As SAS programmers we often want our code or program logic to be driven by the data at hand, rather than
More informationA Poor/Rich SAS User s Proc Export
Paper 1793-2014 A Poor/Rich SAS User s Proc Export Arthur S. Tabachneck, Ph.D., myqna, Inc., Thornhill, Ontario Canada Tom Abernathy, Pfizer, Inc., New York, NY Matthew Kastin, I-Behavior, Inc., Penn Valley,
More informationKEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT
MWSUG 2017 - Paper BB15 Building Intelligent Macros: Driving a Variable Parameter System with Metadata Arthur L. Carpenter, California Occidental Consultants, Anchorage, Alaska ABSTRACT When faced with
More informationBe Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON
Paper AP05 Be Your Own Task Master - Adding Custom Tasks to EG Peter Eberhardt, Fernwood Consulting Group Inc. Toronto, ON ABSTRACT In Enterprise Guide, SAS provides a ton of tasks to tickle travels into
More informationGetting Started With Oracle
Getting Started With Oracle Ashikur Rahman CSE, BUET July 14, 2016 1 Logging In to Oracle You should be logged onto one of the Windows 7 machine in the database lab. Open the command promt first by typping
More informationTen 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 informationPROC SQL vs. DATA Step Processing. T Winand, Customer Success Technical Team
PROC SQL vs. DATA Step Processing T Winand, Customer Success Technical Team Copyright 2012, SAS Institute Inc. All rights reserved. Agenda PROC SQL VS. DATA STEP PROCESSING Comparison of DATA Step and
More informationCHRISTINE M KURZWEG National Provider Identifiers Registry
1790884799 CHRISTINE M KURZWEG National Provider Identifiers Registry The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA) mandated the
More information%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System
%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find
More informationTLF Management Tools: SAS programs to help in managing large number of TLFs. Eduard Joseph Siquioco, PPD, Manila, Philippines
PharmaSUG China 2018 Paper AD-58 TLF Management Tools: SAS programs to help in managing large number of TLFs ABSTRACT Eduard Joseph Siquioco, PPD, Manila, Philippines Managing countless Tables, Listings,
More informationSAS Application Development Using Windows RAD Software for Front End
Applications Development SAS Application Development Using Windows RAD Software for Front End Zhuan (John) Xu Blue Cross Blue Shield ofiowa & Big Creek Software, Des Moines, IA Abstract This paper presents
More informationArthur L. Carpenter California Occidental Consultants, Oceanside, California
Paper 028-30 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all
More informationAutomate Secure Transfers with SAS and PSFTP
SESUG Paper 115-2017 Automate Secure Transfers with SAS and PSFTP Kyle Thompson, PPD, Morrisville, NC Kenneth W. Borowiak, PPD, Morrisville, NC INTRODUCTION The ability to transfer files between remote
More informationPROC CATALOG, the Wish Book SAS Procedure Louise Hadden, Abt Associates Inc., Cambridge, MA
ABSTRACT Paper CC58 PROC CATALOG, the Wish Book SAS Procedure Louise Hadden, Abt Associates Inc., Cambridge, MA SAS data sets have PROC DATASETS, and SAS catalogs have PROC CATALOG. Find out what the little
More informationTips for Mastering Relational Databases Using SAS/ACCESS
Tips for Mastering Relational Databases Using SAS/ACCESS 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
More informationA Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files
A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract This paper will address the inter-connection
More informationProcedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research
Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research ABSTRACT In the course of producing a report for a clinical trial numerous drafts
More informationYour Own SAS Macros Are as Powerful as You Are Ingenious
Paper CC166 Your Own SAS Macros Are as Powerful as You Are Ingenious Yinghua Shi, Department Of Treasury, Washington, DC ABSTRACT This article proposes, for user-written SAS macros, separate definitions
More informationHAVE YOU EVER WISHED THAT YOU DO NOT NEED TO TYPE OR CHANGE REPORT NUMBERS AND TITLES IN YOUR SAS PROGRAMS?
HAVE YOU EVER WISHED THAT YOU DO NOT NEED TO TYPE OR CHANGE REPORT NUMBERS AND TITLES IN YOUR SAS PROGRAMS? Aileen L. Yam, PharmaNet, Inc., Princeton, NJ ABSTRACT In clinical research, the table of contents
More informationSAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.
SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. Abstract This paper provides a detailed analysis of creating static and dynamic web content using the
More informationANNA YERMAKOVA ALLEN National Provider Identifiers Registry
1346424397 ANNA YERMAKOVA ALLEN National Provider Identifiers Registry The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA) mandated the
More informationTroy Martin Hughes ABSTRACT INTRODUCTION
MWSUG 2016 - Paper 38 A Failure To EXIST: Why Testing for Data Set Existence with the EXIST Function Alone Is Inadequate for Serious Software Development in Asynchronous, Multiuser, and Parallel Processing
More informationWERNER ENTERPRISES INC. National Provider Identifiers Registry
1881681997 WERNER ENTERPRISES INC. The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA) mandated the adoption of standard unique identifiers
More informationOne SAS To Rule Them All
SAS Global Forum 2017 ABSTRACT Paper 1042 One SAS To Rule Them All William Gui Zupko II, Federal Law Enforcement Training Centers In order to display data visually, our audience preferred Excel s compared
More informationA SAS Macro to Create Validation Summary of Dataset Report
ABSTRACT PharmaSUG 2018 Paper EP-25 A SAS Macro to Create Validation Summary of Dataset Report Zemin Zeng, Sanofi, Bridgewater, NJ This paper will introduce a short SAS macro developed at work to create
More informationMIS Reporting in the Credit Card Industry
MIS Reporting in the Credit Card Industry Tom Hotard, Acxiom Corporation ABSTRACT In credit card acquisition campaigns, it is important to have the ability to keep track of various types of counts. After
More informationKnow What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data
Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data Shankar Yaddanapudi, SAS Consultant, Washington DC ABSTRACT In certain applications it is necessary to maintain
More informationKintana Object*Migrator System Administration Guide. Version 5.1 Publication Number: OMSysAdmin-1203A
Kintana Object*Migrator System Administration Guide Version 5.1 Publication Number: OMSysAdmin-1203A Kintana Object*Migrator, Version 5.1 This manual, and the accompanying software and other documentation,
More informationThe Demystification of a Great Deal of Files
SESUG 2016 ABSTRACT Paper -AD239 The Demystification of a Great Deal of Files Chao-Ying Hsieh, Southern Company Services, Inc. Atlanta, GA Our input data are sometimes stored in external flat files rather
More informationHash Objects for Everyone
SESUG 2015 Paper BB-83 Hash Objects for Everyone Jack Hall, OptumInsight ABSTRACT The introduction of Hash Objects into the SAS toolbag gives programmers a powerful way to improve performance, especially
More informationABDEL HAMID ABD EL SHAFY National Provider Identifiers Registry
1972917821 ABDEL HAMID ABD EL SHAFY National Provider Identifiers Registry The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA) mandated
More informationDAVID ZHI HAO LI National Provider Identifiers Registry
1861750507 DAVID ZHI HAO LI National Provider Identifiers Registry The Administrative Simplification provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA) mandated the adoption
More informationOracle SQL. murach s. and PL/SQL TRAINING & REFERENCE. (Chapter 2)
TRAINING & REFERENCE murach s Oracle SQL and PL/SQL (Chapter 2) works with all versions through 11g Thanks for reviewing this chapter from Murach s Oracle SQL and PL/SQL. To see the expanded table of contents
More information