SAS - formatos numéricos

O SAS pode lidar com uma ampla variedade de formatos de dados numéricos. Ele usa esses formatos no final dos nomes das variáveis ​​para aplicar um formato numérico específico aos dados. SAS usa dois tipos de formatos numéricos. Um para ler formatos específicos dos dados numéricos que é chamadoinformat e outro para exibir os dados numéricos em formato específico chamado de output format.

Sintaxe

A sintaxe para uma informação numérica é -

Varname Formatnamew.d

A seguir está a descrição dos parâmetros usados ​​-

  • Varname é o nome da variável.

  • Formatname é o nome do nome do formato numérico aplicado à variável.

  • w é o número máximo de colunas de dados (incluindo dígitos após decimal e o próprio ponto decimal) permitido para ser armazenado para a variável.

  • d é o número de dígitos à direita do decimal.

Leitura de formatos numéricos

Abaixo está uma lista de formatos usados ​​para ler os dados no SAS.

Formatos numéricos de entrada

Formato Usar
n.

Número máximo "n" de colunas sem casa decimal.

n.p

Número máximo "n" de colunas com casas decimais "p".

COMMAn.p

Número máximo de "n" colunas com casas decimais "p" que remove qualquer vírgula ou cifrão.

COMMAn.p

Número máximo de "n" colunas com casas decimais "p" que remove qualquer vírgula ou cifrão.

Exibindo formatos numéricos

Semelhante à aplicação de formato durante a leitura dos dados, a seguir está uma lista de formatos usados ​​para exibir os dados na saída de um programa SAS.

Formatos numéricos de saída

Formato Usar
n.

Escreva o número máximo "n" de dígitos sem casa decimal.

n.p

Escreva o número máximo "np" de colunas com casas decimais "p".

DOLLARn.p

Escreva o número máximo "n" de colunas com p casas decimais, o cifrão à esquerda e uma vírgula na milésima casa.

Observe -

  • Se o número de dígitos após o ponto decimal for menor que o especificador de formato, entãozeros will be appended no fim.

  • Se o número de dígitos após o ponto decimal for maior que o especificador de formato, o último dígito será rounded off.

Exemplos

Os exemplos abaixo ilustram os cenários acima.

DATA MYDATA1;
input x 6.; /*maxiiuum width of the data*/
format x 6.3;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA1;
RUN;

DATA MYDATA2;
input x 6.; /*maximum width of the data*/
format x 5.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA2;
RUN;
DATA MYDATA3;
input x 6.; /*maximum width of the data*/
format x DOLLAR10.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA3;
RUN;

Quando executamos o código acima, ele produz o seguinte resultado -

# MYDATA1.
Obs 	x
1 	8722.0 # Display 6 columns with zero appended after decimal.
2 	93.200 # Display 6 columns with zero appended after decimal.
3 	0.112  # No integers before decimal, so display 3 available digits after decimal.
4 	15.116 # Display 6 columns with 3 available digits after decimal.

# MYDATA2
Obs 	x
1 	8722  # Display 5 columns. Only 4 are available.
2 	93.20 # Display 5 columns with zero appended after decimal.
3 	0.11  # Display 5 columns with 2 places after decimal.
4 	15.12 # Display 5 columns with 2 places after decimal.

# MYDATA3
Obs 	x
1 	$8,722.00 # Display 10 columns with leading $ sign, comma at thousandth place and zeros appended after decimal.
2 	$93.20    # Only 2 integers available before decimal and one available after the decimal.
3 	$0.11	  # No integers available before decimal and two available after the decimal.
4 	$15.12    # Only 2 integers available before decimal and two available after the decimal.