Common Sense Validation Using SAS
|
|
- Noah Burke
- 5 years ago
- Views:
Transcription
1 Common Sense Validation Using SAS Lisa Eckler Lisa Eckler Consulting Inc. TASS Interfaces, December 2015
2 Holistic approach Allocate most effort to what s most important Avoid or automate repetitive tasks Ask ourselves the right questions
3 Defining terms: QA Data quality assurance is the process of profiling the data to discover inconsistencies, and other anomalies in the data and performing data cleansing activities to improve the data quality. Wikipedia
4 Defining terms: Verification Verification is the act of reviewing, inspecting, testing, etc. to establish and document that a product, service, or system meets the regulatory, standard, or specification requirements. à Does it meet the structural requirements? à Is it complete?
5 Defining terms: Validation Validation refers to meeting the needs of the intended end-user or customer. à Does it answer the user s question? à Does it meet all of the needs? à Structure and completeness, data integrity, appropriateness
6 Computers are useless. They can only give you answers. Pablo Picasso
7 How do I know if I got it right?
8 Is Validation a programming task? à Yes mostly à The routine parts can and should be automated and repeatable à That leaves more resources for the parts which require human attention
9 q PROC COMPARE q PROC CONTENTS q PROC CONTENTS with compare (using PROC COMPARE or TRANSPOSE, MERGE and flag) q PROC FREQ +/- PROC FORMAT q PROC SUMMARY Wrap a macro around this and you have a flexible, re- usable tool! q PROC SUMMARY + compare (using PROC COMPARE or TRANSPOSE, MERGE and flag)
10 Does this mean writing more SAS code after I thought I was finished writing SAS code? Yes and no We can save time and improve the quality of results by using code that isn t part of the final program. Don t think of it as disposable, though: this code can be set up once and saved to use for all future validation efforts. Additional benefits Automated validation provides a log Easily repeatable
11 What are the questions? Should this be a replication of something I have seen before? If not, is it similar to something I ve done before? Is it or some part of it supposed to be different from anything I ve seen before? Is the result packaged properly?
12 Mantra for Validation Check your assumptions Confirm similarities Focus on differences
13 How is this result expected to compare with what we ve seen before? Entirely different Some overlap Complete overlap Subset
14 Some possibilities not an exhaustive list!
15 ** This is the simplest form of **; ** comparison between two sets of data **; proc compare compare = SHOES run; base = OLD_SHOES;
16
17 ** PROC CONTENTS gives us metadata **; proc contents run; data = OLD_SHOES;
18
19 ** CONTENTS with select facts saved to **; ** a data set --> a table of metadata **; proc contents data = OLD_SHOES run; out = CONTENTS_OLD_SHOES (keep=name type length);
20 ** Same as previous slide except for the **; ** new data set **; proc contents data = NEW_SHOES run; out = CONTENTS_NEW_SHOES (keep=name type length);
21 ** Comparing metadata tables rather than **; ** data tables **; proc compare compare = CONTENTS_OLD_SHOES run; base = CONTENTS_NEW_SHOES;
22
23
24 proc contents data = OLD_SHOES run; out = CONTENTS1(keep=name type length); proc contents data = NEW_SHOES out = CONTENTS2(keep=name type length); run; proc compare run; compare = CONTENTS1 base = CONTENTS2;
25 %macro COMPARE_STRUCTURE1; proc contents data = OLD_SHOES run; out = CONTENTS1(keep=name type length); proc contents run; data = NEW_SHOES out = CONTENTS2(keep=name type length); proc compare compare = CONTENTS1 base = CONTENTS2; run; %mend COMPARE_STRUCTURE1; %COMPARE_STRUCTURE1;
26 %macro COMPARE_STRUCTURE(DS1,DS2); proc contents run; data = &DS1 proc contents run; proc compare run; out = CONTENTS1(keep=name type length); data = &DS2 out = CONTENTS2(keep=name type length); compare = CONTENTS1 base = CONTENTS2; %mend COMPARE_STRUCTURE; %COMPARE_STRUCTURE(OLD_SHOES, NEW_SHOES);
27 %macro COMPARE_STRUCTURE(DS1,DS2); proc contents run; data = &DS1 proc contents run; proc compare run; out = CONTENTS1(keep=name type length); data = &DS2 out = CONTENTS2(keep=name type length); compare = CONTENTS1 base = CONTENTS2; %mend COMPARE_STRUCTURE; %COMPARE_STRUCTURE(OLD_SHOES, NEW_SHOES);
28 ** We've just built a generic tool for comparing **; ** the STRUCTURE of any two SAS data sets **; %COMPARE_STRUCTURE( <any SAS data set name>, <any other SAS data set name> );
29 Reasonableness: complete overlap
30 Reasonableness: complete overlap _character_ gives the list of ALL vars in the table with data type character, which may include some vars with too many values
31 Reasonableness: complete overlap This code also gives a list of ALL vars in the table with data type character
32 Reasonableness: complete overlap The above code lets us customize our list to exclude non-categorical character columns and include the others
33 Reasonableness: complete overlap
34 Reasonableness: complete overlap Similar to the way we compared the structure of two tables, we can compare the frequency counts of values in two tables
35 Data correctness: complete overlap proc compare run; compare = OLD_SHOES base = NEW_SHOES; à Judicious use of unrestricted PROC COMPARE -- after confirming reasonableness
36 If we are expecting a result that is a complete replication of something that already exists Confirm that the structure is identical Confirm that the data is the same at a high level Confirm that the data is the same at a detailed level à fully automated
37 Data correctness: completely new What if we don t have an existing results table to compare to? Similar SAS data in an existing table or produced by someone else? Similar data in some other format that can be imported into SAS for comparison? Do we have a data requirements document? The truly original data will require much greater attention to validation and the involvement of a subject matter expert
38 Packaging: completely new
39 Packaging: completely new Assuming we have a Requirements document Import REQUIREMENTS into SAS data set run PROC CONTENTS on new data set to get CONTENTS_NEW_SHOES run PROC COMPARE, comparing CONTENTS_NEW_SHOES to REQUIREMENTS OR Join REQUIREMENTS with CONTENTS_NEW_SHOES and flag non-matching rows
40 Packaging: completely new
41 Packaging: completely new
42 Reasonableness: completely new
43 Reasonableness: completely new
44
45 What if part of our result should be the same as an existing result but there should be some differences? Treat it as a hybrid and split the validation exercise into two parts Expected same (by rows, columns, data or metadata) Expected different (by rows, columns, data or metadata)
46 For each of the two parts Confirm (expected) similarities Focus efforts on (expected) differences Run the validation procedures we ve alreay looked at as appropriate for the same and different aspects
47 Recall the scenario where our data sets should be identical record _id a b c 1 * * * 2 * * * 3 * * * record _id a b c 1 * * * 2 * * * 3 * * *
48 When some columns should be the same record _id a b c 1 * * 2 * * 3 * * record _id a b d 1 * * 2 * * 3 * * 48
49 When some cells (parts of rows and columns) should be the same record _id a b c 1 * * 2 * * 3 * * record _id a b d 1 * * 3 * * 4
50 Review:
51 Summary: q Ask the right questions q Confirm similarities with known things quickly and programmatically then focus time and effort on validating unknown or new things q Basic base SAS procedures for validation q vary the technique based on how much is similar/different from what you ve validated previously and what types of data are involved
52 You can find my related conference papers at Don t Forget About Small Data (SESUG 2015) When Good Looks Aren t Enough (NESUG 2009) If you have comments or questions lisa.eckler@sympatico.ca
Don t Forget About SMALL Data
Don t Forget About SMALL Data Lisa Eckler Lisa Eckler Consulting Inc. September 25, 2015 Outline Why does Small Data matter? Defining Small Data Where to look for it How to use it examples What else might
More informationVerification and Validation. Verification and validation
Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system
More informationCSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch
CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed
More informationAgent Design Example Problems State Spaces. Searching: Intro. CPSC 322 Search 1. Textbook Searching: Intro CPSC 322 Search 1, Slide 1
Searching: Intro CPSC 322 Search 1 Textbook 3.0 3.3 Searching: Intro CPSC 322 Search 1, Slide 1 Lecture Overview 1 Agent Design 2 Example Problems 3 State Spaces Searching: Intro CPSC 322 Search 1, Slide
More informationProgramming and Data Structure
Programming and Data Structure Dr. P.P.Chakraborty Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture # 09 Problem Decomposition by Recursion - II We will
More informationCache Coherence Tutorial
Cache Coherence Tutorial The cache coherence protocol described in the book is not really all that difficult and yet a lot of people seem to have troubles when it comes to using it or answering an assignment
More informationUseful Tips from my Favorite SAS Resources
Useful Tips from my Favorite SAS Resources Marje Fecht Senior Partner, Prowerk Consulting Copyright 2017 Prowerk Consulting 1 You need an answer QUICK! I don t want to run the whole program if the input
More informationInside the PostgreSQL Shared Buffer Cache
Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later
More informationQuiz. Introduction: Python. In this project, you ll make a quiz game to challenge your friends. Activity Checklist.
Python 1 Quiz All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduction:
More informationModule 6. Campaign Layering
Module 6 Email Campaign Layering Slide 1 Hello everyone, it is Andy Mackow and in today s training, I am going to teach you a deeper level of writing your email campaign. I and I am calling this Email
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
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 informationThis lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order.
6.1 6.2 This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order. A list is numerically ordered if, for every item
More informationCan you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL
Paper 11667-2016 Can you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL ABSTRACT You would think that training as a code breaker, similar
More informationHere are some of the more basic curves that we ll need to know how to do as well as limits on the parameter if they are required.
1 of 10 23/07/2016 05:15 Paul's Online Math Notes Calculus III (Notes) / Line Integrals / Line Integrals - Part I Problems] [Notes] [Practice Problems] [Assignment Calculus III - Notes Line Integrals Part
More informationMIS Reporting in the Credit Card Industry
MIS Reporting in the Credit Card Industry Tom Hotard, Acxiom Corporation ABSTRACT In credit card acquisition campaigns, it is important to have the ability to keep track of various types of counts. After
More informationDesign and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis
Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we
More informationUsability Test Report: Requesting Library Material 1
Usability Test Report: Requesting Library Material 1 Summary Emily Daly and Kate Collins conducted usability testing on the processes of requesting library material. The test was conducted at the temporary
More informationHeuristic Evaluation of [ Quest ]
Heuristic Evaluation of [ Quest ] 1. Problem Quest is an app that allows you to stay involved in, participate in, and create local clubs and events happening in your community 2. Violations Found 1. [H10.
More informationMore Dataflow Analysis
More Dataflow Analysis Steps to building analysis Step 1: Choose lattice Step 2: Choose direction of dataflow (forward or backward) Step 3: Create transfer function Step 4: Choose confluence operator (i.e.,
More informationHash Objects for Everyone
SESUG 2015 Paper BB-83 Hash Objects for Everyone Jack Hall, OptumInsight ABSTRACT The introduction of Hash Objects into the SAS toolbag gives programmers a powerful way to improve performance, especially
More informationCreating a Brochure in Publisher
Creating a Brochure in Publisher If you closed the Flyer, as indicated above, you will see the Microsoft Publisher Task Pane on the left side of your screen. Click the Brochures selection in the Publication
More information2997 Yarmouth Greenway Drive, Madison, WI Phone: (608) Web:
Getting the Most Out of SAS Enterprise Guide 2997 Yarmouth Greenway Drive, Madison, WI 53711 Phone: (608) 278-9964 Web: www.sys-seminar.com 1 Questions, Comments Technical Difficulties: Call 1-800-263-6317
More informationHeuristic Evaluation of igetyou
Heuristic Evaluation of igetyou 1. Problem i get you is a social platform for people to share their own, or read and respond to others stories, with the goal of creating more understanding about living
More informationBASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS
SAS COURSE CONTENT Course Duration - 40hrs BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS What is SAS History of SAS Modules available SAS GETTING STARTED
More informationPage Replacement. (and other virtual memory policies) Kevin Webb Swarthmore College March 27, 2018
Page Replacement (and other virtual memory policies) Kevin Webb Swarthmore College March 27, 2018 Today s Goals Making virtual memory virtual : incorporating disk backing. Explore page replacement policies
More informationKEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT
MWSUG 2017 - Paper BB15 Building Intelligent Macros: Driving a Variable Parameter System with Metadata Arthur L. Carpenter, California Occidental Consultants, Anchorage, Alaska ABSTRACT When faced with
More informationPublications Database
Getting Started Guide Publications Database To w a r d s a S u s t a i n a b l e A s i a - P a c i f i c!1 Table of Contents Introduction 3 Conventions 3 Getting Started 4 Suggesting a Topic 11 Appendix
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 informationUsing SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL
Using SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL ABSTRACT SAS is a powerful programming language. When you find yourself
More informationPaper SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland
Paper 241-28 SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland ABSTRACT This paper presents a set of programming conventions and guidelines that can be considered in developing
More informationRelaxed Memory-Consistency Models
Relaxed Memory-Consistency Models [ 9.1] In small multiprocessors, sequential consistency can be implemented relatively easily. However, this is not true for large multiprocessors. Why? This is not the
More informationSAS Programming Conventions Lois Levin, Independent Consultant
SAS Programming Conventions Lois Levin, Independent Consultant INTRODUCTION This paper presents a set of programming conventions and guidelines that can be considered in developing code to ensure that
More informationSoftware Quality Assurance. David Janzen
Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines
More information(Refer Slide Time 04:53)
Programming and Data Structure Dr.P.P.Chakraborty Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 26 Algorithm Design -1 Having made a preliminary study
More informationCreating an ADaM Data Set for Correlation Analyses
PharmaSUG 2018 - Paper DS-17 ABSTRACT Creating an ADaM Data Set for Correlation Analyses Chad Melson, Experis Clinical, Cincinnati, OH The purpose of a correlation analysis is to evaluate relationships
More information(Refer Slide Time 6:48)
Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Lecture - 8 Karnaugh Map Minimization using Maxterms We have been taking about
More informationLecture 14. Lecture 14: Joins!
Lecture 14 Lecture 14: Joins! Lecture 14 Announcements: Two Hints You may want to do Trigger activity for project 2. We ve noticed those who do it have less trouble with project! Seems like we re good
More informationText Input and Conditionals
Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()
More informationA Cross-national Comparison Using Stacked Data
A Cross-national Comparison Using Stacked Data Goal In this exercise, we combine household- and person-level files across countries to run a regression estimating the usual hours of the working-aged civilian
More informationsuch a manner that we are able to understand, grasp and grapple with the problem at hand in a more organized fashion.
Programming and Data Structure Dr.P.P.Chakraborty Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 32 Conclusions Hello everybody. Today, we come to the
More informationHow to Use Your Autoresponder Series for Maximum Affiliate Profits
How to Use Your Autoresponder Series for Maximum Affiliate Profits This report is brought to by AllPrivateLabelContent.com your source for pre-made content just waiting for your monetization! Building
More informationIntro to Algorithms. Professor Kevin Gold
Intro to Algorithms Professor Kevin Gold What is an Algorithm? An algorithm is a procedure for producing outputs from inputs. A chocolate chip cookie recipe technically qualifies. An algorithm taught in
More informationPractice Problems for the Final
ECE-250 Algorithms and Data Structures (Winter 2012) Practice Problems for the Final Disclaimer: Please do keep in mind that this problem set does not reflect the exact topics or the fractions of each
More informationBinary Search and Worst-Case Analysis
Yufei Tao ITEE University of Queensland A significant part of computer science is devoted to understanding the power of the RAM model in solving specific problems. Every time we discuss a problem in this
More informationE-Companion: On Styles in Product Design: An Analysis of US. Design Patents
E-Companion: On Styles in Product Design: An Analysis of US Design Patents 1 PART A: FORMALIZING THE DEFINITION OF STYLES A.1 Styles as categories of designs of similar form Our task involves categorizing
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 informationUsing a hash object to seed initial conditions
Using a hash object to seed initial conditions CHUCK ANDERSON UFA LLC ANDERSON@UFANET.COM Background Certain characteristics of dynamic models often emerge when underlying model variables are near equilibrium
More informationDETECTING ANOMALIES IN YOUR DATA USING ROUNDED NUMBERS Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA
DETECTING ANOMALIES IN YOUR DATA USING ROUNDED NUMBERS Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT Analyzing large amounts of data looking for anomalies can be a disheartening
More informationBinary Search and Worst-Case Analysis
Department of Computer Science and Engineering Chinese University of Hong Kong A significant part of computer science is devoted to understanding the power of the RAM model in solving specific problems.
More informationOrganising . page 1 of 8. bbc.co.uk/webwise/accredited-courses/level-one/using- /lessons/your- s/organising-
Organising email Reading emails When someone sends you an email it gets delivered to your inbox, which is where all your emails are stored. Naturally the first thing you ll want to do is read it. In your
More informationFrom Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX
Paper 152-27 From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX ABSTRACT This paper is a case study of how SAS products were
More informationTable of Contents. The RETAIN Statement. The LAG and DIF Functions. FIRST. and LAST. Temporary Variables. List of Programs.
Table of Contents List of Programs Preface Acknowledgments ix xvii xix The RETAIN Statement Introduction 1 Demonstrating a DATA Step with and without a RETAIN Statement 1 Generating Sequential SUBJECT
More informationMy name is Elizabeth Simister and I am the current product accessibility manager at Blackboard. I got my start in accessibility in 2004 in what is
1 My name is Elizabeth Simister and I am the current product accessibility manager at Blackboard. I got my start in accessibility in 2004 in what is now the K. Lisa Yang and Hock E. Tan Institute on Employment
More informationRepetition Through Recursion
Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something
More informationOne-PROC-Away: The Essence of an Analysis Database Russell W. Helms, Ph.D. Rho, Inc.
One-PROC-Away: The Essence of an Analysis Database Russell W. Helms, Ph.D. Rho, Inc. Chapel Hill, NC RHelms@RhoWorld.com www.rhoworld.com Presented to ASA/JSM: San Francisco, August 2003 One-PROC-Away
More informationApplications Development. Paper 38-28
Paper 38-28 The California Template or How to keep from reinventing the wheel using SAS/IntrNet, JavaScript and process reengineering Blake R. Sanders, U.S. Census Bureau, Washington, DC ABSTRACT Creating
More informationCSc Outline. Basics. What is DHCP? Why DHCP? How does DHCP work? DHCP
CSc72010 DHCP Outline Basics Comer: Chapter 22 (Chapter 23 in the the 4 th edition) Peterson: Section 4.1.6 RFC 2131 What is DHCP? Dynamic Host Configuration Protocol: provides for configuring hosts that
More informationOLAP Introduction and Overview
1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 What Is a Cube? 2 Understanding the Cube Structure 3 What Is SAS OLAP Server? 3 About Cube Metadata
More informationThe inspection tool lets you inspect a document for metadata, like author information, headers and footers, and other information that may be hidden
7 8 The inspection tool lets you inspect a document for metadata, like author information, headers and footers, and other information that may be hidden in your document before you post it in a public
More informationA Beginner s Guide to Successful Marketing
You ve got mail. A Beginner s Guide to Successful Email Marketing We believe that building successful email marketing campaigns has never been more important than it is now. But there s a problem; most
More informationAssignment 1c: Compiler organization and backend programming
Assignment 1c: Compiler organization and backend programming Roel Jordans 2016 Organization Welcome to the third and final part of assignment 1. This time we will try to further improve the code generation
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 informationIntroduction to Templates
Introduction to Templates Module 1 of the Reference Data Readiness Course Julian M.N. Bourne 2014-06-23 JORD 2014 PCA and Fiatech Module & Course Introduction Introduction to Templates is the first module
More information5 R1 The one green in the same place so either of these could be green.
Page: 1 of 20 1 R1 Now. Maybe what we should do is write out the cases that work. We wrote out one of them really very clearly here. [R1 takes out some papers.] Right? You did the one here um where you
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 informationChaining Logic in One Data Step Libing Shi, Ginny Rego Blue Cross Blue Shield of Massachusetts, Boston, MA
Chaining Logic in One Data Step Libing Shi, Ginny Rego Blue Cross Blue Shield of Massachusetts, Boston, MA ABSTRACT Event dates stored in multiple rows pose many challenges that have typically been resolved
More informationSAS Styles ODS, Right? No Programming! Discover a Professional SAS Programming Style That Will Last a Career
SAS Styles ODS, Right? No Programming! Discover a Professional SAS Programming Style That Will Last a Career Joe Perry, Perry & Associates Consulting, Oceanside, CA The typical, new SAS programmer has
More informationSlide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary
Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide
More informationGROW YOUR BUSINESS WITH AN ALL-IN-ONE REAL ESTATE PLATFORM
GROW YOUR BUSINESS WITH AN ALL-IN-ONE REAL ESTATE PLATFORM ZipperAgent TABLE OF CONTENTS 1. Introduction: How valuable is your CRM? 2. Online Lead Capture: Online lead capture builds your business 3. Timely
More informationUSING DATA TO SET MACRO PARAMETERS
USING DATA TO SET MACRO PARAMETERS UPDATE A PREVIOUS EXAMPLE %macro report(regs=); %let r=1; %let region=%scan(®s,&r); %do %until(®ion eq ); options nodate pageno=1; ods pdf file="®ion..pdf";
More informationTowards a Memory-Efficient Knapsack DP Algorithm
Towards a Memory-Efficient Knapsack DP Algorithm Sanjay Rajopadhye The 0/1 knapsack problem (0/1KP) is a classic problem that arises in computer science. The Wikipedia entry http://en.wikipedia.org/wiki/knapsack_problem
More informationMore Practical Dynamo: Practical Uses for Dynamo Within Revit
AS10613 & AS13937 More Practical Dynamo: Practical Uses for Dynamo Within Revit MARCELLO SGAMBELLURI, BIM DIRECTOR JOHN A. MARTIN & ASSOCIATES Learning Objectives Learn how to program using visual programming.
More informationPROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA
PROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA ABSTRACT SAS does not have an option for PROC REG (or any of its other equation estimation procedures)
More informationChapter 2 The SAS Environment
Chapter 2 The SAS Environment Abstract In this chapter, we begin to become familiar with the basic SAS working environment. We introduce the basic 3-screen layout, how to navigate the SAS Explorer window,
More informationCFB: A Programming Pattern for Creating Change from Baseline Datasets Lei Zhang, Celgene Corporation, Summit, NJ
Paper TT13 CFB: A Programming Pattern for Creating Change from Baseline Datasets Lei Zhang, Celgene Corporation, Summit, NJ ABSTRACT In many clinical studies, Change from Baseline analysis is frequently
More informationData Replication CS 188 Distributed Systems February 3, 2015
Data Replication CS 188 Distributed Systems February 3, 2015 Page 1 Some Other Possibilities What if the machines sharing files are portable and not always connected? What if the machines communicate across
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 informationCIS 45, The Introduction. What is a database? What is data? What is information?
CIS 45, The Introduction I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won t last out the year. The editor
More informationFlow Control: Branches and loops
Flow Control: Branches and loops In this context flow control refers to controlling the flow of the execution of your program that is, which instructions will get carried out and in what order. In the
More informationAnalysis of algorithms
Analysis of algorithms Time and space To analyze an algorithm means: developing a formula for predicting how fast an algorithm is, based on the size of the input (time complexity), and/or developing a
More informationThe Ins and Outs of %IF
Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple
More information6 Stephanie Well. It s six, because there s six towers.
Page: 1 of 10 1 R1 So when we divided by two all this stuff this is the row we ended up with. 2 Stephanie Um hm. 3 R1 Isn t that right? We had a row of six. Alright. Now before doing it see if you can
More information6.830 Lecture PS1 Due Next Time (Tuesday!) Lab 1 Out end of week start early!
6.830 Lecture 3 9.13.2017 PS1 Due Next Time (Tuesday!) Lab 1 Out end of week start early! Relational Model Continued, and Schema Design and Normalization Animals(name,age,species,cageno,keptby,feedtime)
More informationCS1102: Adding Error Checking to Macros
CS1102: Adding Error Checking to Macros Kathi Fisler, WPI October 8, 2004 1 Typos in State Machines The point of creating macros for state machines is to hide language details from the programmer. Ideally,
More information1 One-Time Pad. 1.1 One-Time Pad Definition
1 One-Time Pad Secure communication is the act of conveying information from a sender to a receiver, while simultaneously hiding it from everyone else Secure communication is the oldest application of
More informationFocus Group Analysis
Focus Group Analysis Contents FOCUS GROUP ANALYSIS... 1 HOW CAN MAXQDA SUPPORT FOCUS GROUP ANALYSIS?... 1 IMPORTING FOCUS GROUP TRANSCRIPTS... 1 TRANFORMING AN ALREADY IMPORTED TEXT INTO A FOCUS GROUP
More information3.4 Data-Centric workflow
3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load
More information3.3 Hardware Karnaugh Maps
2P P = P = 3.3 Hardware UIntroduction A Karnaugh map is a graphical method of Boolean logic expression reduction. A Boolean expression can be reduced to its simplest form through the 4 simple steps involved
More informationCITS5501 Software Testing and Quality Assurance Formal methods
CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005
More informationControl Structures. Code can be purely arithmetic assignments. At some point we will need some kind of control or decision making process to occur
Control Structures Code can be purely arithmetic assignments At some point we will need some kind of control or decision making process to occur C uses the if keyword as part of it s control structure
More information15/16 CSY2041 Quality and User-Centred Systems
15/16 CSY2041 Quality and User-Centred Systems INTERACTION DESIGN 1 Heuristic evaluation and walkthroughs 2 1 Aims: Describe the key concepts associated with inspection methods. Explain how to do heuristic
More informationExcel programmers develop two basic types of spreadsheets: spreadsheets
Bonus Chapter 1 Creating Excel Applications for Others In This Chapter Developing spreadsheets for yourself and for other people Knowing what makes a good spreadsheet application Using guidelines for developing
More informationCMSC 341 Hashing (Continued) Based on slides from previous iterations of this course
CMSC 341 Hashing (Continued) Based on slides from previous iterations of this course Today s Topics Review Uses and motivations of hash tables Major concerns with hash tables Properties Hash function Hash
More informationUsing Templates Created by the SAS/STAT Procedures
Paper 081-29 Using Templates Created by the SAS/STAT Procedures Yanhong Huang, Ph.D. UMDNJ, Newark, NJ Jianming He, Solucient, LLC., Berkeley Heights, NJ ABSTRACT SAS procedures provide a large quantity
More informationSDTM Automation with Standard CRF Pages Taylor Markway, SCRI Development Innovations, Carrboro, NC
PharmaSUG 2016 - Paper PO21 SDTM Automation with Standard CRF Pages Taylor Markway, SCRI Development Innovations, Carrboro, NC ABSTRACT Much has been written about automatically creating outputs for the
More informationSPRITES Moving Two At the Same Using Game State
If you recall our collision detection lesson, you ll likely remember that you couldn t move both sprites at the same time unless you hit a movement key for each at exactly the same time. Why was that?
More informationHeuristic Evaluation of meetchewthere
Heuristic Evaluation of meetchewthere Evaluator #A: Cameron Gilbert Evaluator #B: Jade Huang Evaluator #C: Tuan Nguyen (Your TA will remove your names before the document is given to the project team.
More informationMacros I Use Every Day (And You Can, Too!)
Paper 2500-2018 Macros I Use Every Day (And You Can, Too!) Joe DeShon ABSTRACT SAS macros are a powerful tool which can be used in all stages of SAS program development. Like most programmers, I have collected
More informationFormatting documents for NVivo, in Word 2007
Formatting documents for NVivo, in Word 2007 Text in an NVivo document can incorporate most of the familiar richness of appearance that word processors provide, such as changes in font type, size and style,
More information