What just happened? A visual tool for highlighting differences between two data sets

Size: px
Start display at page:

Download "What just happened? A visual tool for highlighting differences between two data sets"

Transcription

1 ABSTRACT What just happened? A visual tool for highlighting differences between two data sets Steve Cavill, NSW Bureau of Crime Statistics and Research, Sydney, Australia Base SAS includes a great utility for comparing two data sets - PROC COMPARE. The output though can be hard to read as the differences between values are listed separately for each variable. It's hard to see the differences across all variables for the same observation. This talk presents a macro to compare two SAS data sets and display the differences in Excel. PROC COMPARE OUT= option creates an output data set with all the differences. This data set is then processed with PROC REPORT using ODS EXCEL and colour highlighting to show the differences in an Excel, making the differences easy to see. INTRODUCTION A common requirement of software development is regression testing, that is, checking that the changes in your output data are as intended. One simple method to check this is to compare your output data sets before and after a software change. NSW Bureau of Crime Statistics (BOCSAR) creates output datasets on a monthly basis for analyzing crime trends in New South Wales, Australia. These data are continually being refined, which requires constant changes to the SAS code used to create the data. An important check in this process is that the code and data changes have not introduced errors into the data collection. PROC COMPARE is one of the tools used to validate the data by comparing before and after copies of the data. PROC COMPARE is a powerful tool for comparing two sas data sets. The output of PROC COMPARE is variable centric, that is, it shows all the changes for each variable, grouped by variable. So if you have made a change to a small number of variables across a large number of observations, the standard PROC COMPARE output is easy to read. However, the standard output of PROC COMPARE isn t particularly helpful when many variables change across a set of observations. PROC COMPARE, like many SAS reporting procedures, can send its output to a SAS data set. Then it s not all that complicated to take that output and refine it into a report that makes your changes easier to see. The full code for this illustration is in the Appendix. It uses sample SAS data sets that are part of your SAS installation. PROC COMPARE STANDARD OUTPUT This paper uses a standard SAS sample data set to illustrate how you can refine the output of PROC COMPARE SASHELP.BASEBALL contains some simple baseball statistics. I have made some changes to this data set to illustrate the benefit of changing the way PROC COMPARE output appears. Here is the program to introduce deliberate (though somewhat random) changes the data: proc sort data= sashelp.baseball out=before; by name; data after; set before; drop c:; array nums _numeric_; if _n_ in (5,71) then do i=1 to dim(nums); nums(i)=nums(i) - _n_; if _n_ in (6,88) then do i=1 to dim(nums) by 3; nums(i)=nums(i) - _n_; if _n_ in (74,100) then team='boston'; 1

2 And here is the standard output from PROC COMPARE: The COMPARE Procedure Comparison of WORK.BEFORE with WORK.AFTER (Method=EXACT) Data Set Summary Dataset Created Modified NVar NObs Label WORK.BEFORE 25JUL16:06:46:24 25JUL16:06:46: Baseball Data WORK.AFTER 25JUL16:06:46:24 25JUL16:06:46: Variables Summary Number of Variables in Common: 18. Number of Variables in WORK.BEFORE but not in WORK.AFTER: 6. Number of Variables in WORK.AFTER but not in WORK.BEFORE: 1. Number of ID Variables: 1. Observation Summary Observation Base Compare ID First Obs 1 1 Name=Aldrete, Mike First Unequal 5 5 Name=Armas, Tony Last Unequal Name=Franco, Julio Last Obs Name=Yount, Robin Number of Observations in Common: 322. Total Number of Observations Read from WORK.BEFORE: 322. Total Number of Observations Read from WORK.AFTER: 322. Number of Observations with Some Compared Variables Unequal: 6. Number of Observations with All Compared Variables Equal: 316. Values Comparison Summary Number of Variables Compared with All Observations Equal: 4. Number of Variables Compared with Some Observations Unequal: 13. Total Number of Values which Compare Unequal: 32. Maximum Difference: 88. Variables with Unequal Values Variable Type Len Label Ndif MaxDif Team CHAR 14 Team at the End of natbat NUM 8 Times at Bat in nhits NUM 8 Hits in nhome NUM 8 Home Runs in nruns NUM 8 Runs in nrbi NUM 8 RBIs in nbb NUM 8 Walks in YrMajor NUM 8 Years in the Major Leagues nouts NUM 8 Put Outs in nassts NUM 8 Assists in nerror NUM 8 Errors in Salary NUM Salary in $ Thousands

3 logsalary NUM 8 Log Salary Value Comparison Results for Variables Team at the End of 1986 Base Value Compare Value Name Team Team Dawson, Andre Montreal Boston Franco, Julio Cleveland Boston Times at Bat in 1986 Base Compare Name natbat natbat Diff. % Diff Armas, Tony Ashby, Alan Davis, Glenn Easler, Mike Hits in 1986 Base Compare Name nhits nhits Diff. % Diff Armas, Tony Davis, Glenn Home Runs in 1986 Base Compare Name nhome nhome Diff. % Diff Armas, Tony Davis, Glenn Runs in 1986 Base Compare Name nruns nruns Diff. % Diff Armas, Tony Ashby, Alan Davis, Glenn Easler, Mike

4 RBIs in 1986 Base Compare Name nrbi nrbi Diff. % Diff Armas, Tony Davis, Glenn Walks in 1986 Base Compare Name nbb nbb Diff. % Diff Armas, Tony Davis, Glenn Years in the Major Leagues Base Compare Name YrMajor YrMajor Diff. % Diff Armas, Tony Ashby, Alan Davis, Glenn Easler, Mike Put Outs in 1986 Base Compare Name nouts nouts Diff. % Diff Armas, Tony Davis, Glenn Assists in 1986 Base Compare Name nassts nassts Diff. % Diff Armas, Tony Davis, Glenn Errors in 1986 Base Compare Name nerror nerror Diff. % Diff 4

5 Armas, Tony Ashby, Alan Davis, Glenn Easler, Mike Salary in $ Thousands Base Compare Name Salary Salary Diff. % Diff Davis, Glenn Log Salary Base Compare Name logsalary logsalary Diff. % Diff Davis, Glenn Output 1. Standard output from PROC TABULATE 5

6 Here is the output from the CompareHighlight Macro which transforms the standard output from PROC COMPARE. Output 2. Output from CompareHighlight macro 6

7 COMPAREHIGHLIGHT MACRO The code to produce the highlighted output above (Output 2) is deceptively simple: %comparehighlight (base=before,compare=after,id=name,xlfile=/folders/myfolders/baseball.xlsx) HOW DOES IT WORK? To show how the macro works I have created a very simple data set: data one; retain i 1; drop i; length id $3 num1-num3 8 ; input id num1 num2 num3; cards; aaa bbb ccc ;;;; data two; set one; if id='bbb' then num1=num1+1; if id='ccc' then num3=num3+1; The standard proc compare of the two data sets looks like this (focusing just on the variable comparison part of the output) You can see that num1 was changed on row bbb and num3 was changed on row ccc: proc compare base=one compare=two; id id; The COMPARE Procedure Comparison of WORK.ONE with WORK.TWO (Method=EXACT) Data Set Summary Dataset Created Modified NVar NObs WORK.ONE 25JUL16:07:04:01 25JUL16:07:04: WORK.TWO 25JUL16:07:04:01 25JUL16:07:04: Variables with Unequal Values Variable Type Len Ndif MaxDif num1 NUM num3 NUM Value Comparison Results for Variables 7

8 Base Compare id num1 num1 Diff. % Diff bbb Base Compare id num3 num3 Diff. % Diff ccc Output 3: Standard PROC COMPARE output for simple data set Here is the output from %CompareHighlight options mprint; %comparehighlight (base=one,compare=two,id=id,xlfile=/folders/myfolders/simple1.xlsx) Note the standard output is actually in Excel, Output 3 is an HTML rendering of that Excel for display purposes. Each of the 4 mini tables is a tab in one Excel workbook, as illustrated below (output 4) Output 4: Excel workbook from %CompareHighlight Output 3: Tables of output from %CompareHighlight 8

9 STEP 1: CREATE AN OUTPUT DATA SET FROM PROC COMPARE proc compare base=one compare=two out=xtemp outbase outcomp outdiff outpercent outnoequal; id id; outbase output all the observations in the BASE data set that have differences, including those that ONLY appear in the BASE dataset outcomp output all the observations in the COMPARE data set that have differences, including those that ONLY appear in the COMPARE dataset outdiff output the absolute difference for every row that has differences outpercent output the percentage change for each difference outnoequal restrict output to observations that have differences id is used to match observations, otherwise proc compare uses simple one to one matching Obs _TYPE OBS_ id num1 num2 num3 1 BASE 2 bbb COMPARE 2 bbb DIF 2 bbb 1 E E 4 PERCENT 2 bbb 25 E E 5 BASE 3 ccc COMPARE 3 ccc DIF 3 ccc E E PERCENT 3 ccc E E Output 5: Output data set from proc compare (data set work.xtemp) STEP 2: MAKE REQUIRED CHANGES TO THE OUTPUT DATA SET The output data set needs to be manipulated slightly before we can process with PROC REPORT. 2A Change equal which is special missing.e to 0 You can see in Output 5 that variables that are equal contain an E, which is a special missing value.e. This will cause us headaches later in PROC REPORT so we change it to zero. 2B rename all the difference variables to contain format info for proc report We will see how we use this later in PROC REPORT in step 3B 9

10 Below you can see the E values have been changed to zero and the comparison variables have been prefixed with format_ Obs _TYPE OBS_ id format_num1 format_num2 format_num3 1 BASE 2 bbb COMPARE 2 bbb DIF 2 bbb PERCENT 2 bbb BASE 3 ccc COMPARE 3 ccc DIF 3 ccc PERCENT 3 ccc Output 6: Revised output data set from proc compare (data set work.diffs) STEP 3: PROCESS EACH TYPE OF OUTPUT ROW TO CREATE AN EXCEL SHEET Step 3A Merge each type of output row with the DIF row to create 4 different data sets The code below is repeated for each type of compare row BASE, COMPARE, DIF and PERCENT, to create 4 data sets to process with proc report: diffs_report_base, diffs_report_compare, diffs_report_dif and diffs_report_percent You can see that num1, num2 and num3 contain the original values and format_num1, format_num2 and format_num3 contain the differences (from the DIF row in work.diffs which were renamed earlier data diffs_report_base; merge xtemp(where=(_type_="base") in=infirst) diffs(where=(_type_='dif') in=insecond) ; by id; if infirst and insecond; Obs _TYPE OBS_ id num1 num2 num3 format_num1 format_num2 format_num3 1 DIF 2 bbb DIF 3 ccc Output 7: merged data set for input to proc report (data set work.diffs_report_base) Step 3B Process each data set with PROC REPORT to highlight the differences First, open the excel workbook (this is only done once at the beginning of the process) ods listing close; ods excel file="/folders/myfolders/simple1.xlsx" Now we can use PROC REPORT to process each of the 4 data sets to create a highlighted report. We define num1, num2 and num3 as display columns and format_num1, format_num2 and format_num3 as noprint columns. We use a formula based on format_xxx to highlight column xxx if the value in format_xxx is not zero. This is why we changed the special missing value.e to zero, as the missing value caused problems in the formula. Name the sheet: ods excel options (sheet_name="_base"); Then create the highlighted report: 10

11 proc report data=diffs_report_base nowd; columns id format_num1 format_num2 format_num3 num1 num2 num3; define id/display ; define format_num1/noprint; define format_num2/noprint; define format_num3/noprint; define num1/display ; define num2/display ; define num3/display ; Now we use the value in the format_xxx variables to apply formatting to cells which have differences: compute num1; if format_num1.sum ne 0 then call define(_col_,'style',"style={foreground=red background=yellow}"); endcomp; compute num2; if format_num2.sum ne 0 then call define(_col_,'style',"style={foreground=red background=yellow}"); endcomp; compute num3; if format_num3.sum ne 0 then call define(_col_,'style',"style={foreground=red background=yellow}"); endcomp; Then repeat the PROC REPORT step for each of the 4 difference data sets HANDLING OBSERVATIONS THAT ONLY APPEAR IN ONE DATASET. We need an extra step at step 2 to handle datasets that have observations in only one of the base or compare data sets. For example, if we delete one of the observations in the TWO data set: data two; set two; if id='bbb' then delete; %comparehighlight (base=one,compare=two,id=id,xlfile=/folders/myfolders/simple2.xlsx) PROC COMPARE shows us the row is missing: Comparison Results for Observations Observation 2 in WORK.ONE not found in WORK.TWO: id=bbb. 11

12 But the output data set only has the BASE row and the COMPARE, DIF and PERCENT rows don t exist for that row. (id=bbb) You can see row 5 is the BASE observation for the bbb row. As that row doesn t exist in the compare data set, the COMPARE, DIF and PERCENT rows aren t created. This is because we use the outnoequal option on the PROC TABULATE statement Obs _TYPE OBS_ id num1 num2 num3 1 BASE 1 aaa COMPARE 1 aaa DIF 1 aaa PERCENT 1 aaa BASE 2 bbb BASE 3 ccc COMPARE 2 ccc DIF 2 ccc PERCENT 2 ccc Output 8: PROC COMPARE output data set where there are non-matched rows We could turn off the outnoequal option, but that can create large output data sets, as it then creates 4 output observation for each input observation. We want the output report to only highlight the differences, particularly if the input datasets have very many rows. 2C Expand output data set to have a BASE, COMPARE, DIFF and PERCENT row for every difference row So instead we just use a simple data step to create the missing rows: data diffs; drop i; set xtemp; by id; /* step 2a above */ array nums(*) _numeric_; do i=1 to dim(nums); if nums(i)=.e then nums(i)=0; if not last.id then output; if last.id then select (_type_); when ('PERCENT') output; when ('COMPARE') do; output; call missing (num1,num2,num3); _type_='base'; output; _type_='dif'; output; _type_='percent'; output; when ('BASE') do; output; call missing (num1,num2,num3); _type_='compare'; output; _type_='dif'; output; _type_='percent'; output; 12

13 AN EXAMPLE APPLICATION At BOCSAR we use the CompareHighlight macro to check changes in our data and processes from month to month. In addition to obvious comparsions of individual data sets, aan interesting application of the CompareHighlight macro is comparing the contents of monthly data loads to check that the volume of change is as expected. This is the CompareHighlight output from comparing the sashelp.vmember of the output libraries from one month to the next (just the percentage tab). It s easy to see at a glance that the tables have more observations, which is expected, but the filesize is smaller, which is perhaps unexpected. The obslen is also shorter. Checking the DIF tab (not shown) indicates there are 15 fewer variables in the new data sets which is worth investigating. memname nobs obslen nvar filesize DISPOSAL DISPOSALOFFENCE DISPOSALOFFENCEPENALTY DISPOSALPENALTY OFFENCE E E PENALTY E E CONCLUSION The output of the CompareHighlight macro makes it easier to read the output from PROC COMPARE, particularly when there are differences in many variables on the same observation. The macro combines the powerful comparison capability of PROC COMPARE with the dynamic formatting flexibility of PROC REPORT and simplicity of ODS to create Excel output. One of the great things about working with SAS is the ability to combine strengths of various components to solve just about any problem!. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Steve Cavill NSW Bureau of Crime Statistics and Research 20 Lee Street Sydney, NSW, 2000 Steve.cavill@infoclarity.com.au SAS Community Page: This and other presentations can be found at my SAS Community presentations page 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. 13

14 APPENDIX Source code to reproduce the examples in this paper. The sample data set is a standard data set that is part of your SAS installation The presentation and associated source code is also available at sascommunity.org o_data_sets The macro also calls a number of utility macros that can be accessed at COMPAREHIGHLIGHT MACRO %macro CompareHighlight(base=,compare=,id=,var=,xlfile=,sheetname=,outdiffds=); /*BeginWikiEntry Take the output dataset from proc compare and create an excel sheet highlighting the differences assumes the excelxp destination is already open (to facilitate multiple sheets in the one workbook) == Parameters: == - base - base dataset to compare - compare - dataset to compare to base dataset - id - the id list used by proc compare (to avoid highlighting the id variables) - var - (optional) list of vars to compare - xlfile - the excel workbook (in.xml format) to create containing the comparison - sheetname - (optional) the name to give the sheet in the excel workbook - outdiffds - (optional) dataset containing the output from proc compare == example: == {{{ %comparehighlight(base=hc.hc14q2slw,compare=hc.hc14q2fst,id=personid procno offcount pencount,xlfile=x.xml) }}} == Notes == ds= parameter no longer supported [[br]] was the output dataset created by proc compare out= outdiff outbase outcomp outnoequal EndWikiEntry*/ /* to do highlight keys on a row which is exclusive to base or compare data set */ %local i idvarcount colcount colname coldataname colformatname usage datavars formatvars; 14

15 %let highlight={foreground=red background=yellow}; %if %length(&id)=0 % then %do; %let id=comparehighlightrowcounter; data &base._view/view=&base._view; set &base; comparehighlightrowcounter=_n_; data &compare._view/view=&compare._view; set &compare; comparehighlightrowcounter=_n_; %let base=&base._view; %let compare=&compare._view; % proc compare base=&base compare=&compare out=xtemp outdiff outbase outcomp outnoequal outpercent; id &id; %if %length(&var)>0 %then var &var;; %let datavars=%listtablevars (ds=xtemp, where=upcase(name) not in ('_TYPE_' '_OBS_' %upcase(%quotelst(&id)))); %let colcount=%countw(&id); /* make sure all 4 output rows exist for every comparison */ data diffs; drop i; set xtemp; /*nned id vars to join */ by &id; array nums(*) _numeric_; do i=1 to dim(nums); if nums(i)=.e then nums(i)=0; /* proc report struggles with missing */ if not last.%scan(&id,&colcount) then output; if last.%scan(&id,&colcount) then select (_type_); when ('PERCENT') output; /* no action required */ when ('COMPARE') do; output; call missing (%seplist(&datavars,delim=%str(,))); _type_='base';output; _type_='dif';output; _type_='percent';output; when ('BASE') do; output; call missing (%seplist(&datavars,delim=%str(,))); _type_='compare';output; _type_='dif';output; _type_='percent';output; 15

16 %renamevariables (ds=diffs,prefix=format_,except=_type obs_ &id ); %let formatvars=%listtablevars(ds=diffs,where=upcase(name) not in ('_TYPE_' '_OBS_' %upcase(%quotelst(&id)))); %macro colourit(type=); data diffs_report_&type; merge xtemp(where=(_type_="&type") in=infirst) diffs(where=(_type_='dif') in=insecond) ; by &id; if infirst and insecond; ; %delabel(ds=diffs_report_&type) ods excel options (sheet_name="&sheetname._&type"); proc report data=diffs_report_&type nowd; columns &id &formatvars &datavars; %let colcount=%sysfunc(countw(&id)); %do i= 1 %to &colcount; %let colname=%scan(&id,&i); define &colname/display /*&usage*/; % %let colcount=%sysfunc(countw(&formatvars)); %do i= 1 %to &colcount; %let colname=%scan(&formatvars,&i); define &colname/noprint; % %let colcount=%sysfunc(countw(&datavars)); %do i= 1 %to &colcount; %let colname=%scan(&datavars,&i); %if %vartype(diffs_report_&type,&colname)=c %then %let usage=display;%else %let usage=analysis; define &colname/display /*&usage*/; % %let colcount=%sysfunc(countw(&formatvars)); %do i= 1 %to &colcount; %let coldataname=%substr(%scan(&formatvars,&i),8); %let colformatname=format_&coldataname; compute &coldataname; %if %vartype(diffs_report_&type,&colformatname)=c %then %do; if index(&colformatname,'x')>0 or &colformatname=' ' % 16

17 %if %vartype(diffs_report_&type,&colformatname)=n %then %do; if &colformatname..sum ne 0 % then call define(_col_,'style',"style=&highlight"); endcomp; % %m ods listing close; ods excel file="&xlfile" style=minimal; %colourit(type=base) %colourit(type=compare) %colourit(type=dif) %colourit(type=percent) ods excel close; ods listing; %if &outdiffds ne %then %do; data &outdiffds; set diffs; % %m SAMPLE CODE FOR THE PAPER /* example of output highlighting changes, compared to proc compare output */ proc sort data= sashelp.baseball out=before; by name; data after; set before; drop c:; array nums _numeric_; if _n_ in (5,71) then do i=1 to dim(nums); nums(i)=nums(i) - _n_; if _n_ in (6,88) then do i=1 to dim(nums) by 3; nums(i)=nums(i) - _n_; if _n_ in (74,100) then team='boston'; options ls=90 ps=999; options nomlogic nomprint; %comparehighlight(base=before,compare=after,id=name,xlfile=/folders/myfolders/baseb all.xlsx) 17

18 /* simple example to show how proc report works */ data one; retain i 1; drop i; length id $3 num1-num3 8 ; input id num1 num2 num3; cards; aaa bbb ccc ;;;; data two; set one; if id='bbb' then num1=num1+1; if id='ccc' then num3=num3+1; options mprint; %comparehighlight(base=one,compare=two,id=id,xlfile=/folders/myfolders/simple1.xlsx ) /*handle "incomplete" output from proc compare */ data two; set two; if id='bbb' then delete; %comparehighlight(base=one,compare=two,id=id,xlfile=/folders/myfolders/simple2.xlsx ) 18

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

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL Paper SS-03 New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL ABSTRACT There s SuperCE for comparing text files on the mainframe. Diff

More information

What's the Difference? Using the PROC COMPARE to find out.

What's the Difference? Using the PROC COMPARE to find out. MWSUG 2018 - Paper SP-069 What's the Difference? Using the PROC COMPARE to find out. Larry Riggen, Indiana University, Indianapolis, IN ABSTRACT We are often asked to determine what has changed in a database.

More information

A Tool to Compare Different Data Transfers Jun Wang, FMD K&L, Inc., Nanjing, China

A Tool to Compare Different Data Transfers Jun Wang, FMD K&L, Inc., Nanjing, China PharmaSUG China 2018 Paper 64 A Tool to Compare Different Data Transfers Jun Wang, FMD K&L, Inc., Nanjing, China ABSTRACT For an ongoing study, especially for middle-large size studies, regular or irregular

More information

A Few Quick and Efficient Ways to Compare Data

A Few Quick and Efficient Ways to Compare Data A Few Quick and Efficient Ways to Compare Data Abraham Pulavarti, ICON Clinical Research, North Wales, PA ABSTRACT In the fast paced environment of a clinical research organization, a SAS programmer has

More information

Uncommon Techniques for Common Variables

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

More information

SAS/STAT 15.1 User s Guide The QUANTSELECT Procedure

SAS/STAT 15.1 User s Guide The QUANTSELECT Procedure SAS/STAT 15.1 User s Guide The QUANTSELECT Procedure This document is an individual chapter from SAS/STAT 15.1 User s Guide. The correct bibliographic citation for this manual is as follows: SAS Institute

More information

Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA

Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA ABSTRACT This paper describes for an intermediate SAS user the use of PROC REPORT to create

More information

PharmaSUG Paper IB11

PharmaSUG Paper IB11 PharmaSUG 2015 - Paper IB11 Proc Compare: Wonderful Procedure! Anusuiya Ghanghas, inventiv International Pharma Services Pvt Ltd, Pune, India Rajinder Kumar, inventiv International Pharma Services Pvt

More information

Data Quality Review for Missing Values and Outliers

Data Quality Review for Missing Values and Outliers Paper number: PH03 Data Quality Review for Missing Values and Outliers Ying Guo, i3, Indianapolis, IN Bradford J. Danner, i3, Lincoln, NE ABSTRACT Before performing any analysis on a dataset, it is often

More information

SAS/STAT 15.1 User s Guide The HPREG Procedure

SAS/STAT 15.1 User s Guide The HPREG Procedure SAS/STAT 15.1 User s Guide The HPREG Procedure This document is an individual chapter from SAS/STAT 15.1 User s Guide. The correct bibliographic citation for this manual is as follows: SAS Institute Inc.

More information

Keeping Track of Database Changes During Database Lock

Keeping Track of Database Changes During Database Lock Paper CC10 Keeping Track of Database Changes During Database Lock Sanjiv Ramalingam, Biogen Inc., Cambridge, USA ABSTRACT Higher frequency of data transfers combined with greater likelihood of changes

More information

Go Compare: Flagging up some underused options in PROC COMPARE Michael Auld, Eisai Ltd, London UK

Go Compare: Flagging up some underused options in PROC COMPARE Michael Auld, Eisai Ltd, London UK Paper TU02 Go Compare: Flagging up some underused options in PROC COMPARE Michael Auld Eisai Ltd London UK ABSTRACT A brief overview of the features of PROC COMPARE together with a demonstration of a practical

More information

Jump Right In! Essential Computer Skills Using Microsoft 2013 By Andrews, Dark, and West

Jump Right In! Essential Computer Skills Using Microsoft 2013 By Andrews, Dark, and West Jump Right In! Essential Computer Skills Using Microsoft 2013 By Andrews, Dark, and West Chapter 10 Managing Numbers and Text Using Excel 1 Objectives Examine the Excel window and tools Enter and format

More information

SAS/STAT 15.1 User s Guide The HPQUANTSELECT Procedure

SAS/STAT 15.1 User s Guide The HPQUANTSELECT Procedure SAS/STAT 15.1 User s Guide The HPQUANTSELECT Procedure This document is an individual chapter from SAS/STAT 15.1 User s Guide. The correct bibliographic citation for this manual is as follows: SAS Institute

More information

Beginner Beware: Hidden Hazards in SAS Coding

Beginner Beware: Hidden Hazards in SAS Coding ABSTRACT SESUG Paper 111-2017 Beginner Beware: Hidden Hazards in SAS Coding Alissa Wise, South Carolina Department of Education New SAS programmers rely on errors, warnings, and notes to discover coding

More information

Better Metadata Through SAS II: %SYSFUNC, PROC DATASETS, and Dictionary Tables

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

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

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

More information

Identifying Duplicate Variables in a SAS Data Set

Identifying Duplicate Variables in a SAS Data Set Paper 1654-2018 Identifying Duplicate Variables in a SAS Data Set Bruce Gilsen, Federal Reserve Board, Washington, DC ABSTRACT In the big data era, removing duplicate data from a data set can reduce disk

More information

SAS/STAT 12.3 User s Guide. The QUANTSELECT Procedure (Chapter)

SAS/STAT 12.3 User s Guide. The QUANTSELECT Procedure (Chapter) SAS/STAT 12.3 User s Guide The QUANTSELECT Procedure (Chapter) This document is an individual chapter from SAS/STAT 12.3 User s Guide. The correct bibliographic citation for the complete manual is as follows:

More information

OUT= IS IN: VISUALIZING PROC COMPARE RESULTS IN A DATASET

OUT= IS IN: VISUALIZING PROC COMPARE RESULTS IN A DATASET OUT= IS IN: VISUALIZING PROC COMPARE RESULTS IN A DATASET Prasad Ilapogu, Ephicacy Consulting Group; Masaki Mihaila, Pfizer; ABSTRACT Proc compare is widely used in the pharmaceutical world to validate

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

SAS/STAT 15.1 User s Guide The GLMSELECT Procedure

SAS/STAT 15.1 User s Guide The GLMSELECT Procedure SAS/STAT 15.1 User s Guide The GLMSELECT Procedure This document is an individual chapter from SAS/STAT 15.1 User s Guide. The correct bibliographic citation for this manual is as follows: SAS Institute

More information

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd Paper #1495-2014 Jazz it up a Little with Formats Brian Bee, The Knowledge Warehouse Ltd Abstract Formats are an often under-valued tool in the SAS toolbox. They can be used in just about all domains to

More information

Validation Summary using SYSINFO

Validation Summary using SYSINFO Validation Summary using SYSINFO Srinivas Vanam Mahipal Vanam Shravani Vanam Percept Pharma Services, Bridgewater, NJ ABSTRACT This paper presents a macro that produces a Validation Summary using SYSINFO

More information

Excel 2013 Workshop. Prepared by

Excel 2013 Workshop. Prepared by Excel 2013 Workshop Prepared by Joan Weeks Computer Labs Manager & Madeline Davis Computer Labs Assistant Department of Library and Information Science June 2014 Excel 2013: Fundamentals Course Description

More information

ABSTRACT INTRODUCTION TRICK 1: CHOOSE THE BEST METHOD TO CREATE MACRO VARIABLES

ABSTRACT INTRODUCTION TRICK 1: CHOOSE THE BEST METHOD TO CREATE MACRO VARIABLES An Efficient Method to Create a Large and Comprehensive Codebook Wen Song, ICF International, Calverton, MD Kamya Khanna, ICF International, Calverton, MD Baibai Chen, ICF International, Calverton, MD

More information

Foundations and Fundamentals. PROC COMPARE Worth Another Look! Christianna S. Williams, Chapel Hill, NC

Foundations and Fundamentals. PROC COMPARE Worth Another Look! Christianna S. Williams, Chapel Hill, NC PROC COMPARE Worth Another Look! Christianna S. Williams, Chapel Hill, NC ABSTRACT PROC COMPARE is one of those workhorse procedures in the Base SAS closet that deserves to be dusted off, tuned up and

More information

SAS as a Tool to Manage Growing SDTM+ Repository for Medical Device Studies Julia Yang, Medtronic Inc. Mounds View, MN

SAS as a Tool to Manage Growing SDTM+ Repository for Medical Device Studies Julia Yang, Medtronic Inc. Mounds View, MN PharmaSUG 2014 - Paper DS19 SAS as a Tool to Manage Growing SDTM+ Repository for Medical Device Studies Julia Yang, Medtronic Inc. Mounds View, MN ABSTRACT When we have a substantial number of medical

More information

A SAS Macro to Create Validation Summary of Dataset Report

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

Data Visualisation with Google Fusion Tables

Data Visualisation with Google Fusion Tables Data Visualisation with Google Fusion Tables Workshop Exercises Dr Luc Small 12 April 2017 1.5 Data Visualisation with Google Fusion Tables Page 1 of 33 1 Introduction Google Fusion Tables is shaping up

More information

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs, Jr. and Pura A. Peréz U.S. Bureau of the Census, Washington, D.C. ABSTRACT This paper explains

More information

Using PROC SQL to Generate Shift Tables More Efficiently

Using PROC SQL to Generate Shift Tables More Efficiently ABSTRACT SESUG Paper 218-2018 Using PROC SQL to Generate Shift Tables More Efficiently Jenna Cody, IQVIA Shift tables display the change in the frequency of subjects across specified categories from baseline

More information

Excel Tips for Compensation Practitioners Weeks Text Formulae

Excel Tips for Compensation Practitioners Weeks Text Formulae Excel Tips for Compensation Practitioners Weeks 70-73 Text Formulae Week 70 Using Left, Mid and Right Formulae When analysing compensation data, you generally extract data from the payroll, the HR system,

More information

SAS Institue EXAM A SAS Base Programming for SAS 9

SAS Institue EXAM A SAS Base Programming for SAS 9 SAS Institue EXAM A00-211 SAS Base Programming for SAS 9 Total Questions: 70 Question: 1 After a SAS program is submitted, the following is written to the SAS log: What issue generated the error in the

More information

The Power of PROC SQL Techniques and SAS Dictionary Tables in Handling Data

The 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 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

What Do You Mean My CSV Doesn t Match My SAS Dataset?

What Do You Mean My CSV Doesn t Match My SAS Dataset? SESUG 2016 Paper CC-132 What Do You Mean My CSV Doesn t Match My SAS Dataset? Patricia Guldin, Merck & Co., Inc; Young Zhuge, Merck & Co., Inc. ABSTRACT Statistical programmers are responsible for delivering

More information

Paper B GENERATING A DATASET COMPRISED OF CUSTOM FORMAT DETAILS

Paper B GENERATING A DATASET COMPRISED OF CUSTOM FORMAT DETAILS Paper B07-2009 Eliminating Redundant Custom Formats (or How to Really Take Advantage of Proc SQL, Proc Catalog, and the Data Step) Philip A. Wright, University of Michigan, Ann Arbor, MI ABSTRACT Custom

More information

Go back to your Excel sheet. Choose Paste to Sheet tab at the bottom.

Go back to your Excel sheet. Choose Paste to Sheet tab at the bottom. PCC: How to easily calculate monthly weights. All names on this report are fictitious to protect patient information. The images contained are from a Mac computer, if you use a PC and have difficulty with

More information

An Efficient Tool for Clinical Data Check

An Efficient Tool for Clinical Data Check PharmaSUG 2018 - Paper AD-16 An Efficient Tool for Clinical Data Check Chao Su, Merck & Co., Inc., Rahway, NJ Shunbing Zhao, Merck & Co., Inc., Rahway, NJ Cynthia He, Merck & Co., Inc., Rahway, NJ ABSTRACT

More information

Create Metadata Documentation using ExcelXP

Create Metadata Documentation using ExcelXP Paper AD13 Create Metadata Documentation using ExcelXP Christine Teng, Merck Research Labs, Merck & Co., Inc., Rahway, NJ ABSTRACT The purpose of the metadata documentation is two-fold. First, it facilitates

More information

How to Excel - Part 2

How to Excel - Part 2 Table of Contents Exercise 1: Protecting cells and sheets... 3 Task 1 Protecting sheet... 3 Task 2 Protecting workbook... 3 Task 3 Unprotect workbook and sheet... 3 Task 4 Protecting cells... 4 Protecting

More information

How did you ever do without it? - from the first VisiCalc ad, 1979

How did you ever do without it? - from the first VisiCalc ad, 1979 How did you ever do without it? - from the first VisiCalc ad, 1979 Accountant s Paper Ledger 2-Dimensional representation of accounting data image from Grauer&Barber, Excel 2003, Prentice Hall, Oct., 2004

More information

3N Validation to Validate PROC COMPARE Output

3N Validation to Validate PROC COMPARE Output ABSTRACT Paper 7100-2016 3N Validation to Validate PROC COMPARE Output Amarnath Vijayarangan, Emmes Services Pvt Ltd, India In the clinical research world, data accuracy plays a significant role in delivering

More information

Filter and PivotTables in Excel

Filter and PivotTables in Excel Filter and PivotTables in Excel FILTERING With filters in Excel you can quickly collapse your spreadsheet to find records meeting specific criteria. A lot of reporters use filter to cut their data down

More information

Tales from the Help Desk 6: Solutions to Common SAS Tasks

Tales from the Help Desk 6: Solutions to Common SAS Tasks SESUG 2015 ABSTRACT Paper BB-72 Tales from the Help Desk 6: Solutions to Common SAS Tasks Bruce Gilsen, Federal Reserve Board, Washington, DC In 30 years as a SAS consultant at the Federal Reserve Board,

More information

Concatenate Function Page 505

Concatenate Function Page 505 Concatenate Function Page 505 The Concatenate Function is used to tie together different text strings. It is useful, for example, if you have columns in your Excel workbook for First Name and Last Name

More information

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint

Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint PharmaSUG 2018 - Paper DV-01 Square Peg, Square Hole Getting Tables to Fit on Slides in the ODS Destination for PowerPoint Jane Eslinger, SAS Institute Inc. ABSTRACT An output table is a square. A slide

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

Formatting Highly Detailed Reports: Eye-Friendly, Insight-Facilitating

Formatting Highly Detailed Reports: Eye-Friendly, Insight-Facilitating L.Fine Formatting Highly Detailed Reports 1 Formatting Highly Detailed Reports: Eye-Friendly, Insight-Facilitating Lisa Fine, United BioSource Corporation Introduction Consider a highly detailed report

More information

A Macro that can Search and Replace String in your SAS Programs

A Macro that can Search and Replace String in your SAS Programs ABSTRACT MWSUG 2016 - Paper BB27 A Macro that can Search and Replace String in your SAS Programs Ting Sa, Cincinnati Children s Hospital Medical Center, Cincinnati, OH In this paper, a SAS macro is introduced

More information

Paper DM07. An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor

Paper DM07. An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor Paper DM07 An Animated Guide: Comparing Files without Proc Compare Alejandro Jaramillo (Data Means Corp) and Russ Lavery contractor ABSTRACT This paper provides an easy to understand SAS-based programmed

More information

Chapter 6: Modifying and Combining Data Sets

Chapter 6: Modifying and Combining Data Sets Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as

More information

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR;

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR; ET01 Demystifying the SAS Excel LIBNAME Engine - A Practical Guide Paul A. Choate, California State Developmental Services Carol A. Martell, UNC Highway Safety Research Center ABSTRACT This paper is a

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

Explore commands on the ribbon Each ribbon tab has groups, and each group has a set of related commands.

Explore commands on the ribbon Each ribbon tab has groups, and each group has a set of related commands. Quick Start Guide Microsoft Excel 2013 looks different from previous versions, so we created this guide to help you minimize the learning curve. Add commands to the Quick Access Toolbar Keep favorite commands

More information

Annotating Graphs from Analytical Procedures

Annotating Graphs from Analytical Procedures PharmaSUG 2016 - Paper DG07 Annotating Graphs from Analytical Procedures Warren F. Kuhfeld, SAS Institute Inc., Cary NC ABSTRACT You can use annotation, modify templates, and change dynamic variables to

More information

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

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

More information

SDTM Attribute Checking Tool Ellen Xiao, Merck & Co., Inc., Rahway, NJ

SDTM Attribute Checking Tool Ellen Xiao, Merck & Co., Inc., Rahway, NJ PharmaSUG2010 - Paper CC20 SDTM Attribute Checking Tool Ellen Xiao, Merck & Co., Inc., Rahway, NJ ABSTRACT Converting clinical data into CDISC SDTM format is a high priority of many pharmaceutical/biotech

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

Congratulations. EPG Workshop

Congratulations. EPG Workshop Congratulations You have a clean data file. Open Ebert 1.0. Change the infile statement to read the data in AphidData1aT.csv. Change the ODS HTML file= statement to give the program a place to dump the

More information

PharmaSUG Paper SP09

PharmaSUG Paper SP09 PharmaSUG 2013 - Paper SP09 SAS 9.3: Better graphs, Easier lives for SAS programmers, PK scientists and pharmacometricians Alice Zong, Janssen Research & Development, LLC, Spring House, PA ABSTRACT Data

More information

Statistics, Data Analysis & Econometrics

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

More information

PharmaSUG Paper PO12

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

More information

How to Download Data from MiSiS

How to Download Data from MiSiS How to Download Data from MiSiS Note: This guide provides instructions for using Excel 2007. If you have a newer system, please see the Excel 2010 guide. Downloading data from MiSiS is useful for: Mail

More information

Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA

Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA Paper TT11 Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA ABSTRACT Creating different kind of reports for the presentation of same data sounds a normal

More information

Introduction to Excel 2013

Introduction to Excel 2013 Introduction to Excel 2013 Copyright 2014, Software Application Training, West Chester University. A member of the Pennsylvania State Systems of Higher Education. No portion of this document may be reproduced

More information

PharmaSUG Paper TT11

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

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee

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

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions

Introduction to SAS Procedures SAS Basics III. Susan J. Slaughter, Avocet Solutions Introduction to SAS Procedures SAS Basics III Susan J. Slaughter, Avocet Solutions DATA versus PROC steps Two basic parts of SAS programs DATA step PROC step Begin with DATA statement Begin with PROC statement

More information

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA ABSTRACT: Have you ever been asked to compare new datasets to old datasets while transfers of data occur several

More information

Power Query for Parsing Data

Power Query for Parsing Data Excel Power Query Power Query for Parsing Data Data Models Screen 1In Excel 2010 and 2013 need to install the Power Query; however, in 2016 is automatically part of the Data Tab ribbon and the commands

More information

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software.

Lastly, in case you don t already know this, and don t have Excel on your computers, you can get it for free through IT s website under software. Welcome to the EASE workshop series, part of the STEM Gateway program. Before we begin, I want to make sure we are clear that this is by no means meant to be an all inclusive class in Excel. At each step,

More information

OASUS Spring 2014 Questions and Answers

OASUS Spring 2014 Questions and Answers OASUS Spring 2014 Questions and Answers The following answers are provided to the benefit of the OASUS Users Group and are not meant to replace SAS Technical Support. Also, the Enterprise Guide project

More information

SAS Data Integration Studio Take Control with Conditional & Looping Transformations

SAS Data Integration Studio Take Control with Conditional & Looping Transformations Paper 1179-2017 SAS Data Integration Studio Take Control with Conditional & Looping Transformations Harry Droogendyk, Stratia Consulting Inc. ABSTRACT SAS Data Integration Studio jobs are not always linear.

More information

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines

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

2. Don t forget semicolons and RUN statements The two most common programming errors.

2. Don t forget semicolons and RUN statements The two most common programming errors. Randy s SAS hints March 7, 2013 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, March 8, 2013 ***************; 2. Don t forget semicolons and

More information

The Proc Transpose Cookbook

The Proc Transpose Cookbook ABSTRACT PharmaSUG 2017 - Paper TT13 The Proc Transpose Cookbook Douglas Zirbel, Wells Fargo and Co. Proc TRANSPOSE rearranges columns and rows of SAS datasets, but its documentation and behavior can be

More information

Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas

Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas PharmaSUG 2015 - Paper QT40 Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas ABSTRACT When creating RTF files using

More information

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.

More information

Unlock SAS Code Automation with the Power of Macros

Unlock SAS Code Automation with the Power of Macros SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to

More information

Introduction / Overview

Introduction / Overview Paper # SC18 Exploring SAS Generation Data Sets Kirk Paul Lafler, Software Intelligence Corporation Abstract Users have at their disposal a unique and powerful feature for retaining historical copies of

More information

DEVELOP AND USE COMPLEX

DEVELOP AND USE COMPLEX ISBN 978-1-921780-78-3 DEVELOP AND USE COMPLEX SPREADSHEETS (EXCEL 2010) BSBITU402A By The Software Publications Writing Team Develop and use complex spreadsheets (Excel 2010) This book supports BSBITU402A

More information

Creating a Spreadsheet by Using Excel

Creating a Spreadsheet by Using Excel The Excel window...40 Viewing worksheets...41 Entering data...41 Change the cell data format...42 Select cells...42 Move or copy cells...43 Delete or clear cells...43 Enter a series...44 Find or replace

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

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

Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC

Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC AP06 Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC ABSTRACT By default, SAS compiles and stores all macros into the WORK

More information

Ranking Between the Lines

Ranking Between the Lines Ranking Between the Lines A %MACRO for Interpolated Medians By Joe Lorenz SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in

More information

Penetrating the Matrix Justin Z. Smith, William Gui Zupko II, U.S. Census Bureau, Suitland, MD

Penetrating the Matrix Justin Z. Smith, William Gui Zupko II, U.S. Census Bureau, Suitland, MD Penetrating the Matrix Justin Z. Smith, William Gui Zupko II, U.S. Census Bureau, Suitland, MD ABSTRACT While working on a time series modeling problem, we needed to find the row and column that corresponded

More information

Automate Clinical Trial Data Issue Checking and Tracking

Automate Clinical Trial Data Issue Checking and Tracking PharmaSUG 2018 - Paper AD-31 ABSTRACT Automate Clinical Trial Data Issue Checking and Tracking Dale LeSueur and Krishna Avula, Regeneron Pharmaceuticals Inc. Well organized and properly cleaned data are

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

Advanced PROC REPORT: Getting Your Tables Connected Using Links

Advanced PROC REPORT: Getting Your Tables Connected Using Links Advanced PROC REPORT: Getting Your Tables Connected Using Links Arthur L. Carpenter California Occidental Consultants ABSTRACT Gone are the days of strictly paper reports. Increasingly we are being asked

More information

CostX 6.6 Release Notes

CostX 6.6 Release Notes CostX 6.6 Release Notes CostX 6.6 is the latest release in the Exactal range of world-class digital measurement and BIM-enabled estimating software. This release comes with a host of exciting new features

More information

DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010

DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010 DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn MORE TASKS IN MICROSOFT EXCEL PAGE 03 Cutting, Copying, and Pasting Data Filling Data Across Columns

More information

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database PharmaSUG 2017 - Paper DS13 Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database ABSTRACT Cori Kramer, Ragini Hari, Keith Shusterman, Chiltern When SDTM

More information

Essentials of the SAS Output Delivery System (ODS)

Essentials of the SAS Output Delivery System (ODS) Essentials of the SAS Output Delivery System (ODS) State of Oregon SAS Users Group December 5, 2007 Andrew H. Karp Sierra Information Services www.sierrainformation.com Copyright Andrew H Karp All Rights

More information

Best Practices for Loading Autodesk Inventor Data into Autodesk Vault

Best Practices for Loading Autodesk Inventor Data into Autodesk Vault AUTODESK INVENTOR WHITE PAPER Best Practices for Loading Autodesk Inventor Data into Autodesk Vault The most important item to address during the implementation of Autodesk Vault software is the cleaning

More information

Doctor's Prescription to Re-engineer Process of Pinnacle 21 Community Version Friendly ADaM Development

Doctor's Prescription to Re-engineer Process of Pinnacle 21 Community Version Friendly ADaM Development PharmaSUG 2018 - Paper DS-15 Doctor's Prescription to Re-engineer Process of Pinnacle 21 Community Version Friendly ADaM Development Aakar Shah, Pfizer Inc; Tracy Sherman, Ephicacy Consulting Group, Inc.

More information

Excel Format cells Number Percentage (.20 not 20) Special (Zip, Phone) Font

Excel Format cells Number Percentage (.20 not 20) Special (Zip, Phone) Font Excel 2013 Shortcuts My favorites: Ctrl+C copy (C=Copy) Ctrl+X cut (x is the shape of scissors) Ctrl+V paste (v is the shape of the tip of a glue bottle) Ctrl+A - or the corner of worksheet Ctrl+Home Goes

More information