PROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA

Size: px
Start display at page:

Download "PROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA"

Transcription

1 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) that will compute either recursive least squares or rolling regressions i.e., econometric procedures in which the same linear equation is estimated multiple times using either a growing sample or partially overlapping subsamples. This paper shows how a macro subroutine can achieve the desired effect, and discusses possible extensions of this approach. INTRODUCTION Many data explorations and research projects estimate the same basic equation or relationship among variables over multiple date ranges. Rolling regressions are an example of an econometric procedure that belongs to this category. In a rolling regression, least-squares techniques are used to fit a linear equation (and estimate the corresponding coefficients) multiple times using partially overlapping subsamples (from a larger set). This procedure is typically applied to time series data in a manner that keeps the sample length fixed for each estimation step by increasing the beginning and ending dates by the same time or date increment. A related technique that keeps the starting date fixed is known as recursive least squares. In both cases, it is the overlapping sample periods that distinguishes these cases from a case where a particular equation and its regression coefficients are estimated multiple times over distinct (non-overlapping) periods. Unfortunately, SAS does not have a simple option that can added to PROC REG or any of its other model or equation estimation procedures to run rolling regressions (and the related variants, such as recursive least squares). Because of the repetitive nature of the calculations, however, a SAS macro is well suited to the task especially a macro routine that makes use of SAS date values and date functions to define the estimation windows that define each subs ample. SAS macro code (%ROLLINGREG) and full-functioning program are presented below, where a loop nests a PROC REG step with a BY identifier statement. This feature adds a cross-sectional element to the time-series analysis and simplifies the programming of cases that would otherwise require setting up distinct rolling regression for each cross-section of a data set. Both simpler and more complicated equations and models can be handled using the same approach. Most important, the example code saves the estimated coefficients and other results from each subsample to a permanent dataset for further analysis. The example presented below is set up for a fixed 36-month estimation window that increments forward onemonth for each iteration of the loop until it reaches the end of a full sample period. If a 36-month window is not desired, it is relatively easy change the length of the estimation window. The macro also accommodates flexibility in the data frequency, such that dates that cover a day, week or a year can be used. In addition, it is relatively straightforward to allow for different types of overlapping date ranges, such as the type needed for recursive least squares. In sum, the macro subroutine provides a very general and useful starting point for applying rolling regression techniques and the related variants in SAS. ROLLING SAMPLE PERIOD DESIGNS The table below helps to conceptualize the loops and windows for a rolling sample case that uses monthly data that runs from January to December. Here the columns represent each loop or iteration, which defines a particular window or subsample. In this example, each subsample is 3 months in length and the windows move ahead 1 month per loop, such that 10 loops that each cover a different 3 month range are run. 1

2 Fig. 1.0 ROLLING SAMPLE EXAMPLE Loop 1 Loop 2 Loop 3 Loops 4 to 8 Loop 9 Loop 10 Jan Feb Mar Feb Mar Apr Mar Apr May Details not shown Sep Oct Nov Oct Nov Dec It is fairly easy to imagine a case where the full period covers more than one year and where the common periods in two adjacent periods are more than two months in length (such that the inner period is more than one month). In addition, daily data could be used in the design above, where the first date in each subsample is the first day in each month and the last date in each subsample is the last day in the last month. There also are cases where it is both possible and desirable to increment forward more than a one-month or one-period in each loop step, or to keep the first date in each sub sample fixed and have the sample lengths grow in size as the loop progresses. USING DATE VARIABLES IN PROC REG WITH A BY STATEMENT A preliminary example will help in understanding the full example of a rolling regression. Consider a dataset that has both cross-sectional and time-series aspects, and the data structure allows for a BY variable in PROC REG. In particular, assume that the BY variable allows one to use PROC REG and easily estimate OLS coefficients for 2

3 each distinct cross-sectional group (where the variable values identify a person, geographical region, company, or any other group concept). For example, a dataset named DSET1 might have the following structure of rows and columns: ID, DATE Y, X1, X2. In this case, the observations have an explicit cross-sectional identifier (ID). The time-series aspect is the DATE variable that could be daily, monthly, quarterly or annual in frequency. in this example, Y is the dependent variable and X1 and X2 are the potential explanatory variables. Most important, it is assumed that the data is sorted or can be sorted by ID and DATE, such that within each ID block, the observations are in DATE order. The ID dimension in the assumed data format makes SAS a good choice for these types of estimation problems. As long as the data is sorted in ID and DATE order, the PROC REG can be used to estimate coefficients for each ID. proc reg noprint data=dset1 outest=regout1 edf ; where date between 01JAN d and 31DEC2002 d; model y = x1 x2; by id; The code above places the OLS coefficients, R2, and a few other statistics and identifiers for a two-year period in an output dataset (OUTEST=REGOUT1 in this case). Suppose DSET1 has monthly data for 5 ID s, then the results might be as shown in Figure 1.0. Fig. 2.0 PROC REG OUTEST= RESULTS ID DEPVAR RMSE Intercept x1 x2 P EDF RSQ y y y y y The basic task of the rolling regression macro is to change the date range to cover different periods in an iterative or looping fashion and to place (append) the results from each loop in a single dataset that holds the OLS statistics for each identifier and date range. In other words, a statement such as where date between &date1 and &date2 is needed, with the macro routine defining &date1 and &date2 for each window. The macro routine should also accept input arguments that include the input and output data set names, the regression model equation specification, and the identifier variables. ROLLING REGRESSION MACRO To put the ideas above into practice, an outline of a block of macro code is given below: %let date2 = window end point in first loop ; %do %while(&date2 <= &end_date); ** (a) define &date1 as window start date ; ** (b) create data subsample using where date between &date1 and &date2 ; ** (c) use PROC REG on the subsample; ** (d) process and save the results; ** (e) increment date2 forward for the next loop or end the iterations; 3

4 Here %do %while ( ) --- %end starts and controls the loops. Different part of sub-steps inside the loop can be combined or accomplished in a slightly different order, with (b), (c) and (d) defining the data and statistical functions, while substeps (a), (e) and the initial setting of &date2 hold the key to running the correct loops. There are various ways to set date1 and date2, and to handle different types of loops (and thus, handle different types of rolling regressions). In all cases it is important to recognize the inter-relations of the dates and frequencies as displayed in Figure 1 above. My application makes extensive use of the SAS function INTNX that can increment a date forward or backward a set number of periods, find the proper last day in a month, quarter, or year, and even recognize the effects of leap years. The appendix presents the full macro as %ROLLINGREG with input arguments that include the identifier for the main date variable in the data set and also parameters that define the start and end dates for the entire analysis and for each loop. The macro is called as %rollingreg(data= input1, out_ds= input2, model_equation= input3, id= input4, date= input5, start_date= input6, end_date= input7, freq= input8, s= input9, n= input10, regprint= input11); For the macro s arguments, data, out_ds, and model_equation are fairly self-explanatory and are the only required inputs. In defining this macro, a named argument style is used, as opposed to positional style that has a fixed set of inputs, so that some parameters can take default values and the order of the inputs is not important. Here, the data and out designations will typically be two-level names such as data=mylib.md and out_ds=mylib.mregout. To specify the model equation, an example might be model_equation= y =x1 x2, where two equal signs are intentional. The first equal sign separates the argument name from the equation and the second equal sign separates the left-hand side from the right-hand side. An equation such as above will assume that an intercept is desired. To exclude the intercept add / noint. In fact, any addition options that are valid in model statement for PROC REG can be used. The id argument defines the cross-sectional element for the BY statement in PROC REG. If id it is excluded when invoking the macro, it will be assumed that all dates are grouped together (i.e, just a time-series dimension will be used). For the dates that define the windows of each loop, date is the default or assumed date identifier in the input set. This can be changed by simply identifying the date variable name, e.g., date=xdate. If date=year or if the date variable starts or ends with year (such as date=fy_year and date=yearx), then the variables values must be a 4 digit year. In all other cases, the date variable must be a SAS date, which is actually a numeric system that is oriented around January 1, 1960 as day 0. These SAS dates are most useful because they allow for different frequency intervals of a day, week, month, quarter or a year to define the loops such that each regression period will be based on date range endpoints that are S periods apart and with sample periods that are N periods long. It is important to know that start_date and end_date specify the date range for the entire analysis, such that start_date is the first observation used in the date range of the first loop and end_date is the last observation used in the last loop. If these two date parameters are not set, the macro will use the entire date range in the data set (technically, the first or minimum and last or maximum date numbers will be determined and used). Valid formats for the date parameters are 01JAN2004, , 1/1//2004, JAN2004, and The macro code will convert any of these formats to the proper date number such that a 4 digit year becomes the number for January 1 of the year when used with start_date and becomes the number for December 31 of the year when used with end_date. Similarly, a month-year arguments become the date number for the first and last day of the month for start_date and end_date, respectively. The parameters N, S and freq define the interval between the end of each sample period and the length of each sample period. The default looping frequency is months (i.e., monthly) such that all date counting to define the loops is based on months, even if the underlying data in the analysis is daily. A setting of freq =daily is permitted, as is freq=year and freq=quarter. The default values of N=1 and S=12 will set each loop period as 12 months (same as shown in the table above) and will iterate forward one month at a time. To iterate forward one year at a 4

5 time and to use 24 months as each loop sample length, you can use freq=month, N=12, and S=24 or equivalently freq=year, N=1, and S=2. EXAMPLE RESULTS The appendix has an example that uses %ROLLINGREG to compute betas for a set of stocks, where this coefficient measures the sensitivity of a company s stock to the overall stock market. Figure 3.0 is an example of the results, with each PERMNO block representing a cross-section for the stocks in the sample. Fig. 3.0 ROLLING REGRESSION OUTPUT PERMNO=10107 date1 date2 RMSE Intercept beta regobs 01JAN DEC FEB JAN MAR FEB APR MAR MAY APR JUN MAY JUL JUN AUG JUL SEP AUG OCT SEP NOV OCT DEC NOV JAN DEC PERMNO=11081 date1 date2 RMSE Intercept beta regobs 01JAN DEC FEB JAN MAR FEB APR MAR MAY APR [additional lines not shown] In the output above, date1 and date2 show the date range for the sample that corresponds to the estimates in each row. Both dates are intentionally shown because it is tempting to associate the estimated coefficients only with the last date for each window (date2) when it is better to think of the coefficients representing the average effect in the entire date1-date2 period. Note also that a count of regression observations (regobs) is included, helping to determine cases where a block has missing observations. 5

6 EXTENSIONS AND CAUTIONS For both simple and complicated regression equations, %ROLLINGREG can handle different window and looping parameters and estimate numerous types of rolling sample periods. As explained above, it is possible to set the frequency of the date periods that define each loop to be greater than the frequency of the data, such that the windows step forward more than one period per loop. In such cases, it is both prudent and useful to review the output for the date1 and date2 variables put to check that the desired date intervals and effects are being captured. More extensive changes can be made by changing the PROC REG step in the macro to use another statistical procedure in SAS. Very simple statistics such as moving averages can be computed using PROC MEANS or PROC SUMMARY in the same basic steps, however, PROC EXPAND or a single pass in DATA STEP is almost always a better choice. Using PROC GLM for a panel estimation or PROC MODEL for a system of possible nonlinear equations in %ROLLINGREG would be reasonable, however. In fact, It is possible to generalize the macro to have an extra input argument such as procedure= %proc_macro argument that would call another macro that defines the statistical procedure. In applying this idea, it is important to be careful about the scope of the macro variables and input arguments that are passed through or is shared by the different macro routines. Because of this issue, it might be easier to modify %ROLLINGREG directly (replacing the PROC REG block with code for another procedure) and give the modified macro a new name such as %ROLLING_MODELNAME. Finally, as a caution in interpreting the results, it is important to recognize that although the estimated coefficients of a rolling regression change over time, they are not time-varying parameters in the classical sense. SAS has procedures to compute such models and rolling regression results are better thought of as a type of specification test or robustness check for determining whether the parameters of an equation are stable over time. In other words, one use of rolling regressions is to determine whether a true time-varying parameter model is more appropriate than a model that assumes fixed parameters. CONCLUSIONS Because SAS macro code can handle various date functions, a macro subroutine is a good choice for creating loops to produce rolling regression results. %ROLLINGREG is a flexible example of this approach. The basic case generalizes PROC REG to iterate forward one date period from a set starting point to the end of the sample. It is also possible to set the frequency of the loop to be greater than the frequency of the data. In other words, when using %ROLLINGREG with daily data, you do not need to iterate forward one day at each step. Monthly, quarterly or annual loop intervals are also accommodated. In addition, the design of the macro can accommodate other equation estimation procedures such as PROC GLM and PROC MODEL. ACKNOWLEDGMENTS 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. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Michael D. Boldin Wharton Research Data Services The Wharton School, The University of Pennsylvania 216 Vance Hall 3733 Spruce Street Philadelphia PA boldinm@wharton.upenn.edu * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6

7 * ROLLINGREG - Rolling Regresson Macro (v1.2); * M Boldin July 2007; Rolling regression: least-squares equation is estimated multiple times using partially overlapping subsamples from a larger set. This application keeps the sample length fixed and increases the beginning and ending dates by a particular 'date' increment. OLS coefficients from each iteration or loop are saved in a output set. The dataset for the application can have both cross-sectional and time-series aspects that allow a 'BY' variable in PROC REG to estimate OLS coefficients (by company or stock). The macro routine uses 'named' input arguments: data = input set out_ds = output set for saving results, such as OLS coefficients. model_equation = valid model statement for PROC REG id = cross-sectional identifier (default: none, pure time series) date = date variable name (default: date) start_date= first date in analysis (default: first date in data) end_date= last date in analysis (default: last date in data) freq= frequency of loop interval (default: month, not necessary the same as data dates) S= frequency periods for moving loop end date forward (default: 1, 1-month) N= length of sample period in term of freq (default: 12, 12-months) regprint= use yes to show regression output (default: noprint) Only first three inputs (data, out_ds, and model_equation) are required. The remainder have default settings. The data= and out_ds= designations may be two-level names such as data=mylib.md and out_ds=mylib.mregout. Date is the default or assumed date identifier in the input set. If date=year or starts with 'year' (such as 7

8 date=yeara), then the other date variables values must be a 4 digit year. In all other cases, the date variable must be a SAS date, which is a numeric system that is oriented around January 1, 1960 as day 0. Valid formats for the date parameters are 01JAN2004, , 1/1//2004, JAN2004, and The parameters N and S and freq define the interval between the end of each sample period and the length of each sample period. The default looping frequency is months (i.e., monthly) such that all date counting to define the loops is based on months, even if the underlying data in the analysis is daily. To iterate forward one year at a time and to use 24 months as each loop sample length, you can use freq= month, N=12, and S=24 or equivalently freq= year, N=1, and S=2. Output example where ID=PERMNO and N=36 (months) permno date1 date2 _RMSE_ Intercept VWRETD regobs JAN DEC FEB JAN MAR FEB In the output, 'date1' and 'date2' show the date range for the sample that corresponds to the estimates that are shown in each row. Regobs is a count of regression observations. *********************************/ %macro rollingreg ( data=, out_ds=, model_equation=, id=, date=date, start_date=, end_date=, freq=month, s=1, n=12, regprint=noprint ); %* Start with empty output data sets; proc datasets nolist; delete _all_ds _outest_ds; * Prepare input data for by-id-date use; proc sort data=&data; by &id &date; %* Set the 'by-id' variable; 8

9 %let by_id= ; *blank default, no by variable; %if %length(&id) > 0 %then %let by_id= by &id; %* Determine date range variables; %if %lowcase(%substr(&date,1,4))= year %then %let year_date=1; %else %let year_date=0; %let sdate1 = &start_date; %let sdate2 = &end_date; %* Make start and end date if missing; %if &start_date = %str() &end_date = %str() %then %do; proc sql noprint; create table _dx1 as select min(&date) as min_date, max(&date) as max_date from &data where not missing(&date); select min_date into : min_date from _dx1; select max_date into : max_date from _dx1; quit; %* SDATE1 and SDATE2 put in sas date number form (1/1/1960=0); %if &sdate1 = %str() %then %do; %let sdate1= &min_date; %else %do; %if (%index(&sdate1,%str(-)) > 1) (%index(&sdate1,%str(/)) > 1) %then %let sdate1= %sysfunc(inputn(&sdate1,mmddyy10.)); %else %if ( %length(&sdate1)=7 ) %then %let sdate1= %sysfunc(inputn(01&sdate1,date9.)); %else %if ( %length(&sdate1)=8 %length(&sdate1)=9 ) %then %let sdate1= %sysfunc(inputn(&sdate1,date9.)); %else %if ( %length(&sdate1)=4 ) %then %let sdate1= %sysfunc(inputn(01jan&sdate1,date9.)); %if &year_date=1 %then %let sdate1=%sysfunc(year(&sdate1)); %if &sdate2 = %str() %then %do; %let sdate2= &max_date; %else %do; %if (%index(&sdate2,%str(-)) > 1) (%index(&sdate2,%str(/)) > 1) %then %let sdate2= %sysfunc(inputn(&sdate2,mmddyy10.)); %else %if ( %length(&sdate2)=7 ) %then %do; %let sdate2= %sysfunc(inputn(01&sdate2,date9.)); %let sdate2= %sysfunc(intnx(month,&sdate2,0,end)); %else %if ( %length(&sdate2)=8 %length(&sdate2)=9 ) %then %let sdate2= %sysfunc(inputn(&sdate2,date9.)); %else %if ( %length(&sdate2)=4 ) %then %let sdate2= %sysfunc(inputn(31dec&sdate2,date9.)); %if &year_date=1 %then %let sdate2=%sysfunc(year(&sdate2)); %*Determine loop frequency parameters; %if %eval(&n)= 0 %then %let n= &s; %* if n blank use 1 period (=&s) assumption; 9

10 %if &year_date=1 %then %let freq=year; %* year frequency case; %put Date variable: &date year_date: &year_date; %put Start and end dates: &start_date &end_date // &sdate1 &sdate2; %if &year_date=0 %then %put %sysfunc(putn(&sdate1,date9.)) %sysfunc(putn(&sdate2,date9.)); %put Freq: &freq s: &s n: &n; %* Preliminary date setting for each iteration/loop; %* First end date (idate2) is n periods after the start date; %if &year_date=1 %then %let idate2= %eval(&sdate1+(&n-1)); %else %let idate2= %sysfunc(intnx(&freq,&sdate1,(&n-1),end)); %if &year_date=0 %then %let idate1= %sysfunc(intnx(&freq,&idate2,-&n+1,begin)); %else %let idate1= %eval(&idate2-&n+1); %put First loop: &idate1 -- &idate2; %put Loop through: &sdate2; %if (&idate2 > &sdate2) %then %do; %* Dates are not acceptable-- show problem, do not run loop; %put PROBLEM-- end date for loop exceeds range : ( &idate2 > &sdate2 ); %else %do; *Dates are accepted-- run loops; %let jj=0; %do %while(&idate2 <= &sdate2); %let jj=%eval(&jj+1); %*Define loop start date (idate1) based on inherited end date (idate2); %if &year_date=0 %then %do; %let idate1= %sysfunc(intnx(&freq,&idate2,-&n+1,begin)); %let date1c= %sysfunc(putn(&idate1,date9.)); %let date2c= %sysfunc(putn(&idate2,date9.)); %if &year_date=1 %then %do; %let idate1= %eval(&idate2-&n+1); %let date1c= &idate1; %let date2c= &idate2; %let idate1= %sysfunc(max(&sdate1,&idate1)); %put Loop: &jj -- &date1c &date2c; %put &jj -- &idate1 &idate2; proc datasets nolist; delete _outest_ds; %***** analysis code here -- for each loop; %* noprint to just make output set; %let noprint= noprint; %if %upcase( print) = yes %upcase( print) = print %then %let noprint= ; proc reg data=&data 10

11 outest=_outest_ds edf &noprint; where &date between &idate1 and &idate2; model &model_equation; &by_id; %* Add loop date range variables to output set; data _outest_ds; set _outest_ds; regobs= _p_ + _edf_; %* number of observations in regression; date1= &idate1; date2= &idate2; %if &year_date=0 %then format date1 date2 date9.; %* Append results; proc datasets nolist; append base=_all_ds data=_outest_ds; %* Set next loop end date; %if &year_date=0 %then %let idate2= %sysfunc(intnx(&freq,&idate2,&s,end)); %else %if &year_date=1 %then %let idate2= %eval(&idate2+&s); *% end of loop; %* Save outout set to desired location; data &out_ds; set _all_ds; proc sort data=&out_ds; by &id date2; %* end for date check pass section; %mend; *************************************************** * Run Rolling Regression using CRSP Monthly Stock data; %include rollingreg.sas ; libname proj. ; *Prepare stock return data set for selected PERMNOs; data proj.m1; set crsp.msf (keep=permno date ret prc vol shrout); where permno in (10107, 11081, 12490, 14593, 14656) and year(date) >= ; *Add market return to each PERMNO block; proc sql; create table proj.m1 as 11

12 select a.*, b.vwretd from proj.m1 as a left join crsp.msi as b on a.date=b.date order by a.permno, a.date; quit; * Call macro; %rollingreg( data=proj.m1, out_ds=proj.rr1, id=permno, date=date, model_equation= ret= vwretd, start_date= , end_date= , freq=month, s=1, n=36); * Show results: proc print data=proj.rr1 (rename= (vwretd=beta)); by permno; id date1 date2; var rmse intercept beta regobs; 12

Speed Dating: Looping Through a Table Using Dates

Speed Dating: Looping Through a Table Using Dates Paper 1645-2014 Speed Dating: Looping Through a Table Using Dates Scott Fawver, Arch Mortgage Insurance Company, Walnut Creek, CA ABSTRACT Have you ever needed to use dates as values to loop through a

More information

Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software

Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software Withdrawn Equity Offerings: Event Study and Cross-Sectional Regression Analysis Using Eventus Software Copyright 1998-2001 Cowan Research, L.C. This note demonstrates the use of Eventus software to conduct

More information

Useful Tips When Deploying SAS Code in a Production Environment

Useful Tips When Deploying SAS Code in a Production Environment Paper SAS258-2014 Useful Tips When Deploying SAS Code in a Production Environment ABSTRACT Elena Shtern, SAS Institute Inc., Arlington, VA When deploying SAS code into a production environment, a programmer

More information

What you learned so far. Loops & Arrays efficiency for statements while statements. Assignment Plan. Required Reading. Objective 2/3/2018

What you learned so far. Loops & Arrays efficiency for statements while statements. Assignment Plan. Required Reading. Objective 2/3/2018 Loops & Arrays efficiency for statements while statements Hye-Chung Kum Population Informatics Research Group http://pinformatics.org/ License: Data Science in the Health Domain by Hye-Chung Kum is licensed

More information

Paper SAS Managing Large Data with SAS Dynamic Cluster Table Transactions Guy Simpson, SAS Institute Inc., Cary, NC

Paper SAS Managing Large Data with SAS Dynamic Cluster Table Transactions Guy Simpson, SAS Institute Inc., Cary, NC Paper SAS255-2014 Managing Large Data with SAS Dynamic Cluster Table Transactions Guy Simpson, SAS Institute Inc., Cary, NC ABSTRACT Today's business needs require 24/7 access to your data in order to

More information

SAS Scalable Performance Data Server 4.3

SAS Scalable Performance Data Server 4.3 Scalability Solution for SAS Dynamic Cluster Tables A SAS White Paper Table of Contents Introduction...1 Cluster Tables... 1 Dynamic Cluster Table Loading Benefits... 2 Commands for Creating and Undoing

More information

SAS System Powers Web Measurement Solution at U S WEST

SAS System Powers Web Measurement Solution at U S WEST SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

More information

RLMYPRINT.COM 30-DAY FREE NO-OBLIGATION TRIAL OF RANDOM LENGTHS MY PRINT.

RLMYPRINT.COM 30-DAY FREE NO-OBLIGATION TRIAL OF RANDOM LENGTHS MY PRINT. My Print ON-DEMAND GRAPHS AND PRICE REPORTS TRY IT FREE FOR 30 DAYS! RLMYPRINT.COM 30-DAY FREE NO-OBLIGATION TRIAL OF RANDOM LENGTHS MY PRINT. Register and immediately begin using the new Web site to create

More information

A Simple Time Series Macro Scott Hanson, SVP Risk Management, Bank of America, Calabasas, CA

A Simple Time Series Macro Scott Hanson, SVP Risk Management, Bank of America, Calabasas, CA A Simple Time Series Macro Scott Hanson, SVP Risk Management, Bank of America, Calabasas, CA ABSTRACT One desirable aim within the financial industry is to understand customer behavior over time. Despite

More information

Transforming SAS code into a SAS Macro using PERL Sumner H. Williams, CareOregon, Portland, OR, USA

Transforming SAS code into a SAS Macro using PERL Sumner H. Williams, CareOregon, Portland, OR, USA ABSTRACT Transforming SAS code into a SAS Macro using PERL Sumner H. Williams, CareOregon, Portland, OR, USA SAS code is strengthened by transforming the code into a macro. This paper is intended to demonstrate

More information

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

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

More information

Eventus Example Series Using Non-CRSP Data in Eventus 7 1

Eventus Example Series Using Non-CRSP Data in Eventus 7 1 Eventus Example Series Using Non-CRSP Data in Eventus 7 1 Goal: Use Eventus software version 7.0 or higher to construct a mini-database of data obtained from any source, and run one or more event studies

More information

DATE OF BIRTH SORTING (DBSORT)

DATE OF BIRTH SORTING (DBSORT) DATE OF BIRTH SORTING (DBSORT) Release 3.1 December 1997 - ii - DBSORT Table of Contents 1 Changes Since Last Release... 1 2 Purpose... 3 3 Limitations... 5 3.1 Command Line Parameters... 5 4 Input...

More information

Nigerian Telecommunications (Services) Sector Report Q2 2016

Nigerian Telecommunications (Services) Sector Report Q2 2016 Nigerian Telecommunications (Services) Sector Report Q2 2016 01 SEPTEMBER 2016 Telecommunications Data The telecommunications data used in this report were obtained from the National Bureau of Statistics

More information

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO ABSTRACT The power of SAS programming can at times be greatly improved using PROC SQL statements for formatting and manipulating

More information

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

Make it a Date! Setting up a Master Date View in SAS

Make it a Date! Setting up a Master Date View in SAS SCSUG Paper 19-2017 Make it a Date! Setting up a Master Date View in SAS Crystal Carel, MPH¹ ² ¹STEEEP Analytics, Baylor Scott & White Health, Dallas, TX ²Northern Illinois University, College of Health

More information

Paper Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP, 2 nd ed. Mark Keintz, Wharton Research Data Services

Paper Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP, 2 nd ed. Mark Keintz, Wharton Research Data Services Paper 77-07 Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP, nd ed Mark Keintz, Wharton Research Data Services ABSTRACT From stock price histories to hospital stay records, analysis of time

More information

CSE 341 Section Handout #6 Cheat Sheet

CSE 341 Section Handout #6 Cheat Sheet Cheat Sheet Types numbers: integers (3, 802), reals (3.4), rationals (3/4), complex (2+3.4i) symbols: x, y, hello, r2d2 booleans: #t, #f strings: "hello", "how are you?" lists: (list 3 4 5) (list 98.5

More information

Bad Date: How to find true love with Partial Dates! Namrata Pokhrel, Accenture Life Sciences, Berwyn, PA

Bad Date: How to find true love with Partial Dates! Namrata Pokhrel, Accenture Life Sciences, Berwyn, PA PharmaSUG 2014 Paper PO09 Bad Date: How to find true love with Partial Dates! Namrata Pokhrel, Accenture Life Sciences, Berwyn, PA ABSTRACT This poster will discuss the difficulties encountered while trying

More information

Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex

Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex Effects of PROC EXPAND Data Interpolation on Time Series Modeling When the Data are Volatile or Complex Keiko I. Powers, Ph.D., J. D. Power and Associates, Westlake Village, CA ABSTRACT Discrete time series

More information

Combining Contiguous Events and Calculating Duration in Kaplan-Meier Analysis Using a Single Data Step

Combining Contiguous Events and Calculating Duration in Kaplan-Meier Analysis Using a Single Data Step Combining Contiguous Events and Calculating Duration in Kaplan-Meier Analysis Using a Single Data Step Hui Song, PRA International, Horsham, PA George Laskaris, PRA International, Horsham, PA ABSTRACT

More information

INFORMATION TECHNOLOGY SPREADSHEETS. Part 1

INFORMATION TECHNOLOGY SPREADSHEETS. Part 1 INFORMATION TECHNOLOGY SPREADSHEETS Part 1 Page: 1 Created by John Martin Exercise Built-In Lists 1. Start Excel Spreadsheet 2. In cell B1 enter Mon 3. In cell C1 enter Tue 4. Select cell C1 5. At the

More information

CMIS 102 Hands-On Lab

CMIS 102 Hands-On Lab CMIS 10 Hands-On Lab Week 8 Overview This hands-on lab allows you to follow and experiment with the critical steps of developing a program including the program description, analysis, test plan, and implementation

More information

Conditional Formatting

Conditional Formatting Microsoft Excel 2013: Part 5 Conditional Formatting, Viewing, Sorting, Filtering Data, Tables and Creating Custom Lists Conditional Formatting This command can give you a visual analysis of your raw data

More information

SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG

SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG Paper SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG Qixuan Chen, University of Michigan, Ann Arbor, MI Brenda Gillespie, University of Michigan, Ann Arbor, MI ABSTRACT This paper

More information

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN Paper 045-29 A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN ABSTRACT: PROC MEANS analyzes datasets according to the variables listed in its Class

More information

LIBNAME CCC "H:\Papers\TradeCycle _replication"; /*This is the folder where I put all the three data sets.*/ RUN;

LIBNAME CCC H:\Papers\TradeCycle _replication; /*This is the folder where I put all the three data sets.*/ RUN; /*************************************************** The code for "The Cash Conversion Cycle Spread" paper To prepare: First, uncompress the three zipped files (downloaded from WRDS) into a folder. On

More information

Database Programming with SQL

Database Programming with SQL Database Programming with SQL 4-3 Objectives This lesson covers the following objectives: Demonstrate the use of SYSDATE and date functions State the implications for world businesses to be able to easily

More information

LOADS, CUSTOMERS AND REVENUE

LOADS, CUSTOMERS AND REVENUE EB04-06 Corrected: 0 Jan Page of LOADS, CUSTOMERS AND REVENUE 4 Toronto Hydro s total load, customer and distribution revenue forecast is summarized in Table. The revenue forecast is calculated based on

More information

INFORMS Transactions on Education

INFORMS Transactions on Education This article was downloaded by: [4..3.3] On: 0 September 0, At: 0: Publisher: Institute for Operations Research and the Management Sciences (INFORMS) INFORMS is located in Maryland, USA INFORMS Transactions

More information

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Ben Cochran, The Bedford Group, Raleigh, NC Abstract Often SAS users need to access data from non- SAS

More information

Asia Key Economic and Financial Indicators

Asia Key Economic and Financial Indicators Quarterly Yearly Quarterly Quarterly Month-End Quarter-End Monthly (USD) Monthly Monthly Monthly Monthly Interest Daily GDP GDP per BoP CA IR External Debt Import Trade Unemployment IPI PPI CPI Rates*

More information

SCI - NIH/NCRR Site. Web Log Analysis Yearly Report Report Range: 01/01/ :00:00-12/31/ :59:59.

SCI - NIH/NCRR Site. Web Log Analysis Yearly Report Report Range: 01/01/ :00:00-12/31/ :59:59. SCI - NIH/NCRR Site Web Log Analysis Yearly Report 2003 Report Range: 01/01/2003 00:00:00-12/31/2003 23:59:59 www.webtrends.com Table of Contents General Statistics...5 Page Views Over Time...8 Top Pages

More information

Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data

Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data Know What You Are Missing: How to Catalogue and Manage Missing Pieces of Historical Data Shankar Yaddanapudi, SAS Consultant, Washington DC ABSTRACT In certain applications it is necessary to maintain

More information

APPENDIX E2 ADMINISTRATIVE DATA RECORD #2

APPENDIX E2 ADMINISTRATIVE DATA RECORD #2 APPENDIX E2 ADMINISTRATIVE DATA RECORD #2 Position (s} Document Identifier 1-3 PAB, PBB, or PEB PIIN 4-16 SPIIN 17-22 Must agree with the related P,_A Discount Terms 23-37 May be blank in the PBB an&peb

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

DATA Step Debugger APPENDIX 3

DATA Step Debugger APPENDIX 3 1193 APPENDIX 3 DATA Step Debugger Introduction 1194 Definition: What is Debugging? 1194 Definition: The DATA Step Debugger 1194 Basic Usage 1195 How a Debugger Session Works 1195 Using the Windows 1195

More information

CHAPTER 4 STOCK PRICE PREDICTION USING MODIFIED K-NEAREST NEIGHBOR (MKNN) ALGORITHM

CHAPTER 4 STOCK PRICE PREDICTION USING MODIFIED K-NEAREST NEIGHBOR (MKNN) ALGORITHM CHAPTER 4 STOCK PRICE PREDICTION USING MODIFIED K-NEAREST NEIGHBOR (MKNN) ALGORITHM 4.1 Introduction Nowadays money investment in stock market gains major attention because of its dynamic nature. So the

More information

Title. Description. Quick start. Menu. stata.com. import haver Import data from Haver Analytics databases

Title. Description. Quick start. Menu. stata.com. import haver Import data from Haver Analytics databases Title stata.com import haver Import data from Haver Analytics databases Description Quick start Menu Syntax Options for import haver Options for import haver, describe Option for set haverdir Remarks and

More information

Title stata.com import haver Syntax

Title stata.com import haver Syntax Title stata.com import haver Import data from Haver Analytics databases Syntax Menu Description Options for import haver Options for import haver, describe Option for set haverdir Remarks and examples

More information

User Guide for the WegenerNet Data Portal

User Guide for the WegenerNet Data Portal User Guide for the WegenerNet Data Portal (v9/18feb2010) The WegenerNet Data Portal provides access to measurement data from the climate stations as well as detailed information about the project. Quality-checked

More information

Nigerian Telecommunications (Services) Sector Report Q3 2016

Nigerian Telecommunications (Services) Sector Report Q3 2016 Nigerian Telecommunications (Services) Sector Report Q3 2016 24 NOVEMBER 2016 Telecommunications Data The telecommunications data used in this report were obtained from the National Bureau of Statistics

More information

Programming Languages. Function-Closure Idioms. Adapted from Dan Grossman's PL class, U. of Washington

Programming Languages. Function-Closure Idioms. Adapted from Dan Grossman's PL class, U. of Washington Programming Languages Function-Closure Idioms Adapted from Dan Grossman's PL class, U. of Washington More idioms We know the rule for lexical scope and function closures Now what is it good for A partial

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System %MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find

More information

CS450 - Structure of Higher Level Languages

CS450 - Structure of Higher Level Languages Spring 2018 Streams February 24, 2018 Introduction Streams are abstract sequences. They are potentially infinite we will see that their most interesting and powerful uses come in handling infinite sequences.

More information

Nigerian Telecommunications Sector

Nigerian Telecommunications Sector Nigerian Telecommunications Sector SUMMARY REPORT: Q4 and full year 2015 NATIONAL BUREAU OF STATISTICS 26th April 2016 Telecommunications Data The telecommunications data used in this report were obtained

More information

Checking for Duplicates Wendi L. Wright

Checking for Duplicates Wendi L. Wright Checking for Duplicates Wendi L. Wright ABSTRACT This introductory level paper demonstrates a quick way to find duplicates in a dataset (with both simple and complex keys). It discusses what to do when

More information

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency.

Paper DB2 table. For a simple read of a table, SQL and DATA step operate with similar efficiency. Paper 76-28 Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT In this paper we compare

More information

Get Going with PROC SQL Richard Severino, Convergence CT, Honolulu, HI

Get Going with PROC SQL Richard Severino, Convergence CT, Honolulu, HI Get Going with PROC SQL Richard Severino, Convergence CT, Honolulu, HI ABSTRACT PROC SQL is the SAS System s implementation of Structured Query Language (SQL). PROC SQL can be used to retrieve or combine/merge

More information

... ) city (city, cntyid, area, pop,.. )

... ) city (city, cntyid, area, pop,.. ) PaperP829 PROC SQl - Is it a Required Tool for Good SAS Programming? Ian Whitlock, Westat Abstract No one SAS tool can be the answer to all problems. However, it should be hard to consider a SAS programmer

More information

Sand Pit Utilization

Sand Pit Utilization Sand Pit Utilization A construction company obtains sand, fine gravel, and coarse gravel from three different sand pits. The pits have different average compositions for the three types of raw materials

More information

PIVOT = Crosstabs, SQL Style

PIVOT = Crosstabs, SQL Style PIVOT = Crosstabs, SQL Style SQL Server s PIVOT keyword lets you create crosstabs Tamar E. Granor, Ph.D. A crosstab is a result table or cursor where the set of columns is based on data values in the source.

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

libname learn "C:\sas\STAT6250\Examples"; /*Identifies library of data*/

libname learn C:\sas\STAT6250\Examples; /*Identifies library of data*/ CHAPTER 7 libname learn "C:\sas\STAT6250\Examples"; /*Identifies library of data*/ /*Problem 7.2*/ proc print data=learn.hosp; where Subject eq 5 or Subject eq 100 or Subject eq 150 or Subject eq 200;

More information

Out of Control! A SAS Macro to Recalculate QC Statistics

Out of Control! A SAS Macro to Recalculate QC Statistics Paper 3296-2015 Out of Control! A SAS Macro to Recalculate QC Statistics Jesse Pratt, Colleen Mangeot, Kelly Olano, Cincinnati Children s Hospital Medical Center, Cincinnati, OH, USA ABSTRACT SAS/QC provides

More information

App Economy Market analysis for Economic Development

App Economy Market analysis for Economic Development App Economy Market analysis for Economic Development Mustapha Hamza, ISET Com Director mustapha.hamza@isetcom.tn ITU Arab Forum on Future Networks: "Broadband Networks in the Era of App Economy", Tunis

More information

Tracking Dataset Dependencies in Clinical Trials Reporting

Tracking Dataset Dependencies in Clinical Trials Reporting Tracking Dataset Dependencies in Clinical Trials Reporting Binoy Varghese, Cybrid Inc., Wormleysburg, PA Satyanarayana Mogallapu, IT America Inc., Edison, NJ ABSTRACT Most clinical trials study reporting

More information

Polycom Advantage Service Endpoint Utilization Report

Polycom Advantage Service Endpoint Utilization Report Polycom Advantage Service Endpoint Utilization Report ABC Company 9/1/2018-9/30/2018 Polycom, Inc. All rights reserved. SAMPLE REPORT d This report is for demonstration purposes only. Any resemblance to

More information

Excel Functions & Tables

Excel Functions & Tables Excel Functions & Tables SPRING 2016 Spring 2016 CS130 - EXCEL FUNCTIONS & TABLES 1 Review of Functions Quick Mathematics Review As it turns out, some of the most important mathematics for this course

More information

Getting the Right DATES

Getting the Right DATES Getting the Right DATES Marje Fecht Senior Partner, Prowerk Consulting SAS Global Forum 2014 Conference Chair Copyright 2012 Prowerk Consulting 1 Getting the RIGHT Date can be Tricky This presentation

More information

CS Programming I: Arrays

CS Programming I: Arrays CS 200 - Programming I: Arrays Marc Renault Department of Computer Sciences University of Wisconsin Madison Fall 2017 TopHat Sec 3 (PM) Join Code: 719946 TopHat Sec 4 (AM) Join Code: 891624 Array Basics

More information

Polycom Advantage Service Endpoint Utilization Report

Polycom Advantage Service Endpoint Utilization Report Polycom Advantage Service Endpoint Utilization Report ABC Company 3/1/2016-3/31/2016 Polycom, Inc. All rights reserved. SAMPLE REPORT d This report is for demonstration purposes only. Any resemblance to

More information

UC DAVIS THERMAL ENERGY STORAGE (TES) TANK OPTIMIZATION INVESTIGATION MATTHEW KALLERUD, DANNY NIP, MIANFENG ZHANG TTP289A JUNE 2012

UC DAVIS THERMAL ENERGY STORAGE (TES) TANK OPTIMIZATION INVESTIGATION MATTHEW KALLERUD, DANNY NIP, MIANFENG ZHANG TTP289A JUNE 2012 UC DAVIS THERMAL ENERGY STORAGE (TES) TANK OPTIMIZATION INVESTIGATION MATTHEW KALLERUD, DANNY NIP, MIANFENG ZHANG TTP289A 004 11 JUNE 2012 TABLE OF CONTENTS Abstract...3 Introduction...3 Methodology...4

More information

NMOSE GPCD CALCULATOR

NMOSE GPCD CALCULATOR NMOSE CALCULATOR It should be noted that all the recorded data should be from actual metered results and should not include any estimates. Gallons per Capita - v2.4 Beta Release Date: Mar, 16, 29 This

More information

Are Your SAS Programs Running You? Marje Fecht, Prowerk Consulting, Cape Coral, FL Larry Stewart, SAS Institute Inc., Cary, NC

Are Your SAS Programs Running You? Marje Fecht, Prowerk Consulting, Cape Coral, FL Larry Stewart, SAS Institute Inc., Cary, NC Paper CS-044 Are Your SAS Programs Running You? Marje Fecht, Prowerk Consulting, Cape Coral, FL Larry Stewart, SAS Institute Inc., Cary, NC ABSTRACT Most programs are written on a tight schedule, using

More information

Arthur L. Carpenter California Occidental Consultants, Oceanside, California

Arthur L. Carpenter California Occidental Consultants, Oceanside, California Paper 028-30 Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all

More information

Submitting SAS Code On The Side

Submitting SAS Code On The Side ABSTRACT PharmaSUG 2013 - Paper AD24-SAS Submitting SAS Code On The Side Rick Langston, SAS Institute Inc., Cary NC This paper explains the new DOSUBL function and how it can submit SAS code to run "on

More information

To conceptualize the process, the table below shows the highly correlated covariates in descending order of their R statistic.

To conceptualize the process, the table below shows the highly correlated covariates in descending order of their R statistic. Automating the process of choosing among highly correlated covariates for multivariable logistic regression Michael C. Doherty, i3drugsafety, Waltham, MA ABSTRACT In observational studies, there can be

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

Imputation for missing data through artificial intelligence 1

Imputation for missing data through artificial intelligence 1 Ninth IFC Conference on Are post-crisis statistical initiatives completed? Basel, 30-31 August 2018 Imputation for missing data through artificial intelligence 1 Byeungchun Kwon, Bank for International

More information

All About SAS Dates. Marje Fecht Senior Partner, Prowerk Consulting. Copyright 2017 Prowerk Consulting

All About SAS Dates. Marje Fecht Senior Partner, Prowerk Consulting. Copyright 2017 Prowerk Consulting All About SAS Dates Marje Fecht Senior Partner, Prowerk Consulting Copyright 2017 Prowerk Consulting 1 SAS Dates What IS a SAS Date? And Why?? My data aren t stored as SAS Dates How can I convert How can

More information

Obtaining and Managing IP Addresses. Xavier Le Bris IP Resource Analyst - Trainer

Obtaining and Managing IP Addresses. Xavier Le Bris IP Resource Analyst - Trainer Obtaining and Managing IP Addresses Xavier Le Bris IP Resource Analyst - Trainer In This Talk 2 Getting IPv4 and IPv6 IPv4 Transfers Protecting Your Resources The RIPE Policy Development Process (PDP)

More information

San Joaquin County Emergency Medical Services Agency

San Joaquin County Emergency Medical Services Agency San Joaquin County Emergency Medical Services Agency http://www.sjgov.org/ems Memorandum TO: All Interested Parties FROM: Rick Jones, EMS Analyst DATE: January, 19 Mailing Address PO Box French Camp, CA

More information

Lecture 16. Reading: Weiss Ch. 5 CSE 100, UCSD: LEC 16. Page 1 of 40

Lecture 16. Reading: Weiss Ch. 5 CSE 100, UCSD: LEC 16. Page 1 of 40 Lecture 16 Hashing Hash table and hash function design Hash functions for integers and strings Collision resolution strategies: linear probing, double hashing, random hashing, separate chaining Hash table

More information

Asks for clarification of whether a GOP must communicate to a TOP that a generator is in manual mode (no AVR) during start up or shut down.

Asks for clarification of whether a GOP must communicate to a TOP that a generator is in manual mode (no AVR) during start up or shut down. # Name Duration 1 Project 2011-INT-02 Interpretation of VAR-002 for Constellation Power Gen 185 days Jan Feb Mar Apr May Jun Jul Aug Sep O 2012 2 Start Date for this Plan 0 days 3 A - ASSEMBLE SDT 6 days

More information

Grade 4 Mathematics Pacing Guide

Grade 4 Mathematics Pacing Guide Jul 2014 ~ August 2014 ~ Sep 2014 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 Routines 19 Routines 20 Routines BOY 22 BOY 23 24 11 12 14 29 15 30 31 Notes: Found Online @ wwweverydaymathonlinecom 1 More Calendars

More information

Efficiently Join a SAS Data Set with External Database Tables

Efficiently Join a SAS Data Set with External Database Tables ABSTRACT Paper 2466-2018 Efficiently Join a SAS Data Set with External Database Tables Dadong Li, Michael Cantor, New York University Medical Center Joining a SAS data set with an external database is

More information

Repetition Through Recursion

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

Tracking the Internet s BGP Table

Tracking the Internet s BGP Table Tracking the Internet s BGP Table Geoff Huston Telstra December 2000 Methodology! The BGP table monitor uses a router at the boundary of AS1221 which has a default-free ebgp routing table 1. Capture the

More information

Are Your SAS Programs Running You?

Are Your SAS Programs Running You? Overview Are Your SAS Programs Running You? Have you ever QUICKLY written some code assuming it will never be used again?? Is it now 5 years later and the SPAGHETTI CODE is still in production? Worse still

More information

The Vision Council Winds of Change

The Vision Council Winds of Change The Vision Council Winds of Change Brian Beaulieu CEO Preliminary 217 Forecast Results If you heard ITR a year ago 2 Duration Accuracy US GDP (data through Sep) 24 98.5% US Ind. Prod. (Dec) 24 96.8% Eur

More information

My SAS Grid Scheduler

My SAS Grid Scheduler ABSTRACT Paper 1148-2017 My SAS Grid Scheduler Patrick Cuba, Cuba BI Consulting No Batch Scheduler? No problem! This paper describes the use of a SAS DI Studio job that can be started by a time dependent

More information

The Proc Transpose Cookbook

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

More information

COURSE LISTING. Courses Listed. Training for Database & Technology with Modeling in SAP HANA. 20 November 2017 (12:10 GMT) Beginner.

COURSE LISTING. Courses Listed. Training for Database & Technology with Modeling in SAP HANA. 20 November 2017 (12:10 GMT) Beginner. Training for Database & Technology with Modeling in SAP HANA Courses Listed Beginner HA100 - SAP HANA Introduction Advanced HA300 - SAP HANA Certification Exam C_HANAIMP_13 - SAP Certified Application

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

Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse

Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Paper DM-01 Using Different Methods for Accessing Non-SAS Data to Build and Incrementally Update That Data Warehouse Abstract Ben Cochran, The Bedford Group, Raleigh, NC Often SAS users need to access

More information

Paper CC-016. METHODOLOGY Suppose the data structure with m missing values for the row indices i=n-m+1,,n can be re-expressed by

Paper CC-016. METHODOLOGY Suppose the data structure with m missing values for the row indices i=n-m+1,,n can be re-expressed by Paper CC-016 A macro for nearest neighbor Lung-Chang Chien, University of North Carolina at Chapel Hill, Chapel Hill, NC Mark Weaver, Family Health International, Research Triangle Park, NC ABSTRACT SAS

More information

Key Terms and Concepts. Introduction

Key Terms and Concepts. Introduction TIME SERIES MAGIC: SMOOTHING, INTERPOLATING, EXPANDING AND COLLAPSING TIME SERIES DATA WITH PROC EXPAND Andrew H. Karp Sierra Information Services, Inc. San Francisco, California USA Introduction PROC

More information

Quarterly Sales (in millions) FY 16 FY 15 FY 14 Q1 $706.8 $731.1 $678.5 Q Q Q

Quarterly Sales (in millions) FY 16 FY 15 FY 14 Q1 $706.8 $731.1 $678.5 Q Q Q The following represents historical unaudited financial and statistical information regarding MSC s operations. MSC does not undertake any obligation to update any of the information presented below to

More information

Frequencies, Unequal Variance Weights, and Sampling Weights: Similarities and Differences in SAS

Frequencies, Unequal Variance Weights, and Sampling Weights: Similarities and Differences in SAS ABSTRACT Paper 1938-2018 Frequencies, Unequal Variance Weights, and Sampling Weights: Similarities and Differences in SAS Robert M. Lucas, Robert M. Lucas Consulting, Fort Collins, CO, USA There is confusion

More information

EVM & Project Controls Applied to Manufacturing

EVM & Project Controls Applied to Manufacturing EVM & Project Controls Applied to Manufacturing PGCS Canberra 6-7 May 2015 David Fox General Manager L&A Pressure Welding Pty Ltd Contents 1) Background Business & research context 2) Research Fitting

More information

CIMA Asia. Interactive Timetable Live Online

CIMA Asia. Interactive Timetable Live Online CIMA Asia Interactive Timetable 2017 2018 Live Online Version 1 Information last updated 09 October 2017 Please note: Information and dates in this timetable are subject to change. CIMA Cert BA Course

More information

Contents. Generating data with DO loops Processing variables with arrays

Contents. Generating data with DO loops Processing variables with arrays Do-to & Array Contents Generating data with DO loops Processing variables with arrays 2 Generating Data with DO Loops Contents Introduction Constructing DO loops Do loop execution Counting do loop iterations

More information

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

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

More information

Gerard Pauline and Walter Morris Pace University

Gerard Pauline and Walter Morris Pace University USING SAS/ETS SOFTWARE FOR INSTRUCTION AND RESEARCH AT PACE UNIVERSITY Gerard Pauline and Walter Morris Pace University This paper will be divided into two sections. The first section will describe how

More information

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

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

More information

Why SAS Programmers Should Learn Python Too

Why SAS Programmers Should Learn Python Too PharmaSUG 2018 - Paper AD-12 ABSTRACT Why SAS Programmers Should Learn Python Too Michael Stackhouse, Covance, Inc. Day to day work can often require simple, yet repetitive tasks. All companies have tedious

More information