SAS: sintaxis básica

Como cualquier otro lenguaje de programación, el lenguaje SAS tiene sus propias reglas de sintaxis para crear los programas SAS.

Los tres componentes de cualquier programa SAS: declaraciones, variables y conjuntos de datos siguen las siguientes reglas sobre sintaxis.

Declaraciones SAS

  • Las declaraciones pueden comenzar en cualquier lugar y terminar en cualquier lugar. Un punto y coma al final de la última línea marca el final de la declaración.

  • Muchas declaraciones SAS pueden estar en la misma línea, y cada declaración termina con un punto y coma.

  • El espacio se puede utilizar para separar los componentes en una declaración de programa SAS.

  • Las palabras clave SAS no distinguen entre mayúsculas y minúsculas.

  • Cada programa SAS debe terminar con una instrucción RUN.

Nombres de variables SAS

Las variables en SAS representan una columna en el conjunto de datos SAS. Los nombres de las variables siguen las siguientes reglas.

  • Puede tener un máximo de 32 caracteres.

  • No puede incluir espacios en blanco.

  • Debe comenzar con las letras de la A a la Z (no distingue entre mayúsculas y minúsculas) o un guión bajo (_).

  • Puede incluir números pero no como primer carácter.

  • Los nombres de las variables no distinguen entre mayúsculas y minúsculas.

Ejemplo

# Valid Variable Names
REVENUE_YEAR
MaxVal
_Length

# Invalid variable Names
Miles Per Liter	#contains Space.
RainfFall%      # contains apecial character other than underscore.
90_high		# Starts with a number.

Conjunto de datos SAS

La declaración DATA marca la creación de un nuevo conjunto de datos SAS. Las reglas para la creación de conjuntos de DATOS son las siguientes.

  • Una sola palabra después de la declaración DATA indica un nombre de conjunto de datos temporal. Lo que significa que el conjunto de datos se borra al final de la sesión.

  • El nombre del conjunto de datos puede ir precedido de un nombre de biblioteca, lo que lo convierte en un conjunto de datos permanente. Lo que significa que el conjunto de datos persiste después de que finaliza la sesión.

  • Si se omite el nombre del conjunto de datos SAS, SAS crea un conjunto de datos temporal con un nombre generado por SAS como: DATA1, DATA2, etc.

Ejemplo

# Temporary data sets.
DATA TempData;
DATA abc;
DATA newdat;

# Permanent data sets.
DATA LIBRARY1.DATA1
DATA MYLIB.newdat;

Extensiones de archivo SAS

Los programas SAS, los archivos de datos y los resultados de los programas se guardan con varias extensiones en Windows.

  • *.sas - Representa el archivo de código SAS que se puede editar utilizando el Editor SAS o cualquier editor de texto.

  • *.log - Representa el archivo de registro SAS; contiene información como errores, advertencias y detalles del conjunto de datos para un programa SAS enviado.

  • *.mht / *.html −Representa el archivo de resultados SAS.

  • *.sas7bdat −Representa el archivo de datos SAS que contiene un conjunto de datos SAS que incluye nombres de variables, etiquetas y los resultados de los cálculos.

Comentarios en SAS

Los comentarios en el código SAS se especifican de dos formas. A continuación se muestran estos dos formatos.

*mensaje; escribir comentario

Un comentario en forma de *message;no puede contener punto y coma ni comillas que no coincidan en su interior. Además, no debe haber ninguna referencia a ninguna declaración macro dentro de dichos comentarios. Puede abarcar varias líneas y tener cualquier longitud. A continuación, se muestra un ejemplo de comentario de una sola línea:

* This is comment ;

A continuación se muestra un ejemplo de comentario de varias líneas:

* This is first line of the comment
* This is second line of the comment;

/ * mensaje * / escribir comentario

Un comentario en forma de /*message*/se usa con más frecuencia y no se puede anidar. Pero puede abarcar varias líneas y tener cualquier longitud. A continuación se muestra un ejemplo de comentario de una sola línea:

/* This is comment */

A continuación se muestra un ejemplo de comentario de varias líneas:

/* This is first line of the comment
* This is second line of the comment */