sexta-feira, 28 de junho de 2013

Nomes de Variáveis Com Caracteres Especiais

O código abaixo executa com sucesso via Enterprise Guide (EG), porém gera erro se executado via linha de comando (batch) ou diretamente no SAS Base.


A questão é que o EG utiliza alguns options, por padrão, que não são habilitados nativamente no Base.

Então, se for necessário criar variáveis contendo espaços, caracteres especiais ou iniciando por números, basta adicionar o option VALIDVARNAME=ANY que irá definir que esse tipo de nome de variável também é permitido para execuções via batch ou Base.



Com a option VALIDVARNAME definida como “ANY” temos as seguintes restrições;



  • O nome das variáveis SAS pode ter no máximo 32 caracteres

  • O nome pode conter caracteres especiais, desde que não exceda 32 bytes.

  • O nome precisa conter no mínimo um caractere, não é possível um nome de variável totalmente em branco

  • O nome pode iniciar e conter quaisquer caracteres, incluindo brancos.

terça-feira, 21 de maio de 2013

Infile Arquivo de Origem Mainframe

Nesse exemplo estou utilizando um arquivo de origem mainframe, para outras origem será necessário mudar apenas os informats (formatos de leitura dos dados).

DATA libname.nome_do_dataset;
INFILE '/diretorio/nome_do_arquivo' LRECL= 341 RECFM=F MISSOVER PAD;
INPUT
@1 VAR1 $EBCDIC26.
@27 VAR2 $EBCDIC9.
@36 VAR3 $EBCDIC3.
@39 VAR4 $EBCDIC15.
@54 VAR5 $EBCDIC26.
@80 VAR6 $EBCDIC12.
@92 VAR7 S370FPD8.
@100 VAR8 $EBCDIC10.
@110 VAR9 $EBCDIC5.
@115 VAR10 S370FPD8.2
@123 VAR11 $EBCDIC2.
@125 VAR12 $EBCDIC1.
@126 VAR13 $EBCDIC12.
@138 VAR14 $EBCDIC1.
@139 VAR15 $EBCDIC3.
@142 VAR16 $EBCDIC2.
@144 VAR17 $EBCDIC9.
@153 VAR18 $EBCDIC26.
@179 VAR19 $EBCDIC26.
@205 VAR20 $EBCDIC9.
@214 VAR21 $EBCDIC26.
@240 VAR22 $EBCDIC26.
@266 VAR23 $EBCDIC1.
@267 VAR24 $EBCDIC1.
@268 VAR25 $EBCDIC8.
@276 VAR26 $EBCDIC26.
@302 VAR27 $EBCDIC2.
@304 VAR28 $EBCDIC1.
@305 VAR29 $EBCDIC26.
;
RUN;

- lrecl: é o tamanho do registro
- recfm: é igual a 'f' quando o arquivo de infile tem tamanho fixo,  é um padrão IBM e já avisa o SAS dos
padrões de interpretação.
- missover: previne o SAS de ler um novo registro para completar os dados de uma variável.
- pad: completa de branco os registros.
- $: indica que a variável é alfanumérica.

Definição do tipo de dados (para arquivos mainframe);
- caracter: EBCDICw.
- numérico: S370FPDw. ou S370FPDw.d

Sendo que;
w. = tamanho total do campo (o “.” é obrigatório)
w.d = o w é tamanho total do campo e o d define a quantidade de casas decimais

Referência: http://support.sas.com/techsup/technote/ts642.html

terça-feira, 16 de abril de 2013

Comando Lock

As vezes durante um processo precisamos ter uso exclusivo a um dataset, por exemplo, a execução é muito demorada e você precisa prevenir que outros processos/usuários acessem o dataset entre um step e outro.
Para resolver esse problema, adicione o comando lock, ele irá definir a exclusividade do dataset para a sua sessão e só irá liberá-la novamente ao encontrar o lock clear;


lock mylib.mydataset; /* defino o lock - o dataset está disponível apenas para minha sessão */

.
.
<comandos>
.
.

lock mylib.mydataset clear; /* retiro o lock - agora o dataset está disponível para outros usuários */



Fonte:
http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001517609.htm

segunda-feira, 26 de novembro de 2012

O que é SAS?

SAS é o acrônimo de Statistical Analysis System. Foi criado na década de 60, na North Caroline University.

É um software focado em análise de dados que consiste de vários produtos e que proporcionam:

- Recuperação de dados

- Gerenciamento de arquivos

- Análise estatística

- Acesso a Banco de Dados (SQL, ORACLE, DB2, etc)

- Geração de gráficos

- Geração de relatórios

- Geração de aplicativos

Possui grande portabilidade, podendo operar em diversos ambientes computacionais:

- Mainframes IBM ( CMS, MVS, OS, OS/390, Z/OS )

- DIGITAL ( VMS, OpenVMS )

- Micros PC ( DOS, Windows, Mac )

- UNIX ( Solaris, AIX, HP-UX, Irix, Linux )

segunda-feira, 12 de novembro de 2012

Bem Vindo

Bem vindo ao Mundo SAS, o objetivo desse blog é mostrar as ferramentas da suíte de BI SAS e como utilizá-las da melhor forma.

Estaremos a disposição nos comentários para responder dúvidas.
 

Total de visualizações de página