BeOptimized - Tips and Tricks

Summary

BeOptimized - 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 at your office in one of your meeting room and, to guaranty an optimal quality, the number of participants is limited to 8 persons. Contact us for more informations.

All the sessions have a duration of 3 hours (from 9 am to 12 am or 2 pm to 5 pm) and can be done in French or English.

Coaching curriculum can also be organized in order to gather all the theory needed for the SAS certification.

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 Coaching that suits perfectly your needs.

Topic list

Level= Intermediate

SAS Viya is the latest enhancement of the SAS Platform. When you are SAS9 programmer you can continue using your SAS9 syntax in SAS Viya. However, if you want to take advantage of capabilities such as parallel processing or in memory processing offered by SAS Viya, you need to know a little bit more than SAS9 syntax.
This tips and tricks is designed for people who already know SAS9 and want to learn the basics of SAS programming in SAS Viya.

Level= Intermediate

SAS Viya is the latest enhancement of the SAS Platform. When you are SAS9 programmer you can continue using your SAS9 syntax in SAS Viya. However, if you want to take advantage of capabilities such as parallel processing or in memory processing offered by SAS Viya, you need to know a little bit more than SAS9 syntax.
This tips and tricks is designed for people who already know Data Step programming in SAS9 and want to learn what you can and cannot do in SAS Data Step programming executed by the CAS server .

SAS Viya is the latest enhancement of the SAS Platform. When you are SAS9 programmer you can continue using your SAS9 syntax in SAS Viya. However, if you want to take advantage of capabilities such as parallel processing or in memory processing offered by SAS Viya, you need to know a little bit more than SAS9 syntax.
PROC FEDSQL can be executed in CAS and the syntax looks like the PROC SQL syntax. However, it is totally incorrect to say that you could copy paste Proc SQL statements/clauses into Proc FEDSQL. This tips and tricks is designed for people who already know PROC SQL and think that PROC FEDSQL is the replacement of PROC SQL.

Level= Intermediate

SAS Viya is the latest enhancement of the SAS Platform. Since this release you can, as a Python programmer, access data and procedures available on the SAS Viya platform.
This can be done by inserting Python Nodes in your data flows but this can also be done thanks to the SWAT python package (SAS Scripting Wrapper for Analytics Transfer).
What does that mean? You can do with Python everything you can do in SAS: load/unload data in memory, doing parallel processing, accessing databases data via SAS libraries, working in a secured environment, use remote server. etc.
This tips and tricks is designed for people who know already Python, SQL, Pandas and who would like to access SAS Viya from Python.

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.)

Level= Beginner

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.

Level= Beginner

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.

Level= Intermediate

In this tips and tricks we will have a look to the merge statement of the SAS DataStep in order to combine datasets.

Level= Intermediate

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.

Level= Intermediate

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.

Level= Expert

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.

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,

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.

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.

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.

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.

Indexes are special reference tables that the SAS engine can use to speed up data retrieval. Simply put, an index is a pointer to data in a table. In this tips and tricks we will discuss how you can create and use SAS indexes.

Level= Intermediate

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.

Level= Intermediate

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....

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.

This site uses cookies. .

By continuing to browse the site you are agreeing to our use of cookies. Review our cookies information for more details.