What just happened? A visual tool for highlighting differences between two data sets
|
|
- Hilary Davis
- 5 years ago
- Views:
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
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 informationNew 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 informationWhat'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 informationA 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 informationA 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 informationUncommon 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 informationSAS/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 informationUsing 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 informationPharmaSUG 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 informationData 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 informationSAS/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 informationKeeping 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 informationGo 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 informationJump 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 informationSAS/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 informationBeginner 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 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 informationData 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 informationIdentifying 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 informationSAS/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 informationOUT= 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 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 informationSAS/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 informationPaper # 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 informationValidation 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 informationExcel 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 informationABSTRACT 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 informationFoundations 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 informationSAS 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 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 informationData 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 informationA 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 informationUsing 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 informationExcel 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 informationSAS 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 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 informationUsing 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 informationWhat 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 informationPaper 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 informationGo 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 informationAn 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 informationCreate 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 informationHow 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 informationHow 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 information3N 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 informationFilter 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 informationTales 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 informationConcatenate 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 informationSquare 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 informationSAS 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 informationFormatting 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 informationA 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 informationPaper 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 informationChapter 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 informationET01. 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 informationCleaning 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 informationExplore 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 informationAnnotating 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 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 informationSDTM 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 informationINTRODUCTION 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 informationCongratulations. 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 informationPharmaSUG 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 informationStatistics, 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 informationPharmaSUG 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 informationHow 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 informationMultiple 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 informationIntroduction 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 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 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 informationIntroduction 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 informationAutomating 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 informationPower 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 informationLastly, 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 informationOASUS 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 informationSAS 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 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 information2. 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 informationThe 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 informationRegaining 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 informationGetting 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 informationUnlock 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 informationIntroduction / 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 informationDEVELOP 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 informationCreating 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 informationNot 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 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 informationUsing 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 informationRanking 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 informationPenetrating 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 informationAutomate 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 informationHow 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 informationAdvanced 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 informationCostX 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 informationDOING 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 informationPlanning 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 informationEssentials 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 informationBest 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 informationDoctor'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 informationExcel 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