SAS - Funções

SAS tem uma grande variedade de funções integradas que ajudam na análise e processamento dos dados. Essas funções são usadas como parte das instruções DATA. Eles pegam as variáveis ​​de dados como argumentos e retornam o resultado que é armazenado em outra variável. Dependendo do tipo de função, o número de argumentos que leva pode variar. Algumas funções aceitam nenhum argumento, enquanto outras aceitam um número fixo de variáveis. Abaixo está uma lista de tipos de funções que o SAS oferece.

Sintaxe

A sintaxe geral para usar uma função no SAS é a seguinte.

FUNCTIONNAME(argument1, argument2...argumentn)

Aqui, o argumento pode ser uma constante, variável, expressão ou outra função.

Categorias de Função

Dependendo de seu uso, as funções no SAS são categorizadas conforme abaixo.

  • Mathematical
  • Data e hora
  • Character
  • Truncation
  • Miscellaneous

Funções Matemáticas

Estas são as funções usadas para aplicar alguns cálculos matemáticos aos valores das variáveis.

Exemplos

O programa SAS abaixo mostra o uso de algumas funções matemáticas importantes.

data Math_functions;

v1=21; v2=42; v3=13; v4=10; v5=29;

/* Get Maximum value */
max_val = MAX(v1,v2,v3,v4,v5);

/* Get Minimum value */
min_val = MIN (v1,v2,v3,v4,v5);

/* Get Median value */
med_val = MEDIAN (v1,v2,v3,v4,v5);

/* Get a random number */
rand_val = RANUNI(0);

/* Get Square root of sum of the values */
SR_val= SQRT(sum(v1,v2,v3,v4,v5));

proc print data = Math_functions noobs;
run;

Quando o código acima é executado, obtemos a seguinte saída -

Funções de data e hora

Estas são as funções usadas para processar os valores de data e hora.

Exemplos

O programa SAS abaixo mostra o uso das funções de data e hora.

data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9.  date2 date9.;

/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);

/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);

/* Get the week day from the date*/
weekday_ =  WEEKDAY(date1);

/* Get Today's date in SAS date format */
today_ = TODAY();

/* Get current time in SAS time format */
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;

Quando o código acima é executado, obtemos a seguinte saída -

Funções de personagem

Estas são as funções usadas para processar valores de caracteres ou texto.

Exemplos

O programa SAS abaixo mostra o uso de funções de caracteres.

data character_functions;

/* Convert the string into lower case */
lowcse_ = LOWCASE('HELLO');
  
/* Convert the string into upper case */
upcase_ = UPCASE('hello');
  
/* Reverse the string */
reverse_ = REVERSE('Hello');
  
/* Return the nth word */
nth_letter_ = SCAN('Learn SAS Now',2);
run;

proc print data = character_functions noobs;
run;

Quando o código acima é executado, obtemos a seguinte saída -

Funções de truncamento

Essas são as funções usadas para truncar valores numéricos.

Exemplos

O programa SAS abaixo mostra o uso de funções de truncamento.

data trunc_functions;

/* Nearest greatest integer */
ceil_ = CEIL(11.85);
  
/* Nearest greatest integer */
floor_ = FLOOR(11.85);
  
/* Integer portion of a number */
int_ = INT(32.41);
  
/* Round off to nearest value */
round_ = ROUND(5621.78);
run;

proc print data = trunc_functions noobs;
run;

Quando o código acima é executado, obtemos a seguinte saída -

Funções Diversas

Vamos agora entender as funções diversas do SAS com alguns exemplos.

Exemplos

O programa SAS abaixo mostra o uso de funções diversas.

data misc_functions;

/* Nearest greatest integer */
state2=zipstate('01040');
 
/* Amortization calculation */
payment = mort(50000, . , .10/12,30*12);

proc print data = misc_functions noobs;
run;

Quando o código acima é executado, obtemos a seguinte saída -