SAS - Syntaxe de base

Comme tout autre langage de programmation, le langage SAS a ses propres règles de syntaxe pour créer les programmes SAS.

Les trois composants de tout programme SAS - les instructions, les variables et les ensembles de données suivent les règles de syntaxe ci-dessous.

Déclarations SAS

  • Les déclarations peuvent commencer n'importe où et se terminer n'importe où. Un point-virgule à la fin de la dernière ligne marque la fin de l'instruction.

  • De nombreuses instructions SAS peuvent être sur la même ligne, chaque instruction se terminant par un point-virgule.

  • L'espace peut être utilisé pour séparer les composants dans une instruction de programme SAS.

  • Les mots clés SAS ne sont pas sensibles à la casse.

  • Chaque programme SAS doit se terminer par une instruction RUN.

Noms de variables SAS

Les variables dans SAS représentent une colonne dans l'ensemble de données SAS. Les noms de variables suivent les règles ci-dessous.

  • Il peut comporter au maximum 32 caractères.

  • Il ne peut pas inclure de blancs.

  • Il doit commencer par les lettres A à Z (non sensibles à la casse) ou par un trait de soulignement (_).

  • Peut inclure des nombres mais pas comme premier caractère.

  • Les noms de variables ne sont pas sensibles à la casse.

Exemple

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

Ensemble de données SAS

L'instruction DATA marque la création d'un nouvel ensemble de données SAS. Les règles de création des ensembles de données sont les suivantes.

  • Un seul mot après l'instruction DATA indique un nom d'ensemble de données temporaire. Ce qui signifie que l'ensemble de données est effacé à la fin de la session.

  • Le nom de l'ensemble de données peut être précédé d'un nom de bibliothèque qui en fait un ensemble de données permanent. Cela signifie que l'ensemble de données persiste une fois la session terminée.

  • Si le nom de l'ensemble de données SAS est omis, SAS crée un ensemble de données temporaire avec un nom généré par SAS comme - DATA1, DATA2, etc.

Exemple

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

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

Extensions de fichier SAS

Les programmes SAS, les fichiers de données et les résultats des programmes sont enregistrés avec différentes extensions dans Windows.

  • *.sas - Il représente le fichier de code SAS qui peut être édité à l'aide de l'éditeur SAS ou de tout éditeur de texte.

  • *.log - Il représente le fichier journal SAS, il contient des informations telles que des erreurs, des avertissements et des détails de jeu de données pour un programme SAS soumis.

  • *.mht / *.html −Il représente le fichier de résultats SAS.

  • *.sas7bdat −Il représente un fichier de données SAS qui contient un ensemble de données SAS comprenant des noms de variables, des étiquettes et les résultats des calculs.

Commentaires en SAS

Les commentaires en code SAS sont spécifiés de deux manières. Voici ces deux formats.

*message; taper un commentaire

Un commentaire sous la forme de *message;ne peut pas contenir de points-virgules ou de guillemets sans correspondance à l'intérieur. De plus, il ne doit pas y avoir de référence à des instructions de macro dans ces commentaires. Il peut s'étendre sur plusieurs lignes et peut avoir n'importe quelle longueur. Voici un exemple de commentaire sur une seule ligne -

* This is comment ;

Voici un exemple de commentaire multiligne -

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

/ * message * / type commentaire

Un commentaire sous la forme de /*message*/est utilisé plus fréquemment et ne peut pas être imbriqué. Mais il peut s'étendre sur plusieurs lignes et peut avoir n'importe quelle longueur. Voici un exemple de commentaire sur une seule ligne -

/* This is comment */

Voici un exemple de commentaire multiligne -

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