![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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022053122/60a889ad010d8c455f146873/html5/thumbnails/20.jpg)
20