PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION

Size: px
Start display at page:

Download "PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION"

Transcription

1 PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION Alan Dickson - Consultant Introduction: Is this scenario at all familiar to you? Your users want a report with multiple levels of subtotals and grand totals - BUT they don t need the lowest level of detail and/or they want some wrinkle (such as calculated values on the subtotal lines) that good old PROC PRINT can t provide. Furthermore, they want the final report in a certain sequence that bears no resemblance to any collating sequence (EBCDIC, ASCII, ascending/descending ) that you have available. As PROC REPORT matures, it will perhaps address all these problems, but another viable approach is to use PROC SUMMARY to tackle the totaling end and PROC FORMAT to address the order. How can FORMAT be used to effectively sort a dataset? Well, of course it can t, but one of the beauties of SUMMARY is that the CLASS statement does not require sorted input to do its stuff. Essentially, the technique involves what could be called a 2-phase format. The steps are: 1)- Use FORMAT to superimpose your own simple sequence over the user s requirements for grouping and ordering. 2)- Use SUMMARY to generate the appropriate totals. 3)- Use FORMAT in conjunction with PROC PRINT or DATA-step reporting techniques to produce the report, substituting the user s values back over your interim values. If you use a DATA step, you can also address any subtotal calculation needs. Consider this example: PROC FORMAT; VALUE IN_AGE = = = = = = 6 ; VALUE $OUT_AGE 1 = = = = = = ; Here, the general trend of increased age equating to poorer health and thus to greater risk is distorted by one group, including the very young (infant illnesses) and young adults (wild & crazy lifestyles). It is a straightforward task to summarize the data based on the intermediate, grouped values, and then report them with the for-show-only values of the second format Clearly, it would be difficult, if not impossible, to reproduce this kind of user sequence without using some kind of recoding. However, while the technique outlined above solves many problems, it should not be applied without careful consideration. Since an entire DATA step pass of the data is required to set up the interim values, the cost could be substantial for large files. Of course, if you are already passing the data for other reasons, this setup can turn out to be almost a free ride. Regular use of this technique has made me a life-long fan, but a cautious one. The degree of control it gives you is impressive, but there are a few pitfalls for the unwary. The remainder of this paper will walk you through an example which will show how to apply the technique, what PROC SUMMARY can do for you, and what it can sometimes do TO you. The Demonstration Data (See Figure 1) This is a handful of selected records from a fictitious database of participants in a weight-loss clinic in New England which draws its clientele from the Northeast and Canada. Each individual has an indicator (Y/N) for each of the three programs (exercise, weights, aerobics) and the number of pounds lost on each.

2 Note that, while the combination of an N-flag and a non-zero loss is invalid, a Y-flag with no attendant loss is valid. A participant may be merely toning up, for instance. The males and females are banded by initial weight into the appropriate weight class for their sex, using the PUT function. The generated variable is associated with the output format for printing. The Basic SUMMARY First, we run a simple SUMMARY, using the NWAY option to suppress all subtotal and grand total records. Later, we ll look at the output when all records are included. For now, we will use the SUM= option on the analysis variables. This allows us to keep the same variable names and would also retain any LABEL or FORMAT attributes associated with the analysis variables. However, to protect you from overflow, SAS will always use a length of 8 for the summed variables. As always, SUMMARY generates the special variables _TYPE_ and _FREQ_. We will cover _TYPE_ in more depth later. _FREQ_ is simply a count of the observations included in each CLASS cell. PROC SUMMARY CLASS SEX COUNTRY STATE; OUTPUT OUT=TEST1 SUM=; PROC VAR PRINT; SEX COUNTRY STATE _FREQ_ EXERLOSS WEITLOSS AEROLOSS; Due to space constraints, the output is not shown but the resulting report, containing the summed totals for each loss variable, is ordered as expected - alphabetically by STATE within COUNTRY within SEX. PROC SUMMARY also has options for different orders. For example, adding ORDER=FREQ to the PROC statement orders the output based on frequency of occurrence. However, close examination of the results shows that the Female Canadians from the Province of Quebec (F/CN/PQ) come out after the sole lady from Ontario (Figure 2). What is happening here? It seems that SAS remembers the Male from Ontario and takes him into account when processing the Females. Since there are now two each from PQ and ON, and ON was encountered first, it remains first in the Female category, leading to the unexpected output. Similarly, if you try ORDER=DATA, SUMMARY will order the output based strictly on the order in which it encounters values in the input dataset, with similar nonintuitive results in the output. Because ON is encountered first in the Male group, it remains first in the Female group, despite the fact that there is a PQ Female before the ON Female in the data. Clearly, these unexpected results are dependent on the actual data. You could run a job several times using these options and then suddenly start running into problems when you least expect it. It should be noted that these results were obtained under CMS Version 6.09E and Win95 Version Other operating systems environments have produced different results in the past. Caveat emptor! The underlying reason for these results is that SUMMARY is evaluating the dataset in its entirety relative to the CLASS statement. You can cause it to treat categories in isolation by using the BY statement instead at the highest level or levels. This, of course, requires either that you know your data is sorted or you incur the cost of sorting it. In our example, based on our knowledge of the data, we could use a BY SEX NOTSORTED; statement to cause SUMMARY to deal with the two groups independently of each other. This will also result in less memory being used since SAS can essentially re-use the space when the SEX changes rather than holding all combinations separate for the entire step. An even more surprising result (at least it was to me) occurs when we add our derived, formatted variable WT_CLASS to the CLASS breakdown. Obviously, with so few observations, the results are pretty meaningless, but look closely at the data values when we run this program (Figure 3): PROC SUMMARY CLASS SEX COUNTRY STATE WT_CLASS; OUTPUT OUT=TEST1 SUM=; PROC PRINT; VAR SEX COUNTRY STATE WT_CLASS _FREQ_ EXERLOSS WEITLOSS AEROLOSS; FORMAT WT_CLASS $CHAR1.; Without the final FORMAT statement, everything actually looked fine. However, when we examine the underlying data values, we find that there are no WT_CLASS 6 values any more - in fact, they ve all been turned into value 3. Why?? The first time I encountered this phenomenon, I called SAS Institute to report it as a bug. I was politely in-

3 formed that SUMMARY is supposed to work this way and is furthermore fully documented on page 376 of the Version 6 Procedures manual. Essentially, because both values 3 and 6 are formatted to , SUMMARY will force them all to 3. Again, using a BY SEX NOTSORTED; statement will eliminate this effect since only Females can be 3. However, if BY is not an option for you, it s best to be aware of this subtle possibility. The ID and MAXID Statements Although not directly related to the technique of combining formats with SUMMARY, the ID statement can sometimes prove useful when using SUMMARY. ID gives you the highest value encountered for a variable in each cell. This often overlooked option is helpful when you want to carry a value from the detail records forward to the summarized output dataset. It is most applicable when the value remains the same across all detail records in each CLASS cell. For example, if you had hospital identifier codes and hospital names on the detail data and you wanted to summarize admissions or anything else by hospital and produce the report in code order, but also show the name on the report, ID fits the bill perfectly. PROC SUMMARY- DATA=HOSP.DATA NWAY; CLASS HOSPCODE; ID VAR HOSPNAME; ADMISSNS; etc If the variable you want to carry forward is a numeric variable, another option is to use the MAX statistic on that variable. However, you can only request statistics on analysis variables, which by definition must be numeric. Hospital name is clearly alphabetic. I have frequently seen hospital name used as a final CLASS variable to achieve this result, but that causes a lot of redundant summarization. To return to the weight-loss example, let s say that you wanted to produce a report showing total weight losses for each program on a separate line along with the indicators to show participation in a given cell. Simply ignoring zero values for the losses may be invalid (remember the guy just toning up). Unfortunately, this code will NOT work. PROC CLASS SUMMARY SEX COUNTRY STATE; ID EXER WEIT AERO; OUTPUT OUT=TEST1 SUM=; etc As the manual makes quite clear, when more than 1 ID variable is specified, the result represents the highest SINGLE OBSERVATION combination of values within each cell. In the test data, the Males in MA give a result of YYN - not YYY - because no single Male participated in all three programs, although all three had some MA Male participation. In Version 5, there was no easy way around this, short of generating numeric flag variables to replace the Y/N flags and taking the MAX. However, Version 6 added the MAXID (and MINID) statements which address this need. Essentially, MAXID returns the value of a partner variable when the other partner reaches its maximum value within a cell. MINID, obviously, returns the minimum. PROC SUMMARY CLASS SEX COUNTRY STATE; OUTPUT OUT=TEST1 SUM= MAXID( EXERLOSS(EXER) WEITLOSS(WEIT) AEROLOSS(AERO) )= MAX_EXER MAX_WEIT MAX_AERO; etc. This code will now give us the desired result of YYY for MA Males. Finally, let s look at the output from SUMMARY when we remove the NWAY option and all the intermediate level totals are produced. This is when the _TYPE_ special variable really comes into play. The number of values which _TYPE_ will take is a function of the number of variables in the CLASS statement - in fact, 2 raised to that power. So, in our example of CLASS SEX COUNTRY STATE;, _TYPE_ will have 8 values (2 cubed) ranging from 0 to 7. The _TYPE_ 0 record is always the grand total, representing all observations and so is always a single observations. The number of observations generated for each other _TYPE_ value depends on how many discrete combinations occur in the dataset.

4 Refer to the final output (Figure 4) as we walk through the rest of the _TYPE_s and you should see how SUMMARY builds them. Essentially, SAS moves from right to left along the CLASS statement in a binary fashion, getting progressively more detailed in the contents of each cell. So, _TYPE_ 1 represents a STATE breakdown, irrespective of SEX and COUNTRY. _TYPE_ 2 represents a COUNTRY breakdown, irrespective of SEX and STATE. _TYPE_ 3 represents a COUNTRY and STATE break down, irrespective of SEX. _TYPE_ 4 represents a SEX breakdown, irrespective of COUNTRY and STATE. _TYPE_ 5 represents a SEX and STATE breakdown, irrespective of COUNTRY. _TYPE_ 6 represents a SEX and COUNTRY breakdown, irrespective of STATE. _TYPE_ 7 represents a SEX, COUNTRY and STATE breakdown, the finest level of detail possible with this CLASS statement. Within each _TYPE_ value, the total of the _FREQ_ values adds up to that of the grand total, i.e. the whole dataset is counted in each _TYPE_. There is a good diagram in the V6 Procedures manual (p.377) which outlines how the _TYPE_s are built up in this binary fashion. However, it is helpful if you note that the diagram works up to the results of the statement CLASS C B A rather than CLASS A B C which you might be tempted to assume. With 3 CLASS variables, it is quite possible that the user will find all combinations valid and meaningful. With only 2, it s almost certain. However, when you move up to 4 or 5 CLASS variables (16 or 32 combinations), some of them are bound to be redundant or meaningless. Two solutions are possible at this point. The first is to let SUMMARY generate them all, and then discard the unwanted ones based on their _TYPE_ values. One way to do this would be a WHERE= dataset option on the output dataset. The second is to run an NWAY SUMMARY on the finest level of detail required and then subsequent SUMMARY step(s) on the resulting dataset. This may be one more non-nway step, or you could repeat the process of NWAY steps at increasingly higher levels of totaling. Finally, SET all the resulting datasets together to give you the master data for printing. As usual, the choice depends on your particular data and application but, in general, the first option will use more space (at least until you discard), while the second will use more CPU (multiple steps). I hope this brief explanation has given you some new insight into using SUMMARY and another valuable addition to your SAS toolkit. Acknowledgments: SAS is a registered trademark of SAS Institute Inc., Cary NC, USA.

5 Figure 1: E X H I B I T S PROC FORMAT LIBRARY=LIBRARY; VALUE FWT_FMT = = = HIGH = 4 ; VALUE MWT_FMT = = = HIGH = 8 ; VALUE $WT_FMT 1 = = = = = = = = 250+ ; *** FEMALE WEIGHT CLASSES MALE WEIGHT CLASSES ***; DATA TEST.DATA; LENGTH SEX $ 1 COUNTRY $ 2 STATE $ 2 WT 3 WT_CLASS $ 1 EXER $ 1 EXERLOSS 2 WEIT $ 1 WEITLOSS 2 AERO $ 1 AEROLOSS 2; LABEL WT_CLASS = WEIGHT CLASS ; FORMAT WT_CLASS $WT_FMT.; INPUT SEX $ COUNTRY $ STATE $ WT EXER $ EXERLOSS WEIT $ WEITLOSS AERO $ AEROLOSS; IF SEX = F THEN WT_CLASS = PUT(WT,FWT_FMT.); ELSE WT_CLASS = PUT(WT,MWT_FMT.); CARDS; M US MA 148 Y 03 Y 00 N 00 M US MA 195 N 00 Y 12 N 00 M US MA 262 Y 11 N 00 N 00 M US MA 172 Y 08 N 00 Y 05 M US MA 211 N 00 Y 16 Y 05 M CN ON 188 Y 08 N 00 N 00 M CN PE 222 Y 07 Y 07 Y 07 F CN PQ 202 Y 11 N 00 Y 11 F CN ON 177 N 00 N 00 Y 09 F CN PQ 169 Y 10 N 00 Y 04 F US MA 210 N 00 N 00 Y 08 F US MA 081 Y 02 N 00 Y 03 F US MA 111 Y 02 N 00 Y 02 ; PROC PRINT; VAR SEX COUNTRY STATE WT WT_CLASS EXER EXERLOSS WEIT WEITLOSS AERO AEROLOSS; TITLE PRINT OF RAW INPUT DATA - FORMATTED WEIGHT CLASS ; PROC PRINT; VAR SEX COUNTRY STATE WT WT_CLASS EXER EXERLOSS WEIT WEITLOSS AERO AEROLOSS; FORMAT WT_CLASS $CHAR1.; TITLE PRINT OF RAW INPUT DATA - UNFORMATTED WEIGHT CLASS ;

6 PRINT OF RAW INPUT DATA - FORMATTED WEIGHT CLASS OBS SEX COUNTRY STATE WT WT_CLASS EXER EXERLOSS WEIT WEITLOSS AERO AEROLOSS 1 M US MA Y 3 Y 0 N 0 2 M US MA N 0 Y 12 N 0 3 M US MA Y 11 N 0 N 0 4 M US MA Y 8 N 0 Y 5 5 M US MA N 0 Y 16 Y 5 6 M CN ON Y 8 N 0 N 0 7 M CN PE Y 7 Y 7 Y 7 8 F CN PQ Y 11 N 0 Y 11 9 F CN ON N 0 N 0 Y 9 10 F CN PQ Y 10 N 0 Y 4 11 F US MA N 0 N 0 Y 8 12 F US MA Y 2 N 0 Y 3 13 F US MA Y 2 N 0 Y 2 PRINT OF RAW INPUT DATA - UNFORMATTED WEIGHT CLASS OBS SEX COUNTRY STATE WT WT_CLASS EXER EXERLOSS WEIT WEITLOSS AERO AEROLOSS 1 M US MA Y 3 Y 0 N 0 2 M US MA N 0 Y 12 N 0 3 M US MA Y 11 N 0 N 0 4 M US MA Y 8 N 0 Y 5 5 M US MA N 0 Y 16 Y 5 6 M CN ON Y 8 N 0 N 0 7 M CN PE Y 7 Y 7 Y 7 8 F CN PQ Y 11 N 0 Y 11 9 F CN ON N 0 N 0 Y 9 10 F CN PQ Y 10 N 0 Y 4 11 F US MA N 0 N 0 Y 8 12 F US MA 81 1 Y 2 N 0 Y 3 13 F US MA Y 2 N 0 Y 2 Figure 2: PRINT OF SUMMARY DATA - FREQUENCY ORDERING OBS SEX COUNTRY STATE _FREQ_ EXERLOSS WEITLOSS AEROLOSS 1 M US MA M CN ON M CN PE F US MA F CN ON F CN PQ

7 Figure 3: PRINT OF SUMMARY DATA - UNFORMATTED WEIGHT CLASS OBS SEX COUNTRY STATE WT_CLASS _FREQ_ EXERLOSS WEITLOSS AEROLOSS 1 F CN ON F CN PQ F CN PQ F US MA F US MA F US MA M CN ON M CN PE M US MA M US MA M US MA M US MA Figure 4: PRINT OF SUMMARY DATA - NO NWAY - ALL SUMMARIES OBS _TYPE_ SEX COUNTRY STATE _FREQ_ EXERLOSS WEITLOSS AEROLOSS MA ON PE PQ CN US CN ON CN PE CN PQ US MA F M F MA F ON F PQ M MA M ON M PE F CN F US M CN M US F CN ON F CN PQ F US MA M CN ON M CN PE M US MA

Divisibility Rules and Their Explanations

Divisibility Rules and Their Explanations Divisibility Rules and Their Explanations Increase Your Number Sense These divisibility rules apply to determining the divisibility of a positive integer (1, 2, 3, ) by another positive integer or 0 (although

More information

lecture notes September 2, How to sort?

lecture notes September 2, How to sort? .30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or

More information

Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE

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

More information

PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need

PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need ABSTRACT Paper PO 133 PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need Imelda C. Go, South Carolina Department of Education, Columbia,

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

WORKSHOP: Using the Health Survey for England, 2014

WORKSHOP: Using the Health Survey for England, 2014 WORKSHOP: Using the Health Survey for England, 2014 There are three sections to this workshop, each with a separate worksheet. The worksheets are designed to be accessible to those who have no prior experience

More information

Format-o-matic: Using Formats To Merge Data From Multiple Sources

Format-o-matic: Using Formats To Merge Data From Multiple Sources SESUG Paper 134-2017 Format-o-matic: Using Formats To Merge Data From Multiple Sources Marcus Maher, Ipsos Public Affairs; Joe Matise, NORC at the University of Chicago ABSTRACT User-defined formats are

More information

HASH Beyond Lookups Your Code Will Never Be the Same!

HASH Beyond Lookups Your Code Will Never Be the Same! ABSTRACT SESUG Paper 68-2017 HASH Beyond Lookups Your Code Will Never Be the Same! Elizabeth Axelrod, Abt Associates Inc. If you ve ever used the hash object for table lookups, you re probably already

More information

MicroSurvey Users: How to Report a Bug

MicroSurvey Users: How to Report a Bug MicroSurvey Users: How to Report a Bug Step 1: Categorize the Issue If you encounter a problem, as a first step it is important to categorize the issue as either: A Product Knowledge or Training issue:

More information

The Problem With NODUPLICATES, Continued

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

More information

Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA

Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA ABSTRACT PharmaSUG 2013 - Paper TF22 Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA The merge is

More information

The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software

The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software Andrew H. Karp Sierra Information Services, Inc. Sonoma, California USA Gary M. McQuown Data and Analytic

More information

Multiple Facts about Multilabel Formats

Multiple Facts about Multilabel Formats Multiple Facts about Multilabel Formats Gwen D. Babcock, ew York State Department of Health, Troy, Y ABSTRACT PROC FORMAT is a powerful procedure which allows the viewing and summarizing of data in various

More information

Advanced Excel Skills

Advanced Excel Skills Advanced Excel Skills Note : This tutorial is based upon MSExcel 2000. If you are using MSExcel 2002, there may be some operations which look slightly different (e.g. pivot tables), but the same principles

More information

Parallel prefix scan

Parallel prefix scan Parallel prefix scan Now we consider a slightly different problem: Given an array , we want to compute the sum of every possible prefix of the array:

More information

SAS Training Spring 2006

SAS Training Spring 2006 SAS Training Spring 2006 Coxe/Maner/Aiken Introduction to SAS: This is what SAS looks like when you first open it: There is a Log window on top; this will let you know what SAS is doing and if SAS encountered

More information

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval Epidemiology 9509 Principles of Biostatistics Chapter 3 John Koval Department of Epidemiology and Biostatistics University of Western Ontario What we will do today We will learn to use use SAS to 1. read

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

Signed umbers. Sign/Magnitude otation

Signed umbers. Sign/Magnitude otation Signed umbers So far we have discussed unsigned number representations. In particular, we have looked at the binary number system and shorthand methods in representing binary codes. With m binary digits,

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

PROC REPORT Basics: Getting Started with the Primary Statements

PROC REPORT Basics: Getting Started with the Primary Statements Paper HOW07 PROC REPORT Basics: Getting Started with the Primary Statements Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT The presentation of data is an essential

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim:

We will show that the height of a RB tree on n vertices is approximately 2*log n. In class I presented a simple structural proof of this claim: We have seen that the insert operation on a RB takes an amount of time proportional to the number of the levels of the tree (since the additional operations required to do any rebalancing require constant

More information

Lecture Notes on Memory Layout

Lecture Notes on Memory Layout Lecture Notes on Memory Layout 15-122: Principles of Imperative Computation Frank Pfenning André Platzer Lecture 11 1 Introduction In order to understand how programs work, we can consider the functions,

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications

More information

Lecture 3: Linear Classification

Lecture 3: Linear Classification Lecture 3: Linear Classification Roger Grosse 1 Introduction Last week, we saw an example of a learning task called regression. There, the goal was to predict a scalar-valued target from a set of features.

More information

Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization

Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization Summarizing Impossibly Large SAS Data Sets For the Data Warehouse Server Using Horizontal Summarization Michael A. Raithel, Raithel Consulting Services Abstract Data warehouse applications thrive on pre-summarized

More information

SAS Viewer giving way to Universal Viewer Steve Wright, Quintiles, RTP, NC

SAS Viewer giving way to Universal Viewer Steve Wright, Quintiles, RTP, NC Paper PO09-2009 SAS Viewer giving way to Universal Viewer Steve Wright, Quintiles, RTP, NC ABSTRACT: The SAS Viewer tool has been a useful, free, but somewhat limited tool provided by SAS for a long time.

More information

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide SAS447-2017 Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide ABSTRACT Joe Flynn, SAS Institute Inc. Have you ever run SAS code with a DATA step and the results are

More information

Exercises: Instructions and Advice

Exercises: Instructions and Advice Instructions Exercises: Instructions and Advice The exercises in this course are primarily practical programming tasks that are designed to help the student master the intellectual content of the subjects

More information

Macros I Use Every Day (And You Can, Too!)

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

Best Practice for Creation and Maintenance of a SAS Infrastructure

Best Practice for Creation and Maintenance of a SAS Infrastructure Paper 2501-2015 Best Practice for Creation and Maintenance of a SAS Infrastructure Paul Thomas, ASUP Ltd. ABSTRACT The advantage of using metadata to control and maintain data and access to data on databases,

More information

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5 C++ Data Types Contents 1 Simple C++ Data Types 2 2 Quick Note About Representations 3 3 Numeric Types 4 3.1 Integers (whole numbers)............................................ 4 3.2 Decimal Numbers.................................................

More information

Can you decipher the code? If you can, maybe you can break it. Jay Iyengar, Data Systems Consultants LLC, Oak Brook, IL

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

Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems

Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems Number Systems Using and Converting Between Decimal, Binary, Octal and Hexadecimal Number Systems In everyday life, we humans most often count using decimal or base-10 numbers. In computer science, it

More information

Tips & Techniques with PROC MEANS

Tips & Techniques with PROC MEANS Tips & Techniques with PROC MEANS Andrew H. Karp Sierra Information Services, Inc. Sonoma, California USA PROC MEANS (and its "sister," PROC SUMMARY) have been BASE SAS Software procedures for a long time.

More information

Check off these skills when you feel that you have mastered them.

Check off these skills when you feel that you have mastered them. Chapter Objectives Check off these skills when you feel that you have mastered them. Understand the purpose of a check digit and be able to determine one for various schemes. Given an identification number

More information

PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo

PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo PROC FORMAT CMS SAS User Group Conference October 31, 2007 Dan Waldo 1 Today s topic: Three uses of formats 1. To improve the user-friendliness of printed results 2. To group like data values without affecting

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

An Introduction to Compressing Data Sets J. Meimei Ma, Quintiles

An Introduction to Compressing Data Sets J. Meimei Ma, Quintiles An Introduction to Compressing Data Sets J. Meimei Ma, Quintiles r:, INTRODUCTION This tutorial introduces compressed data sets. The SAS system compression algorithm is described along with basic syntax.

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

Introduction to Programming

Introduction to Programming CHAPTER 1 Introduction to Programming Begin at the beginning, and go on till you come to the end: then stop. This method of telling a story is as good today as it was when the King of Hearts prescribed

More information

Data organization. So what kind of data did we collect?

Data organization. So what kind of data did we collect? Data organization Suppose we go out and collect some data. What do we do with it? First we need to figure out what kind of data we have. To illustrate, let s do a simple experiment and collect the height

More information

Indenting with Style

Indenting with Style ABSTRACT Indenting with Style Bill Coar, Axio Research, Seattle, WA Within the pharmaceutical industry, many SAS programmers rely heavily on Proc Report. While it is used extensively for summary tables

More information

Imelda C. Go, South Carolina Department of Education, Columbia, SC

Imelda C. Go, South Carolina Department of Education, Columbia, SC PO 082 Rounding in SAS : Preventing Numeric Representation Problems Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT As SAS programmers, we come from a variety of backgrounds.

More information

Functional abstraction. What is abstraction? Eating apples. Readings: HtDP, sections Language level: Intermediate Student With Lambda

Functional abstraction. What is abstraction? Eating apples. Readings: HtDP, sections Language level: Intermediate Student With Lambda Functional abstraction Readings: HtDP, sections 19-24. Language level: Intermediate Student With Lambda different order used in lecture section 24 material introduced much earlier sections 22, 23 not covered

More information

Functional abstraction

Functional abstraction Functional abstraction Readings: HtDP, sections 19-24. Language level: Intermediate Student With Lambda different order used in lecture section 24 material introduced much earlier sections 22, 23 not covered

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

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

This book is about using Visual Basic for Applications (VBA), which is a

This book is about using Visual Basic for Applications (VBA), which is a In This Chapter Describing Access Discovering VBA Seeing where VBA lurks Understanding how VBA works Chapter 1 Where VBA Fits In This book is about using Visual Basic for Applications (VBA), which is a

More information

Don t Get Blindsided by PROC COMPARE Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Roger Muller, Data-to-Events.

Don t Get Blindsided by PROC COMPARE Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Roger Muller, Data-to-Events. ABSTRACT Paper RF-11-2013 Don t Get Blindsided by PROC COMPARE Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Roger Muller, Data-to-Events.com, Carmel, IN "" That message is the holy grail for

More information

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT PRIMER FOR ACS OUTCOMES RESEARCH COURSE: TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT STEP 1: Install STATA statistical software. STEP 2: Read through this primer and complete the

More information

Parallel scan. Here's an interesting alternative implementation that avoids the second loop.

Parallel scan. Here's an interesting alternative implementation that avoids the second loop. Parallel scan Summing the elements of an n-element array takes O(n) time on a single processor. Thus, we'd hope to find an algorithm for a p-processor system that takes O(n / p) time. In this section,

More information

Depending on the computer you find yourself in front of, here s what you ll need to do to open SPSS.

Depending on the computer you find yourself in front of, here s what you ll need to do to open SPSS. 1 SPSS 11.5 for Windows Introductory Assignment Material covered: Opening an existing SPSS data file, creating new data files, generating frequency distributions and descriptive statistics, obtaining printouts

More information

Lecture 7: Primitive Recursion is Turing Computable. Michael Beeson

Lecture 7: Primitive Recursion is Turing Computable. Michael Beeson Lecture 7: Primitive Recursion is Turing Computable Michael Beeson Closure under composition Let f and g be Turing computable. Let h(x) = f(g(x)). Then h is Turing computable. Similarly if h(x) = f(g 1

More information

Omitting Records with Invalid Default Values

Omitting Records with Invalid Default Values Paper 7720-2016 Omitting Records with Invalid Default Values Lily Yu, Statistics Collaborative Inc. ABSTRACT Many databases include default values that are set inappropriately. These default values may

More information

BIOSTATISTICS LABORATORY PART 1: INTRODUCTION TO DATA ANALYIS WITH STATA: EXPLORING AND SUMMARIZING DATA

BIOSTATISTICS LABORATORY PART 1: INTRODUCTION TO DATA ANALYIS WITH STATA: EXPLORING AND SUMMARIZING DATA BIOSTATISTICS LABORATORY PART 1: INTRODUCTION TO DATA ANALYIS WITH STATA: EXPLORING AND SUMMARIZING DATA Learning objectives: Getting data ready for analysis: 1) Learn several methods of exploring the

More information

I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be

I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be talking about how we hold and interact our mobile devices

More information

Ackworth Howard Church of England (VC) Junior and Infant School. Child-friendly GDPR privacy notice

Ackworth Howard Church of England (VC) Junior and Infant School. Child-friendly GDPR privacy notice Child-friendly GDPR privacy notice Child-friendly GDPR privacy notice What s this about? A new law has been made that keeps your information safe things like your address, date of birth and phone number.

More information

Let s get started with the module Getting Data from Existing Sources.

Let s get started with the module Getting Data from Existing Sources. Welcome to Data Academy. Data Academy is a series of online training modules to help Ryan White Grantees be more proficient in collecting, storing, and sharing their data. Let s get started with the module

More information

Table of Contents. 1. Cover Page 2. Quote 3. Calculated Fields 4. Show Values As 5. Multiple Data Values 6. Enroll Today!

Table of Contents. 1. Cover Page 2. Quote 3. Calculated Fields 4. Show Values As 5. Multiple Data Values 6. Enroll Today! Table of Contents 1. Cover Page 2. Quote 3. Calculated Fields 4. Show Values As 5. Multiple Data Values 6. Enroll Today! "It is Kind Of fun to do the IMPOSSIBLE" Walt Disney Calculated Fields The purpose

More information

Grouping and Sorting

Grouping and Sorting 1 Content... 2 2 Introduction... 2 3 Grouping data... 3 4 How to create reports with grouped data... 5 4.1 Simple Group Example... 5 4.2 Group example with Group Name Field... 8 4.3 Group example with

More information

Are You Missing Out? Working with Missing Values to Make the Most of What is not There

Are You Missing Out? Working with Missing Values to Make the Most of What is not There Are You Missing Out? Working with Missing Values to Make the Most of What is not There Arthur L. Carpenter, California Occidental Consultants ABSTRACT Everyone uses and works with missing values, however

More information

This is a book about using Visual Basic for Applications (VBA), which is a

This is a book about using Visual Basic for Applications (VBA), which is a 01b_574116 ch01.qxd 7/27/04 9:04 PM Page 9 Chapter 1 Where VBA Fits In In This Chapter Describing Access Discovering VBA Seeing where VBA lurks Understanding how VBA works This is a book about using Visual

More information

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

More information

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide STEPS Epi Info Training Guide Department of Chronic Diseases and Health Promotion World Health Organization 20 Avenue Appia, 1211 Geneva 27, Switzerland For further information: www.who.int/chp/steps WHO

More information

Want to Do a Better Job? - Select Appropriate Statistical Analysis in Healthcare Research

Want to Do a Better Job? - Select Appropriate Statistical Analysis in Healthcare Research Want to Do a Better Job? - Select Appropriate Statistical Analysis in Healthcare Research Liping Huang, Center for Home Care Policy and Research, Visiting Nurse Service of New York, NY, NY ABSTRACT The

More information

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility PharmaSUG2011 Paper TT12 Creating Forest Plots Using SAS/GRAPH and the Annotate Facility Amanda Tweed, Millennium: The Takeda Oncology Company, Cambridge, MA ABSTRACT Forest plots have become common in

More information

Computer Science 210 Data Structures Siena College Fall Topic Notes: Priority Queues and Heaps

Computer Science 210 Data Structures Siena College Fall Topic Notes: Priority Queues and Heaps Computer Science 0 Data Structures Siena College Fall 08 Topic Notes: Priority Queues and Heaps Heaps and Priority Queues From here, we will look at some ways that trees are used in other structures. First,

More information

Using Templates Created by the SAS/STAT Procedures

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

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

Quality Control of Clinical Data Listings with Proc Compare

Quality Control of Clinical Data Listings with Proc Compare ABSTRACT Quality Control of Clinical Data Listings with Proc Compare Robert Bikwemu, Pharmapace, Inc., San Diego, CA Nicole Wallstedt, Pharmapace, Inc., San Diego, CA Checking clinical data listings with

More information

JMC 2015 Teacher s notes Recap table

JMC 2015 Teacher s notes Recap table JMC 2015 Teacher s notes Recap table JMC 2015 1 Number / Adding and subtracting integers Number / Negative numbers JMC 2015 2 Measuring / Time units JMC 2015 3 Number / Estimating Number / Properties of

More information

5.5 Complex Fractions

5.5 Complex Fractions 5.5 Complex Fractions At this point, right after we cover all the basic operations, we would usually turn our attention to solving equations. However, there is one other type of rational expression that

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

Counting daily bridge users

Counting daily bridge users Counting daily bridge users Karsten Loesing karsten@torproject.org Tor Tech Report 212-1-1 October 24, 212 Abstract As part of the Tor Metrics Project, we want to learn how many people use the Tor network

More information

using and Understanding Formats

using and Understanding Formats using and Understanding SAS@ Formats Howard Levine, DynaMark, Inc. Oblectives The purpose of this paper is to enable you to use SAS formats to perform the following tasks more effectively: Improving the

More information

How & Why We Subnet Lab Workbook

How & Why We Subnet Lab Workbook i How & Why We Subnet Lab Workbook ii CertificationKits.com How & Why We Subnet Workbook Copyright 2013 CertificationKits LLC All rights reserved. No part of this book maybe be reproduced or transmitted

More information

Excel Shortcuts Increasing YOUR Productivity

Excel Shortcuts Increasing YOUR Productivity Excel Shortcuts Increasing YOUR Productivity CompuHELP Division of Tommy Harrington Enterprises, Inc. tommy@tommyharrington.com https://www.facebook.com/tommyharringtonextremeexcel Excel Shortcuts Increasing

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

I AlB 1 C 1 D ~~~ I I ; -j-----; ;--i--;--j- ;- j--; AlB

I AlB 1 C 1 D ~~~ I I ; -j-----; ;--i--;--j- ;- j--; AlB PROC TABULATE: CONTROLLNG TABLE APPEARANCE August V. Treff Baltimore City Public Schools Office of Research and Evaluation ABSTRACT Proc Tabulate provides one, two, and three dimensional tables. Tables

More information

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A

Q &A on Entity Relationship Diagrams. What is the Point? 1 Q&A 1 Q&A Q &A on Entity Relationship Diagrams The objective of this lecture is to show you how to construct an Entity Relationship (ER) Diagram. We demonstrate these concepts through an example. To break

More information

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

1. Managing Information in Table

1. Managing Information in Table 1. Managing Information in Table Spreadsheets are great for making lists (such as phone lists, client lists). The researchers discovered that not only was list management the number one spreadsheet activity,

More information

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT

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

Chapter 8: GPS Clustering and Analytics

Chapter 8: GPS Clustering and Analytics Chapter 8: GPS Clustering and Analytics Location information is crucial for analyzing sensor data and health inferences from mobile and wearable devices. For example, let us say you monitored your stress

More information

Exchange Server Troubleshooting Companion

Exchange Server Troubleshooting Companion Page i The Legal Stuff Published by Paul Cunningham and Andrew Higginbotham Copyright 2016 by Paul Cunningham and Andrew Higginbotham All rights reserved. No part of this book may be reproduced or transmitted

More information

Using Development Tools to Examine Webpages

Using Development Tools to Examine Webpages Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found

More information

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture - 04 Introduction to Programming Language Concepts

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 11 Coding Strategies and Introduction to Huffman Coding The Fundamental

More information

Chapter 7 File Access. Chapter Table of Contents

Chapter 7 File Access. Chapter Table of Contents Chapter 7 File Access Chapter Table of Contents OVERVIEW...105 REFERRING TO AN EXTERNAL FILE...105 TypesofExternalFiles...106 READING FROM AN EXTERNAL FILE...107 UsingtheINFILEStatement...107 UsingtheINPUTStatement...108

More information

EXCELLING WITH ANALYSIS AND VISUALIZATION

EXCELLING WITH ANALYSIS AND VISUALIZATION EXCELLING WITH ANALYSIS AND VISUALIZATION A PRACTICAL GUIDE FOR DEALING WITH DATA Prepared by Ann K. Emery July 2016 Ann K. Emery 1 Welcome Hello there! In July 2016, I led two workshops Excel Basics for

More information

National Child Measurement Programme 2017/18. IT System User Guide part 3. Pupil Data Management

National Child Measurement Programme 2017/18. IT System User Guide part 3. Pupil Data Management National Child Measurement Programme 2017/18 IT System User Guide part 3 Pupil Data Management Published September 2017 Version 4.0 Introduction 3 Who Should Read this Guidance? 3 How will this Guidance

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

Chapter 2 The SAS Environment

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

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA Paper DM09 Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA ABSTRACT In this electronic age we live in, we usually receive the detailed specifications from our biostatistician

More information

IF there is a Better Way than IF-THEN

IF there is a Better Way than IF-THEN PharmaSUG 2018 - Paper QT-17 IF there is a Better Way than IF-THEN Bob Tian, Anni Weng, KMK Consulting Inc. ABSTRACT In this paper, the author compares different methods for implementing piecewise constant

More information

/23/2004 TA : Jiyoon Kim. Recitation Note 1

/23/2004 TA : Jiyoon Kim. Recitation Note 1 Recitation Note 1 This is intended to walk you through using STATA in an Athena environment. The computer room of political science dept. has STATA on PC machines. But, knowing how to use it on Athena

More information

SMS VAS USAGE IN INDIA

SMS VAS USAGE IN INDIA With the advent of Smartphones, everyone today is talking about Internet on mobiles, 3G speeds etc. However, SMS, a traditional short message service on mobile, even today is pretty much the most frequently

More information

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via  by Friday, Mar. 18, 2016 Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial

More information

Cache Coherence Tutorial

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