# A Liguagem SAS

Um programa na linguagem SAS consiste em uma sequencia de passos

Estrutura em Passos

Cada passo no programa é responsável por uma atividade específica. Existem dois tipos de passos:

  • os passos detinados às atividades de ingestão de dados (DATA); e
  • os passos voltados para manipulação dos dados, cálculos e outros procesamentos (PROC);

Os passos DATA e PROC são combinados de maneiras diversas formando a estrutura do programa. Todo passo deve respeitar algumas convenções:

  1. Toda instrução de um passo deve terminar sempre delimitada por ;.
  2. Todo passo começa com as palavras-chave DATA ou PROC e, normalmente, deve terminar com uma instrução "RUN".
  3. Comentários de uma linha começam por * como no exemplo abaixo, ou pelos delimitadores /* */.
/* ----------------------------------------------------------------------
   Existem várias tabelas prontas no SAS Studio. Podem sem encontradas
   em "Library/My Libraries/SASHELP".
   ---------------------------------------------------------------------- */
data tbl_air;                * Cria um objeto tbl_air para receber dados;    
    set sashelp.air;         * Seleciona a tabela air;
run;

proc print data=tbl_air;
run;

TIP

  • Os passos podem executados selecionado o mesmo e clicando no otão correspondente a RUN ou pressionando F3.
  • A liguagem não faz distinção entre maiúsculo ou minúsculo, logo "Data", "DATA" ou "data" são avaliados da mesma forma.
  • Use Ctl-/ para comentar uma linha inteira.
  • Ao contrário de Python, a identação não é importante. Você pode colocar todos os comandos numa única linha. Vai ser terrível para entender, mas pode ser feito. Existe no menu a opção "Format Code" para identar os passos, automaticamente. Aproveite!☺
  • O SAS Studio tentará corrigir, em tempo de execução, erros de sintaxe. Caso não consiga, deixará de processar aquele comando. Logo é IMPRESCINDÍVEL verificar o LOG de processamento para certificar-se de que o código está integro.

# O passo DATA

o passo DATA é usado para ler dados, carregá-los carregando em uma tabela semelhante a um dataframe em R. Neste tipo de passo também podemos filtrar linhas, unir tabelas e inserir novas colunas.

# O passo PROC

No passo PROC trabalhamos com as tabelas criadas nos passos DATA fazendo análises estatísticas, criando gráficos e relatórios.

# Comandos Globais

Além dos passos um programa SAS pode ter comandos globais como TITLE, OPTIONS, LIBNAME que são utilizados para definir o ambiente de trabalho, por exemplo.

# Variáveis Macro (Let)

A linguagem possui as variáveis macro, semelhante as variáveis globais, para facilitar a manutenção do código:

proc print data=sashelp.shoes;
    where  Product="Boot";
    var Region Subsidiary Stores;
run;

proc means data=sashelp.shoes;
    where  Product="Boot";
    var   Stores Sales Returns;
run;

proc freq data=sashelp.shoes;
    where  Product="Boot";
    tables Inventory;
run;

Utilizando a variável nome_produto, criada pelo comando %let nome_produto=Boot;, e substituindo cada ocorência de Product="Boot" por Product="&nome_produto", o código torna-se mais fácil de ser alterado para a consulta de outros produtos:

%let nome_produto=Boot;

proc print data=sashelp.shoes;
    where  Product="&nome_produto";
    var Region Subsidiary Stores;
run;

proc means data=sashelp.shoes;
    where  Product="&nome_produto";
    var   Stores Sales Returns;
run;

proc freq data=sashelp.shoes;
    where  Product="&nome_produto";
    tables Inventory;
run;

WARNING

Atenção: ao usar as variáveis, certifique-se de que está usando aspas duplas para delimitá-las como em Product="&nome_produto"

# Referências

SAS Programming 1 - SAS Free Learning (opens new window)

Aprenda SAS e torne se um ninja dos dados- Udemy (opens new window)