comandos sas paracomandos sas para análise...

20
Comandos SAS para Comandos SAS para análise econômica análise econômica Hilton Thadeu Z. do Couto

Upload: others

Post on 20-Jan-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Comandos SAS paraComandos SAS para análise econômicaanálise econômica

Hilton Thadeu Z. do Couto

Page 2: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Importação de dados de um arquivo EXCEL

• Fazer um arquivo Excel (extensão xls) com dados cujos nomes das variáveis sejam nomes SAS válidos: – Não deve conter mais do que 32 caracteres (usar o menor número q (

possível de caracteres e com conteúdo mnemônico).– Não deve conter espaços em branco (ex.: data plantio não é um nome

SAS, mas DataPlantio é) e nem sinais (ex.: +, -, *, %, $, #, ?,SAS, mas DataPlantio é) e nem sinais (ex.: , , , %, $, #, ?,etc.).

– Não deve começar com números (por exemplo: pode conter números como A43 que é um nome SAS válido, mas 34B não é.q ,

– O único sinal permitido em qualquer nome SAS, inclusive no início do nome, é o _ (sublinhado).

– Não deve conter qualquer tipo de acentuação (ex : ÁREA não é um nomeNão deve conter qualquer tipo de acentuação (ex.: ÁREA não é um nome SAS válido, mas Area é).

– O SAS não é sensível ao tipo de caractere: os nomes podem estar em letras MAIÚSCULAS ou minúsculas ou ambas (ex.: CUSTO ou custo minúsculas (ou Custo, são nomes válidos).

2

Page 3: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

DadosDadosN á i d di i li ( l b ) t• Na página da disciplina (cmq.esalq.usp.br) tem um arquivo Excel com as seguintes variáveis: FAZENDA TALHAO AREA CUSFIXFAZENDA, TALHAO, AREA, CUSFIX, CUSVAR.

• FAZENDA = nome da fazenda onde se localiza oFAZENDA nome da fazenda onde se localiza o plantio de eucalipto.

• TALHAO = número do talhão onde está o plantio.TALHAO número do talhão onde está o plantio.• AREA = área em hectares de cada talhão.• CUSFIX = custos fixos em R$/haCUSFIX custos fixos em R$/ha • CUSVAR = custos variáveis em R$/ha.

3

Page 4: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Importação do arquivo ExcelImportação do arquivo Excel

• Gravar o arquivo que está na página da disciplina em qualquer mídia disponível ou no p q q ppróprio disco do seu computador (nome do arquivo Excel: dados custo xls)arquivo Excel: dados_custo.xls).

• Anotar o caminho do diretório onde está o arquivo Excel: ex.: F:\ECONOMIA\dados_custo.xls_

• Iniciar a importação através do tutorial do SAS ou seja entre no SASSAS, ou seja, entre no SAS.

4

Page 5: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Importação de dados do Excel:Importação de dados do Excel:• Na janela EDITOR File  Import Dataj p

5

Page 6: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Ir no BROWSE para localizar o arquivo Excel com os dados

6

Page 7: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Informar a tabela da planilha onde estão os dados (DADOS1)

7

Page 8: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Escolher um nome de arquivo temporário SAS onde os dados serão armazenados para oonde os dados serão armazenados, para o

processamento (ex.: CUSTO1).

8

Page 9: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Escolher um local (Diretório) onde será armazenado um arquivo SAS que contenha os comandos deum arquivo SAS que contenha os comandos de importação (ex.: F:\ECONOMIA\Prog1.sas).

9

Page 10: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Através do comandoAtravés do comando FINISH, volte à janela

EDITOR do SAS e abraEDITOR do SAS e abra o programa Prog1.sas

10

Page 11: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

O programa que o SAS usou para importação dos dados Excel

PROC IMPORT OUT= WORK.A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls” DBMS=EXCEL REPLACE;DBMS=EXCEL REPLACE;

SHEET="DADOS1"; GETNAMES=YES;;MIXED=NO;SCANTEXT=YES;USEDATE YESUSEDATE=YES;SCANTIME=YES;

RUN;RUN;

M d WORK A1 A1Mude WORK.A1 para A111

Page 12: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Vamos colocar um PROC PRINT no programa SAS (Prog1 sas)para verificarmos se os dados foram(Prog1.sas)para verificarmos se os dados foram

adequadamente importados.

Clicar no RUN

12

Page 13: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Programa SAS para gravar arquivo de saída (resultado) em PDF (Adobe Acrobat)

PROC IMPORT OUT= A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO;SCANTEXT=YES;USEDATE=YES;SCANTIME=YES;

RUN;O S ‘ \ CO O A\ S A O1 ’ODS PDF FILE ‘F:\ECONOMIA\RESULTADO1.PDF’;PROC PRINT DATA=A1;RUN;ODS PDF CLOSEODS PDF CLOSE;

Nota Importante: Toda vez que for rodar novamente o programa, feche o arquivo PDF para que possa gravar em cima Caso contrário pode

13

arquivo PDF para que possa gravar em cima. Caso contrário pode apresentar erro. Outra alternativa é mudar o nome do arquivo PDF.

Page 14: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

O comando SETO comando SET

PROC IMPORT OUT= A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS EXCEL REPLACE;DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO;

Coloca o conteúdo de um arquivo em MIXED=NO;

SCANTEXT=YES;USEDATE=YES;SCANTIME=YES;

qoutro arquivo com outro nome. Assim podemos modificar SCANTIME YES;

RUN;DATA A2;

SET A1;

o conteúdo do arquivo original.

S ;ODS PDF FILE ‘F:\ECONOMIA\RESULTADO2.PDF’;PROC PRINT DATA=A2;RUN;;ODS PDF CLOSE;

14

Page 15: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Uso do comando condicional:IF ... THEN ...;

PROC IMPORT OUT= A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS EXCEL REPLACE;DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO; Caractere entre MIXED=NO;SCANTEXT=YES;USEDATE=YES;SCANTIME=YES;

aspas. Se fosse um valor numérico não

precisaria.SCANTIME YES;RUN;DATA A2;

SET A1;S ;IF FAZENDA= ‘SÃO MARCELO’ THEN DELETE;ODS PDF FILE ‘F:\ECONOMIA\RESULTADO3.PDF’;PROC PRINT DATA=A2;;RUN;ODS PDF CLOSE; 15

Page 16: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Exemplo de valor numéricoExemplo de valor numérico.PROC IMPORT OUT= A1

DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO;SCANTEXT YES

Número não precisa de aspas GE = maior ouSCANTEXT=YES;

USEDATE=YES;SCANTIME=YES;

RUN;

aspas. GE maior ou igual (greater or equal)

RUN;DATA A2;

SET A1;IF CUSVAR GE 2000 THEN DELETE;IF CUSVAR GE 2000 THEN DELETE;ODS PDF FILE ‘F:\ECONOMIA\RESULTADO4.PDF’;PROC PRINT DATA=A2;RUN;RUN;ODS PDF CLOSE;

16

Page 17: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Uso de comandos para título e nota de rodapé

PROC IMPORT OUT= A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO;SCANTEXT=YES;USEDATE=YES;SCANTIME=YES;

RUN;DATA A2;

SET A1;ODS PDF FILE ‘F:\ECONOMIA\RESULTADO5.PDF’;TITLE1’**** ECONOMIA DE RECURSOS FLORESTAIS ****’;TITLE2’**** Comandos SAS para análise econômica ****’;TITLE4’***** PIRACICABA, MAIO DE 2009 *****’;FOOTNOTE1’**** NOTA: A área de cada talhão em hectares ****’;FOOTNOTE2’**** Custos em reais ****’;PROC PRINT DATA=A2;RUN;ODS PDF CLOSE;

17

Page 18: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Procedimento para ordenar os dados: PROC SORT.

PROC IMPORT OUT= A1 DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS=EXCEL REPLACE;

SHEET=“DADOS1$"; D f lt ( i ã )GETNAMES=YES;

MIXED=NO;SCANTEXT=YES;USEDATE=YES;

Default (por omissão): A Z , 0 9.

Descending: Z A 9 0SCANTIME=YES;RUN;DATA A2;

SET A1;

Descending: Z A, 9 0

ODS PDF FILE ‘F:\ECONOMIA\RESULTADO6.PDF’;TITLE1’**** ECONOMIA DE RECURSOS FLORESTAIS ****’;TITLE2’**** Comandos SAS para análise econômica ****’;TITLE4’***** PIRACICABA, MAIO DE 2009 *****’;FOOTNOTE1’**** NOTA: A área de cada talhão em hectares ****’;FOOTNOTE2’**** Custos em reais ****’;PROC SORT DATA=A2;

BY FAZENDA DESCENDING CUSVAR;PROC PRINT DATA=A2;RUN;ODS PDF CLOSE; 18

Page 19: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

Incrementando o PROC PRINTIncrementando o PROC PRINTPROC IMPORT OUT= A1

DATAFILE= “F:\ECONOMIA\dados_custo.xls"DBMS=EXCEL REPLACE;DBMS EXCEL REPLACE;

SHEET=“DADOS1$"; GETNAMES=YES;MIXED=NO;SCANTEXT=YES;USEDATE=YES;USEDATE=YES;SCANTIME=YES;

RUN;DATA A2;

SET A1;ODS PDF FILE ‘F:\ECONOMIA\RESULTADO7.PDF’;TITLE1’**** ECONOMIA DE RECURSOS FLORESTAIS ****’;FOOTNOTE1’**** NOTA: A área de cada talhão em hectares ****’;PROC SORT DATA=A2;

BY FAZENDA DESCENDING CUSVAR;;PROC PRINT DATA=A2 LABEL SPLIT = ‘*‘ NOOBS;VAR FAZENDA TALHAO AREA CUSFIX CUSVAR;LABEL FAZENDA=‘NOME*DA*FAZENDA’

TALHAO=‘NÚMERO*DO*TALHÃO’AREA=‘ÁREA*DO*TALHÃO*(HA)’AREA= ÁREA*DO*TALHÃO*(HA)CUSFIX=‘CUSTOS*FIXOS*(R$/HA)’CUSVAR=‘CUSTOS*VARIÁVEIS*(R$/HA)’;

FORMAT AREA CUSFIX CUSVAR COMMAX8.2;RUN;ODS PDF CLOSE;

19

Page 20: Comandos SAS paraComandos SAS para análise ...cmq.esalq.usp.br/wiki/lib/exe/fetch.php?media=publico:...ODS PDF CLOSEODS PDF CLOSE; Nota Importante: Toda vez que for rodar novamente

20