During the next several demos, we'll write SAS code to review the concepts and syntax addressed in the first SAS programming course. To begin, we'll review some basic rules regarding SAS syntax and data structure. I'll start with this SAS program. A SAS program consists of a series of DATA and PROC, or procedure steps. This program includes three steps: a DATA step to create a new SAS table named shoes_profit, a PROC MEANS step to analyze shoes_profit and create a summarized table, and a PROC PRINT step to generate a report based on the summary table. Notice that each step ends with a RUN statement. We call the statements that begin or end a step, step boundaries. Each step consists of statements, and each statement must end with a semi-colon. A program can include global statements that are outside of steps. In this program, the TITLE statements are both global statements. In general, global statements impact the entire SAS session and set options or values that will remain in effect until they are changed, or until the SAS session ends. Other examples of global statements include the OPTIONS and LIBNAME statements. Let's run the program. Remember, after you run a program, the first thing you should do is look at the log and read the notes, warnings, or errors that might be generated. After confirming that the log looks good, you can examine the output. This program created two tables: shoes_profit and shoes_summary, and one report. The spacing of the program really doesn't matter at all. If all the DATA step statements were on a single line, it would still run perfectly, even though it's hard to read. It's helpful to space your programs consistently to make it easier to read the code and identify syntax errors. One of my favorite buttons is Format Code, which automatically formats your programs. Let's return to the program and review a few more points related to syntax. Comments are a great way to ask SAS to ignore a portion of the text when a program runs. You can comment out a single line of code by adding an asterisk in front of that line. I'll comment out the LABEL statement in PROC PRINT. Or you can comment out any length of text by adding slash asterisk at the beginning, and asterisks slash at the end. I'll add Essentials Review at the top of my program and press Control-slash as a really helpful shortcut to surround the line with the commenting symbols.