Transforming SAS code into a SAS Macro using PERL Sumner H. Williams, CareOregon, Portland, OR, USA
|
|
- Sandra Lambert
- 6 years ago
- Views:
Transcription
1 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 using the SAS Macro language to schedule macros to run at specific times during the day, week, month, quarter, or year. Scheduling SAS Macros to run during off-peak hours greatly increases the hours that SAS is used by programmers. By running a SAS program during normal work hours, a SAS license is being used and can not run anything else AND you are using up computer cycles that could be spent in other ways. For periodic reports, this can be an inefficient use of computer power. An efficient programmer would schedule each of those tasks to run during off hours, but once the programmer has more than 10 scheduled tasks, the administration becomes tedius. This paper will show how to decrease the administrative tedium of scheduling SAS Macros. Since this paper is about increasing efficiency, the paper will also demonstrate using a PERL program which develops and sets up the scheduling macro. Finally, one more PERL program will be demonstrated that transforms standard SAS code into SAS Macro code. In the end, you will have a scheduling macro which makes calls to other macros depending on the date. The macros that are called by the scheduling macro may have already been generated or may have been generated by PERL. Keywords: PERL, SAS code, SAS Macro, goto. INTRODUCTION A programmer could schedule a task to run weekly, monthly, daily, quarterly, annually, etc. It is very easy to schedule one macro that then runs all of the other macros. It would look like %macro scheduled_reports; %macro weekly_reports; /*&rogue_run was put in to force a report*/ /*This will run on Sunday or if a rogue_run is requested %if %sysfunc(weekday("&sysdate"d)) = 1 or %sysfunc(index(&rogue_run,weekly)) > 0 %then %do; %put Running weekly reports; proc printto new log= "&outdir\weekly_&sysdate..log"; %Weekly(); proc printto log=log; %mend weekly_reports; %weekly_reports; %macro monthly_reports; /*This should only occur monthly*/ %if %sysfunc(day("&sysdate"d)) = 05 or %sysfunc(index(&rogue_run,monthly)) > 0 %then %do; proc printto new log= "&outdir\monthly_&sysdate..log"; %Monthly(); proc printto log=log; %mend monthly_reports; %monthly_reports; %mend scheduled_reports; The scheduled_reports macro can then be scheduled to run everyday during off hours. I have fulfilled the first 1
2 requirement in the abstract, namely how do I schedule macros to run with a macro. The thrust of using a single macro to schedule numerous other macros is increasing efficiency of the computer and the analysts. A SAS programmer might have several programs that could be turned into macros, but not enough time to make the transformation. For code with no parameters, I have developed PERL programs that make the transformation. For code that will need parameters, less effort will have to be spent making the transformation. For extant macros, the PERL code can be used to add callable documentation. First, there needs to be some background on my macro development. CareOregon s macros all reside on a server that I can not access. One problem with this is that I can not see the source code or documentation and that makes it so I have to either remember how to use every macro I write OR I have to maintain two copies which may or may not be synchronized. My solution is to document the macro in a peculiar way. DOCUMENTING A SAS MACRO The %example macro will demonstrate how I call for help when I forget how to use the macro. %macro %example(help); ❶ %if &help =? %upcase(&help) = HELP %then %do; ❷ %put ERROR: Help was requested.; ❸ %put %example_usage; ❹ %goto exit; ❺ { SAS Code goes here } %exit: ❻ %mend example; It is best to give several options for calling help. ❶ is a positional, optional parameter. In this case, it is used to indicate if help will be called. The user is allowed to give a? or some case independent version of help. ❷ tests for whether help was called. A programmer might wish to add in other required macro variables to this list. ❸ is some helpful text that will be printed to the log. The programmer can and should modify this to satisfy the end user. ERROR: will force the macro to bring up the log window when the user exits. ❹ calls a second macro that is the first macros name with _usage appended. ❹ uses a %goto statement to assign a macro variable telling SAS where to go next. goto statments were popular in FORTRAN, but are not generally recommended in typical programming. Thsi is one case where a goto is acceptable since it determines the end of the program. A line containing %exit: states where the code should goto. In this case the %exit: is added at the end of the macro. In addition, PERL scripts write this section of the code. This keeps the coding consistent up to a point. Every macro generated by PERL scripts has help as it s first positional parameter. They all have goto statements. Within the %if statement, they all have a call to the documentation macro. The documentation macro is generated using a programmer supplied text file and PERL. If the code already is a macro, PERL will skip over those sections and only generate the positional help parameter and subsequent logic if necessary. EXTRA MACRO CODING A second macro needs to be generated and it contains the documentation. The usage macro should include the programmer(s), dates of modification, purpose of the code, the manner in which it can be used, the variables, and the important output. Any additional requirements of the company should also be added, i.e. project identifiers, requestors, or other important information. When PERL is used to create the utilization macro, the columns line up and every line ends at the same point. 2
3 %macro example_usage; %put ********************************************************************************; %put * Programmer: Sumner Williams *; %put * Modified: Created (6/5/2008) *; %put * Macrotized (6/10/2008) *; %put * Added callable documentation *; %put * Purpose: Demonstrate creation of SAS Macro with documentation *; %put * Usage: %nrbquote(%)example(help) *; %put * Variables: help - option positional parameter. *; %put ********************************************************************************; %mend example_usage; IMPLEMENTATION First, the user needs to have PERL on their system. For Windows, this can be obtained from For Linux/Mac, it should already be installed on your system. Second, the user needs to get the PERL scripts from the author by ing williamsu@careoregon.org or finding a friend that already has them. There are 4 subroutines in the PERL program: BuildAutomation{"<directory>\\Scheduling.sas"); OpenHeader("<directory\\file>"); ModifyHeaderfromFile("MacroDocumentation.txt"); CreateHeader("<directory>", "<directory>\\temp.sas", "<macroname>"); BuildSASMacro("<directory>\\Temp.sas", "<directory>\\fintest.sas", "<macroname>"); InsertMacro("<directory>\\Scheduling.sas", "weekly", "<macroname>", "<directory>\\<macroname>_&sysdate..log" ); Note that PERL thinks of a \ as an escape character and so on windows, use two \\. On Linux, the file system uses / to distinguish file hierarchies, making a single \ appropriate. BuildAutomation This generates the code for the scheduling macro. In the above example the code will be named Scheduling.sas. It contains the code which will allow for a macro to be inserted in daily, weekly, monthly, etc. runs. OpenHeader This will open the header part of the SAS program (which can be a Macro). OpenHeader will look at all lines up until it finds a line known to start a SAS program, i.e. a data step, options statement, sql statement, etc. Within the header, the tags are appended with a colon (:). The above SAS example has tags for programmer, Modified, Purpose, Usage, and Variables. If the program follows the guidelines I give, then the header will be read in fine. Some tweaks will need to be made for other headers. ModifyHeaderfromFile Originally, the user was allowed to do this from the command line, but poor typing skills and impatience lead to having the subroutine read a file. The file should only contain the updates to the documentation. Do not re-run the same documentation file for each iteration of the SAS code as this would give you something like PROGRAMMER: Sumner Williams Sumner Williams Sum... CreateHeader CreateHeader is fairly uninteresting because it takes the output from OpenHeader and ModifyHeaderfromFile and puts it into a temporary file. While uninteresting, it is essential. 3
4 BuildSASMacro BuildSASMacro reads the temporary file created by CreateHeader. It checks to make sure the program has help as the first positional parameter of the macro. It will name the macro if necessary. It adds in the error checking code. It adds in the %goto and the subsequent variable at the end of the program so that the program will exit when help is requested. If the programmer has nested macros within macros, it will NOT create help code for the nested macros. (This could be future work, time/desire permitting). InsertMacro This inserts the code to call the macro specified into the Scheduling.sas macro. It will not check to make certain that you have not already put the code into the scheduling macro. LIMITATIONS One limitation is that it does not create help for nested or even serialized macros. SAS code on a separate server can not be called unless the macro name is exactly the same as the file name?. If three macros are in the same program macrocode.sas, only the macro named macrocode will be able to be called by a SAS user not on the server. Should the programmer need help with the PERL code, they can call BuildSASMacro(?) and the documentation will be supplied in the console. The PERL code also does not generate macro variables or force documentation of macro variables. It is astoundingly difficult to consider all of the ways in which a macro variable can be created. Input file names, data set names, output file names, date values, can all be a macro variable. Therefore, to avoid over parameterizing a macro, none of this has been added to the PERL scripts. Again, time/desire permitting, it may become a project. RESULTS Code will transform FROM: data Example; infile "C:\Testing Folder\Example.csv" dsd; input claim \$ paid; proc sort data=example; by claim; TO: %macro Example_usage; %put *********************************************************************; %put * PROGRAMMER: Sumner Williams *; %put * MODIFIED: Created *; %put * TRACK-IT: 0 *; %put * PURPOSE: This is a demonstration program of the PERL *; %put * programs. *; %put * USAGE: %nrbquote(%)example%str() *; %put * REQUESTNUMBER: pi *; %put *********************************************************************; %mend Example_usage; %macro Example_(help); %if &help =? %upcase(&help) = HELP %then %do; %put ERROR:; %put Help has been requested.; %put Get help directly by running %nrbquote(%)example_usage; %put Check the log for the help %Example_usage; %goto autoexit; 4
5 data Example; infile "C:\Testing Folder\Example.csv" dsd; input claim \$ paid; proc sort data=example; by claim; %autoexit: %mend Example; CONCLUSION This paper discussed how to schedule a macro using another macro. Efficiency is gained by having a second set of programs built in PERL, construct the scheduling macro, the log file paths, insert the macros that are to-bescheduled, and finally, to have PERL build those macros where necessary. A few new ideas include the callable documentation as well as adding in a help section to a macro. While this would not be of much us to the original programmer that has access to the source code, it can be tremendously valuable to the end-user that has neither access to the source code nor the memories of writing the macro. ACKNOWLEDGMENTS Ron Fehd Macro Maven has been helpful in his lectures and s. CONTACT INFORMATION Contact the author: Author: Sumner Williams Company: CareOregon, Inc. Address: 315 SW 5th Ave. Suite 900 Portland, OR Phone: (503) williamsu@careoregon.org SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. 5
While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX
While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX ABSTRACT If you are tired of running the same jobs over and over again, this paper is for
More informationFlow Control: Branches and loops
Flow Control: Branches and loops In this context flow control refers to controlling the flow of the execution of your program that is, which instructions will get carried out and in what order. In the
More informationSAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD
Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing
More informationMy 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 informationWhile You Were Sleeping, SAS Was Hard At Work Andrea Wainwright-Zimmerman, Capital One Financial, Inc., Richmond, VA
Paper BB-02 While You Were Sleeping, SAS Was Hard At Work Andrea Wainwright-Zimmerman, Capital One Financial, Inc., Richmond, VA ABSTRACT Automating and scheduling SAS code to run over night has many advantages,
More informationWhat to Expect When You Need to Make a Data Delivery... Helpful Tips and Techniques
What to Expect When You Need to Make a Data Delivery... Helpful Tips and Techniques Louise Hadden, Abt Associates Inc. QUESTIONS YOU SHOULD ASK REGARDING THE PROJECT Is there any information regarding
More informationA Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files
A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract This paper will address the inter-connection
More informationOLAP Drill-through Table Considerations
Paper 023-2014 OLAP Drill-through Table Considerations M. Michelle Buchecker, SAS Institute, Inc. ABSTRACT When creating an OLAP cube, you have the option of specifying a drill-through table, also known
More informationPROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA
PROGRAMMING ROLLING REGRESSIONS IN SAS MICHAEL D. BOLDIN, UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA ABSTRACT SAS does not have an option for PROC REG (or any of its other equation estimation procedures)
More informationSAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC
SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses
More informationLecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan
Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful
More informationSEARCH ENGINE MARKETING (SEM)
D I G I TA L M A R K E T I N G S E A R C H E N G I N E O P T I M I Z AT I O N ( S E O ) SEARCH ENGINE MARKETING (SEM) C O N T E N T S T R AT E G Y SEARCH ENGINE OPTIMIZATION (SEO) 90% of all website traffic
More informationUOP - Method #1 - Enter a percentage for the life - Annual Depreciation.
UOP - Method #1 - Enter a percentage for the life - Annual Depreciation. There are two ways that you can use the UOP depreciation method. The first method is by entering a percentage for the life. However,
More informationA Cross-national Comparison Using Stacked Data
A Cross-national Comparison Using Stacked Data Goal In this exercise, we combine household- and person-level files across countries to run a regression estimating the usual hours of the working-aged civilian
More informationFiles Arriving at an Inconvenient Time? Let SAS Process Your Files with FILEEXIST While You Sleep
Files Arriving at an Inconvenient Time? Let SAS Process Your Files with FILEEXIST While You Sleep Educational Testing Service SAS and all other SAS Institute Inc. product or service names are registered
More informationPrinciple of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore
Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments
More informationTips for Mastering Relational Databases Using SAS/ACCESS
Tips for Mastering Relational Databases Using SAS/ACCESS 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
More informationLogin Brothers Bookmarks Its Place in B2B and B2C E-Commerce
Login Brothers Bookmarks Its Place in B2B and B2C E-Commerce By Elizabeth Barnett lthough Login Brothers Book Company had a history of allowing Customers to order books electronically, it wasn't until
More informationHidden in plain sight: my top ten underpublicized enhancements in SAS Versions 9.2 and 9.3
Hidden in plain sight: my top ten underpublicized enhancements in SAS Versions 9.2 and 9.3 Bruce Gilsen, Federal Reserve Board, Washington, DC ABSTRACT SAS Versions 9.2 and 9.3 contain many interesting
More informationProducing Summary Tables in SAS Enterprise Guide
Producing Summary Tables in SAS Enterprise Guide Lora D. Delwiche, University of California, Davis, CA Susan J. Slaughter, Avocet Solutions, Davis, CA ABSTRACT This paper shows, step-by-step, how to use
More informationEconomic Variables. 1. We will search for GDP for Ghana. To begin, open Excel
Economic Variables Before you start: please work through the guide Logging on and getting started with Datastream. It would also be helpful if you have used our guide for Company/Equity Data as this outlines
More informationAdministrator Guide. November 2010
Administrator Guide November 2010 AppShore Inc. Administrator Guide Table of Contents Overview...2 Logging into AppShore...2 How to upgrade a subscription...3 How to close your AppShore account...4 Roles...5
More informationYour Own SAS Macros Are as Powerful as You Are Ingenious
Paper CC166 Your Own SAS Macros Are as Powerful as You Are Ingenious Yinghua Shi, Department Of Treasury, Washington, DC ABSTRACT This article proposes, for user-written SAS macros, separate definitions
More informationScheduled Automatic Search using Dell Repository Manager
Scheduled Automatic Search using Dell Repository Manager A Dell Technical White Paper Dell, Inc. Dell Repository Manager Team THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL
More informationIntroduction. How Does it Work with Autodesk Vault? What is Microsoft Data Protection Manager (DPM)? autodesk vault
Introduction What is Microsoft Data Protection Manager (DPM)? The Microsoft Data Protection Manager is a member of the Microsoft System Center family of management products. DPM provides continuous data
More informationUniversity of Technology. Laser & Optoelectronics Engineering Department. C++ Lab.
University of Technology Laser & Optoelectronics Engineering Department C++ Lab Sixth week Jump statements The break statement Using break we can leave a loop even if the condition for its end is not fulfilled
More informationMonitor Qlik Sense sites. Qlik Sense Copyright QlikTech International AB. All rights reserved.
Monitor Qlik Sense sites Qlik Sense 2.1.2 Copyright 1993-2015 QlikTech International AB. All rights reserved. Copyright 1993-2015 QlikTech International AB. All rights reserved. Qlik, QlikTech, Qlik Sense,
More informationMake 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 informationKey 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 informationLECTURE 5 Control Structures Part 2
LECTURE 5 Control Structures Part 2 REPETITION STATEMENTS Repetition statements are called loops, and are used to repeat the same code multiple times in succession. The number of repetitions is based on
More informationUnlock SAS Code Automation with the Power of Macros
SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to
More informationApplicant User Guide
Washington Headquarters Services Mass Transportation Benefit Program (MTBP) Web Application Applicant User Guide June 2011 SW Release Version 1.3 User Guide Version 1.6 Table of Contents 1. Introduction...
More informationGoing Under the Hood: How Does the Macro Processor Really Work?
Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts
More information8. Control statements
8. Control statements A simple C++ statement is each of the individual instructions of a program, like the variable declarations and expressions seen in previous sections. They always end with a semicolon
More informationA 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 informationCreating a Departmental Standard SAS Enterprise Guide Template
Paper 1288-2017 Creating a Departmental Standard SAS Enterprise Guide Template ABSTRACT Amanda Pasch and Chris Koppenhafer, Kaiser Permanente This paper describes an ongoing effort to standardize and simplify
More informationSAS Data Integration Studio Take Control with Conditional & Looping Transformations
Paper 1179-2017 SAS Data Integration Studio Take Control with Conditional & Looping Transformations Harry Droogendyk, Stratia Consulting Inc. ABSTRACT SAS Data Integration Studio jobs are not always linear.
More informationChapter 2: Getting Data Into SAS
Chapter 2: Getting Data Into SAS Data stored in many different forms/formats. Four categories of ways to read in data. 1. Entering data directly through keyboard 2. Creating SAS data sets from raw data
More informationDictionary.coumns is your friend while appending or moving data
ABSTRACT SESUG Paper CC-41-2017 Dictionary.coumns is your friend while appending or moving data Kiran Venna, Dataspace Inc. Dictionary.columns is a dictionary table, which gives metadata information of
More informationA Practical Guide to SAS Extended Attributes
ABSTRACT Paper 1980-2015 A Practical Guide to SAS Extended Attributes Chris Brooks, Melrose Analytics Ltd All SAS data sets and variables have standard attributes. These include items such as creation
More informationPowerSchool Student and Parent Portal User Guide. https://powerschool.gpcsd.ca/public
PowerSchool Student and Parent Portal User Guide https://powerschool.gpcsd.ca/public Released June 2017 Document Owner: Documentation Services This edition applies to Release 11.x of the PowerSchool software
More informationIterative Languages. Scoping
Iterative Languages Scoping Sample Languages C: static-scoping Perl: static and dynamic-scoping (use to be only dynamic scoping) Both gcc (to run C programs), and perl (to run Perl programs) are installed
More informationConsider the following to determine which data and fields to include in your report:
report writer working with report writer This document discusses the basics of working with the Issuetrak Report Writer. For additional information, please see Issuetrak Best Practices Report Writer. report
More informationBilling: Managing Items. Rate Increases, Description Updates, and Member Assignments
Billing: Managing Items Rate Increases, Description Updates, and Member Assignments Rate adjustments Adjust default rate Increase/Decrease member amounts Percentage or flat amount All members or by renewal
More information(Refer Slide Time: 01:12)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #22 PERL Part II We continue with our discussion on the Perl
More informationPaper AD12 Using the ODS EXCEL Destination with SAS University Edition to Send Graphs to Excel
Paper AD12 Using the ODS EXCEL Destination with SAS University Edition to Send Graphs to Excel ABSTRACT William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix Arizona Students now have access to
More informationCHAPTER 7 Using Other SAS Software Products
77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80
More informationABSTRACT: INTRODUCTION: WEB CRAWLER OVERVIEW: METHOD 1: WEB CRAWLER IN SAS DATA STEP CODE. Paper CC-17
Paper CC-17 Your Friendly Neighborhood Web Crawler: A Guide to Crawling the Web with SAS Jake Bartlett, Alicia Bieringer, and James Cox PhD, SAS Institute Inc., Cary, NC ABSTRACT: The World Wide Web has
More informationYou deserve ARRAYs; How to be more efficient using SAS!
ABSTRACT Paper 3259-2015 You deserve ARRAYs; How to be more efficient using SAS! Kate Burnett-Isaacs, Statistics Canada Everyone likes getting a raise, and using arrays in SAS can help you do just that!
More informationData Policy. Actionable Data, Part I. Feature Guide
Feature Guide Data Policy Actionable Data, Part I Data Policy... 2 How it Works... 2 Activation Triggers... 2 Calendar-Based Activation... 2 Action-Based Activation... 3 Activation Sequence... 3 Actions...
More informationLepideAuditor. Current Permission Report
Table of Contents 1. Introduction... 3 2. Current Permission Scan Settings... 3 2.1 Configure SQL Server... 3 2.2 Stale Object Settings... 5 2.3 Available Options to manage the data set... 6 2.3.1 Add
More informationDifferent 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 informationHere Scripts. Writing An HTML File With A Script
Here Scripts Beginning with this lesson, we will construct a useful application. This application will produce an HTML document that contains information about your system. I spent a lot of time thinking
More informationUniversity of Technology. Laser & Optoelectronics Engineering Department. C++ Lab.
University of Technology Laser & Optoelectronics Engineering Department C++ Lab. Fifth week Control Structures A program is usually not limited to a linear sequence of instructions. During its process
More informationUsing GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China
PharmaSUG China 2015 - Paper PO71 Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China One of the reasons that SAS is widely used as the
More informationCutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC
Paper SY05 Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC ABSTRACT Looking through a large SAS LOG (say 250 pages) for NOTE's and WARNING's that might
More informationGetting Started With Google Analytics Detailed Beginner s Guide
Getting Started With Google Analytics Detailed Beginner s Guide Copyright 2009-2016 FATbit - All rights reserved. The number of active websites on the internet could exceed the billionth mark by the end
More informationExsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America.
Exsys RuleBook Selector Tutorial Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. This documentation, as well as the software described in it, is furnished under license
More informationUseful 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 informationService Line Export and Pivot Table Report (Windows Excel 2010)
Service Line Export and Pivot Table Report (Windows Excel 2010) In this tutorial, we will take the Service Lines of the Active Students only and only the most recent record to take a snapshot look at approximate
More informationSEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7
SEER AKADEMI LINUX PROGRAMMING AND SCRIPTINGPERL 7 Hi everyone once again welcome to this lecture we are actually the course is Linux programming and scripting we have been talking about the Perl, Perl
More informationDATA WAREHOUSE BASICS
DATA WAREHOUSE BASICS A Software Overview using the Retail Golf Model with version 9 NOTE: This course material was developed using Hummingbird version 9 with Windows XP. There will be navigational differences
More informationSAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD
ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism
More informationPosters. Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA. Paper
Paper 223-25 Workarounds for SASWare Ballot Items Jack Hamilton, First Health, West Sacramento, California USA ABSTRACT As part of its effort to insure that SAS Software is useful to its users, SAS Institute
More informationAnaplan Snapshotting Learning App User Guide
Anaplan Snapshotting Learning App User Guide For Public Use Last updated: May 19, 2016 Prepared by ZS Associates ZS Associates +1 847 492 3600 www.zsassociates.com Overview Background Snapshotting is a
More informationOne Project, Two Teams: The Unblind Leading the Blind
ABSTRACT PharmaSUG 2017 - Paper BB01 One Project, Two Teams: The Unblind Leading the Blind Kristen Reece Harrington, Rho, Inc. In the pharmaceutical world, there are instances where multiple independent
More informationA Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys
A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs, Jr. and Pura A. Peréz U.S. Bureau of the Census, Washington, D.C. ABSTRACT This paper explains
More informationIntermediate Excel 2013
Intermediate Excel 2013 Class Objective: Elmhurst Public Library is committed to offering enriching programs to help our patrons Explore, Learn, and Grow. Today, technology skills are more than a valuable
More information(Refer Slide Time: 1:27)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data
More informationSilverStripe - Website content editors.
SilverStripe - Website content editors. Web Content Best Practices In this section: Learn how to make your site search-engine friendly Learn how to make your content accessible Other web best practices
More informationWeek 1: Introduction to R, part 1
Week 1: Introduction to R, part 1 Goals Learning how to start with R and RStudio Use the command line Use functions in R Learning the Tools What is R? What is RStudio? Getting started R is a computer program
More informationUsing 25Live. Navigating 25Live Tabs CollegeNET, Inc.
Using 25Live Navigating 25Live Tabs Home tab 25Live Home tab provides two options for your initial working view of 25Live Dashboard is your browser-based desktop for quick access to a variety of 25Live
More informationT.I.P.S. (Techniques and Information for Programming in SAS )
Paper PO-088 T.I.P.S. (Techniques and Information for Programming in SAS ) Kathy Harkins, Carolyn Maass, Mary Anne Rutkowski Merck Research Laboratories, Upper Gwynedd, PA ABSTRACT: This paper provides
More informationACTIVANT. Prophet 21 ACTIVANT PROPHET 21. New Features Guide Version 11.0 ADMINISTRATION NEW FEATURES GUIDE (SS, SA, PS) Pre-Release Documentation
I ACTIVANT ACTIVANT PROPHET 21 Prophet 21 ADMINISTRATION NEW FEATURES GUIDE (SS, SA, PS) New Features Guide Version 11.0 Version 11.5 Pre-Release Documentation This manual contains reference information
More informationUsing a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC
AP06 Using a Control Dataset to Manage Production Compiled Macro Library Curtis E. Reid, Bureau of Labor Statistics, Washington, DC ABSTRACT By default, SAS compiles and stores all macros into the WORK
More informationThe Output Bundle: A Solution for a Fully Documented Program Run
Paper AD05 The Output Bundle: A Solution for a Fully Documented Program Run Carl Herremans, MSD (Europe), Inc., Brussels, Belgium ABSTRACT Within a biostatistics department, it is required that each statistical
More informationA Mass Symphony: Directing the Program Logs, Lists, and Outputs
PharmaSUG2011 Paper CC24 ABSTRACT A Mass Symphony: Directing the Program Logs, Lists, and Outputs Tom Santopoli, Octagon Research Solutions, Inc., Wayne, PA When executing programs in SAS, it is efficient
More informationSAS ENTERPRISE GUIDE USER INTERFACE
Paper 294-2008 What s New in the 4.2 releases of SAS Enterprise Guide and the SAS Add-In for Microsoft Office I-kong Fu, Lina Clover, and Anand Chitale, SAS Institute Inc., Cary, NC ABSTRACT SAS Enterprise
More informationLoops! Loops! Loops! Lecture 5 COP 3014 Fall September 25, 2017
Loops! Loops! Loops! Lecture 5 COP 3014 Fall 2017 September 25, 2017 Repetition Statements Repetition statements are called loops, and are used to repeat the same code mulitple times in succession. The
More informationMeltLab Reporting Text, CSV or Excel
MeltLab Reporting Text, CSV or Excel Graphic Statistical Process Control by MeltLab Systems 844-MeltLab www.meltlab.com Fast Accurate Comprehensive Setting up MeltLab Reporting for ASCII ASCII reporting
More informationTop Coding Tips. Neil Merchant Technical Specialist - SAS
Top Coding Tips Neil Merchant Technical Specialist - SAS Bio Work in the ANSWERS team at SAS o Analytics as a Service and Visual Analytics Try before you buy SAS user for 12 years obase SAS and O/S integration
More informationError Trapping Techniques for SCL. Andrew Rosenbaum, Trilogy Consulting, Kalamazoo, MI
Paper 28-26 Error Trapping Techniques for SCL Andrew Rosenbaum, Trilogy Consulting, Kalamazoo, MI ABSTRACT An often-overlooked aspect of applications programming is error trapping. There are always unexpected
More informationTime : 3 hours. Full Marks : 75. Own words as far as practicable. The questions are of equal value. Answer any five questions.
XEV (H-3) BCA (6) 2 0 1 0 Time : 3 hours Full Marks : 75 Candidates are required to give their answers in their Own words as far as practicable. The questions are of equal value. Answer any five questions.
More informationMacros are a block of code that can be executed/called on demand
What Are These Macros are a block of code that can be executed/called on demand Global variables are variables that you assign a value to, which can be referenced anywhere within your program. (Leah s
More informationOPS Webportal User Guide - Reporting v.2.1
OPS Webportal User Guide - Reporting v.2.1 Contents OPS Reporting... 3 OPS Web Portal... 4 Running Reports... 5 Report Navigation... 5 Group (Client) Selection... 6 Reporting Period... 7 Downloading the
More informationAutomatically Generating a Customized Table for Summarizing the Activities in Clinics
Automatically Generating a Customized Table for Summarizing the Activities in Clinics Yan Xu, Joyce X. Wu and Han Wu * Keywords: Automatically, Tabulate, INTCK, INTNX Abstract Automatically generating
More informationEffectively Utilizing Loops and Arrays in the DATA Step
Paper 1618-2014 Effectively Utilizing Loops and Arrays in the DATA Step Arthur Li, City of Hope National Medical Center, Duarte, CA ABSTRACT The implicit loop refers to the DATA step repetitively reading
More informationWhat 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 informationLibrary Calendar Project
Library Calendar Project Basic Information Project goals include: 1. Create a master calendar for the library which will be the basis for all calendars produced by the library. Print and web page formats
More informationStatistics, Data Analysis & Econometrics
ST009 PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data Carl E. Pierchala, National Highway Traffic Safety Administration, Washington ABSTRACT The study of missing data patterns
More informationACT! Calendar to Excel
Another efficient and affordable ACT! Add-On by ACT! Calendar to Excel v.6.0 for ACT! 2008 and up http://www.exponenciel.com ACT! Calendar to Excel 2 Table of content Purpose of the add-on... 3 Installation
More informationCS450 - 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 informationContents GENERAL OVERVIEW 3. User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4
SYNERGY USER GUIDE Contents GENERAL OVERVIEW 3 User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4 Budgets... 4 Spending Limits... 5 PO Hold Review... 5 Regional
More informationGOOGLE ANALYTICS HELP PRESENTATION. We Welcome You to. Google Analytics Implementation Guidelines
GOOGLE ANALYTICS HELP PRESENTATION We Welcome You to Google Analytics Implementation Guidelines 05/23/2008 Ashi Avalon - Google Analytics Implementation Presentation Page 1 of 28 1) What Is Google Analytics?
More informationAre 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 informationPostgres Plus xdb Replication Server with Multi-Master User s Guide
Postgres Plus xdb Replication Server with Multi-Master User s Guide Postgres Plus xdb Replication Server with Multi-Master 5.0 November 13, 2012 , Version 5.0 by EnterpriseDB Corporation Copyright 2012
More informationProgramming Basics and Practice GEDB029 Decision Making, Branching and Looping. Prof. Dr. Mannan Saeed Muhammad bit.ly/gedb029
Programming Basics and Practice GEDB029 Decision Making, Branching and Looping Prof. Dr. Mannan Saeed Muhammad bit.ly/gedb029 Decision Making and Branching C language possesses such decision-making capabilities
More information(Refer Slide Time: 01:25)
Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual
More information%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