SAS Macro Para Iniciantes – Macro Variáveis & Funções

Hoje discutimos Macros SAS para iniciantes e como a macro SAS facilita a nossa vida reduzindo a redundância ou repetibilidade de um código. SAS Macro fornece uma maneira incrível de tornar um processo fácil e automático. Aqui, vamos ver diferentes SAS Macro Variáveis, funções de Macro em linguagem de programação SAS. Além disso, vamos aprender Componentes de SAS Macro Code e alguns benefícios de SAS Macro

Vejamos como SAS Macro funciona.

Não se torne obsoleto & Obtenha um Pink Slip
Follow DataFlair no Google News & Fique à frente do jogo

1. O que é SAS Macro?

Macros basicamente ajudam a reutilizar o código em lugares diferentes vários números de vezes sem ter que digitar o código inteiro de novo e de novo. Isto não só poupa tempo mas resulta em código sem erros.

Deixe-nos entender isto com um exemplo:

proc print data=Policysnapshot;where policydate='09Sep14'd;title "Below are the policy detail for 09-Sep-14";Run;

Acima do código SAS é escrito para extrair detalhes de nível de política para 09-Set-14 e deixe-nos dizer que o usuário precisa executar este código diariamente após alterar a data (em ambos os lugares) para a data atual.

Agora, vamos olhar para o mesmo código usando macros SAS.

Proc Print Data=Sales.Policysnapshot;Where policydate="&sysdate9"d;Title "Below are the policy detail for %sysdate9";Run;

Neste caso, o usuário não precisa fornecer valor para a data atual. O código irá automaticamente escolher uma data atual de um sistema.

Não se esqueça de ler – Funções SAS

Benefícios do uso da macro SAS

Macro SAS nos permite:-

  • Facilitar nosso trabalho reutilizando código similar várias vezes após defini-lo.
  • Faça alterações em uma variável em um único local e as reflita em vários locais.
  • Os dados do seu programa conduzido, ou seja, deixar SAS decidir o que fazer com base em valores de dados reais

Acima de tudo, ele ajuda a reduzir os esforços necessários para ler e escrever SAS Code.

Componentes do SAS Macro Code

SAS Macro code tem dois componentes: Macros e variáveis Macro. Em um programa SAS, eles têm se referido diferentemente como:-

  • &Nome refere-se a Macro Variable
  • %Nome refere-se a Macro

SAS Macro Variables

Uma macro variável é como uma variável padrão, exceto que seu valor não é um conjunto de dados e tem apenas um único valor de caractere. O valor de uma variável de macro pode ser um nome de variável, um numeral ou qualquer texto que você queira substituir no seu programa.
O escopo de uma variável de macro pode ser local ou global, dependendo de como nós a definimos. Se ela for definida dentro de um programa de macro, o escopo é local (disponível apenas para esse código de macro). No entanto, se a tivermos definido fora (no corpo principal), então podemos usá-la em qualquer lugar no programa SAS.
Usamos a instrução %LET para criar e atribuir um valor às variáveis de macro.
% LET <Macro Variable Name>=Valor;

Valor da variável de macro na instrução %LET pode ser qualquer string e tem as seguintes características:-

  • Pode ser de qualquer comprimento entre 0 e 65,534 caracteres
  • Os valores numéricos também são armazenados como uma cadeia de caracteres
  • Expressões matemáticas não são avaliadas
  • A marca de cotação também pode ser armazenada como uma parte de um valor
  • Os espaços em branco de leitura e de acompanhamento são removidos antes da atribuição

SAS As variáveis Macro são referenciadas usando um sinal de ampersand (&) seguido por um nome de variável macro.

Não se esqueça de verificar – Funções de String SAS ou Funções de Caracteres

&<Variável Macro Nome>
Exemplo:-

Nome da variável Macro

Podemos também declarar múltiplas variáveis de macro e usá-las em diferentes lugares no Código SAS. A variável macro não resolve quando eles acessam entre aspas simples. Portanto, devemos usar aspas duplas para referenciá-las.

;

macro-variável-1 <…macro-variável-n>
é o nome de uma ou mais variáveis de macro SAS.

A afirmação %GLOBAL cria uma ou mais variáveis de macro globais e atribui valores nulos às variáveis. Variáveis de macro globais são variáveis que estão disponíveis durante toda a execução da sessão ou trabalho SAS.
Uma variável de macro criada com uma instrução %GLOBAL tem um valor nulo até que você lhe atribua algum outro valor. Se uma variável de macro global já existir e você especificar essa variável em uma instrução %GLOBAL, o valor existente permanece inalterado.

Must learn – What is Sintaxe SAS and how we can use them

ii. SAS Local Macro Variables

A sintaxe de uma variável Macro Local em Programação SAS:

%Variável macroLOCAL-1 <…macro-variável-n>;

variável macro-1 <…macro-variável-n>
é o nome de uma ou mais variáveis macro
A afirmação %LOCAL cria uma ou mais variáveis macro locais. Uma macro variável criada com %LOCAL tem um valor nulo até que você lhe atribua algum outro valor. Variáveis da macro local são variáveis que estão disponíveis somente durante a execução da macro na qual estão definidas.

Utilizar a instrução %LOCAL para garantir que as variáveis da macro criadas anteriormente em um programa não sejam inadvertidamente alteradas por valores atribuídos a variáveis com o mesmo nome na macro atual. Se uma variável de macro local já existir e você especificar essa variável em uma instrução %LOCAL, o valor existente permanece inalterado.

Ustand the concept – SAS Data Set – Special & Built-in Data Set in SAS

iii. Comparação – Variáveis Globais vs Locais

  • Bambos a declaração %LOCAL e a declaração %GLOBAL criam variáveis macro com um escopo específico. Entretanto, a instrução %LOCAL cria variáveis de macro locais que existem somente durante a execução da macro que contém a variável, e a instrução %GLOBAL cria variáveis de macro globais que existem para a duração da sessão ou do trabalho.
  • Se você definir uma variável de macro local e uma variável de macro global com o mesmo nome, o recurso de macro usa o valor da variável local durante a execução da macro que contém aquela variável local. Quando a macro que contém a variável local não está sendo executada, o recurso de macro usa o valor da variável global.

Funções das Macros SAS

Essas funções de Macro SAS têm sintaxe semelhante, comparadas às suas funções de contraparte em etapas de dados e também retornam resultados de maneira semelhante.

i.%UPCASE() Função

Usamos esta função para converter o caso das letras para maiúsculas:

Sintax:- %UPCASE (Argumento)

Exemplo:-

%Let heading=this is detail of country;Proc Print Data=Orion.Country;Title %UPCASE(&heading);Run;

Imprime o título como “ESTE É O DETALHO DO PAÍS”.

Explorar as principais aplicações da programação SAS

ii. %SUBSTR() Função

Esta função retorna o número dado de caracteres da posição especificada.

Syntax:- %SUBSTR (argumento, posição )
Se um número de caracteres não for fornecido, uma função %SUBSTR retornará caracteres da posição dada até o final da string.

Exemplo:-

%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
Esta foi tudo no Tutorial de Macro SAS. Espero que você goste de nossas explicações.

Sumário

Hence, neste tutorial de Macros SAS. Espero que você tenha aprendido algumas novas maneiras de manipular dados no SAS. Agora você será capaz de economizar muito tempo incorporando a SAS Macro em seu programa. Fique atento para aprender mais coisas tão interessantes em SAS.

.

Deixe uma resposta

O seu endereço de email não será publicado.