SAS Tips and Tricks consists of half days/full days of knowledge transfer in SAS programming language and are organized by an motivated SAS Expert who combines theory and demonstration to helps you refreshing your SAS skills, discover news technics and meet other experts.
Organized for employees, sessions are organized on a monthly basis in our business center (near Brussels-North train station) and, to guaranty an optimal quality, the number of participants is limited to 8 persons. Contact us to assist to a session (scheduled or not) or click the register button in the course details, we will recontact you with more informations.
You cannot find a topic you would like to follow or would like to follow the session individually at your best conveniance? Please Contact us in order to see if we could organize a SAS Coaching that suits perfectly your needs.
Starting with a new software and programming language is not easy. This tips and tricks helps you to understand the basics in SAS and how to access your data , sample data and help files in order to start in the good direction.
The SAS data step is the most important step of a SAS program and corresponds to the step where the data are created. This tips and tricks guides you on the major statements of this step allowing you to create data in the best way.
Structured Query Language (SQL) is a very known language used to query relational database. Since 1986, this langage is fully integrated in SAS and can be used via the Proc SQL .
Base SAS contains couple of very nice procedures to create reports on your data . This tips and tricks shows you an overview of the most popular including The Proc Tabulate which is one of the most powerful SAS reporting Procedure.
This tips and tricks goes beyond of the simple Base SAS Report creation and helps you to organize and export them to PDF, XLSX or HTML using ODS. An introduction to other technics will be done as well.
In this tips and tricks we will have a look to the merge statement of the SAS DataStep in order to combine datasets.
SAS has more than 190 of 'built-in' functions allowing you to perform a variety of programming tasks. It would be a burden to explain them all in an half day, that's the reason why we selected the most useful one in this tips and tricks.
SAS formats are instruction that SAS uses to write data values. You use formats to control the written appearance of data values, or, in some cases, to group data values together for analysis. You can create format manually with hardcoded values or from datasets, you can store them in permanent library, share them and also use build-in format (etc.) every thing you want to know about SAS format should be present in this tips and tricks.
Macro variables are tools that enable you to dynamically modify the text in a SAS program through symbolic substitution. You can assign large or small amounts of text to macro variables, when you reference the variable afterward the text that it contains will substitute the variable name.
Macro programs or Macros are compiled line of codes referred by a name that you can call anywhere in a SAS program using that name. This allows you to create SAS toolbox of code which can be used in different codes, using different parameters, using Conditional processing....
Log files contains tons of useful information, they help you when you have syntax errors, warnings and notes but you could use your logs in order to monitor your daily processes and identify the potential bottlenecks.
Windows scheduler can be used to execute automatically SAS code at specific moment of the day or at specific days of the month. They execute the same code every time but, thanks to macro, the output result could change thanks to the environment (data, time, user (etc.).)
Gathering job statistics could help you to detect proactively problems in your data by comparing current values with their estimated values. The idea behind is to collect as much as possible information on your daily run processes (number of records, times it take, number of missing (etc.)) and store them in an historical table. If the values of the current run differs with the values of previous run for the same jobs, this could indicate potential problem.
Getting quickly metadata information on your datasets could be useful in some context of conditional execution of SAS programs (e.g.: Don't execute this step if empty dataset). Different methods exists to achieve that: using metadata functions, using Proc contents, or dictionary tables.
Using a SAS table to control job execution can be useful when lot of jobs have to be scheduled regularly but depending on circumstance some don't have to be scheduled. In normal situation we would have to adapt the job scheduler and this could be time consuming. You could use instead a SAS Dataset or Excel spreadsheet where all the jobs are listed with a flag variable indicating the list of jobs to schedule.
The SAS hash object is meant to enable you to quickly and efficiently store, search, and retrieve data based on lookup keys , Conceptually, the hash object provides programmers the means to easily define and utilize a hash table within the Data Step.
XML files are not simple line of records, they have a hierarchy and they are not easy to create programmatically. Sometimes software cannot create complex XML files and it becomes mandatory to pass through this step. In this tips and tricks, we will see how we can create XML in Data Step.
A Slowly Changing Dimension (SCD) is a dimension that stores and manages both current and historical data over time in a data warehouse. It is considered and implemented as one of the most critical ETL tasks in tracking the history of dimension records. Different SCD strategies could be implemented and this tips and tricks is focused on SCD1 where records are updated no history is kept and SCD2 where history is kept,
At the era of the big data, it's very common to have lot of variables to manipulate in blocks of variables. Arrays, Do loops and variable lists are powerful data manipulation tools that help make code more efficient for repetitive operation.
Reading flat files in SAS Data Step gives you a lot of flexibility in terms of data quality and data manipulation. However, problem may arise when files are huge with poor data quality. In this tips and tricks we will have a look to the 'heart' of the Data Step manipulation and learn to do as much as we can do in this important step: applying data quality rules, creating error datasets, selecting good variables and records (etc.)
It's not always easy to choose between Proc SQL and Data Step programming. In this tips and tricks, we will see the big differences between Proc SQL and Data Step and list the pro's and the con's of both of them.
Creating or reading flat files from SAS can be done in several ways in SAS: proc import, proc export are common examples. When flat files are not simple line of records, it becomes impossible to use default technics and Data Step programming becomes required.
SAS macro language allows you to process dynamically all the files of a directory or all the files of a library . Different technic exist depending on the nature of the files. This tips and tricks discuss the case when your files are datasets present in a single library and discuss the case when we manipulate flat files in a folder structure.