Você está na página 1de 3

Procedimento de Exportação para CSV no computador local

Objetivo

Usando a linguagem de programação SAS, você pode manipular dados e criar


arquivos de praticamente qualquer tamanho, forma e formato: Excel, PDF, CSV, RTF e
muito mais. Um desafio para os usuários do SAS Enterprise Guide foi: como capturar
esses arquivos e trazê-los de volta ao seu PC local, quando o SAS Workspace estiver
sendo executado em uma máquina remota?

PASSO 1: Construa uma etapa do programa para criar o arquivo CSV


Este programa é fácil de adaptar para qualquer conjunto de dados e ambiente.
Ele funciona no Windows e no UNIX. Tudo o que você precisa saber é a biblioteca e o
nome da tabela dos dados que deseja exportar e, em seguida, a pasta de destino do PC
local. O programa executará a operação de exportação, organizará o arquivo CSV em
um local temporário e definirá as variáveis macro que o próximo passo usará.

/* Data to export */

%let lib = sashelp;


%let datafile = class;

/* Local folder to download to */


%let download_to = c:\projects\data\results;

/* detect proper delim for UNIX vs. Windows */


%let delim=%sysfunc(ifc(%eval(&sysscp. = WIN),\,/));

%let download_from =
%sysfunc(getoption(work))&delim.&datafile..csv;

filename src "&download_from.";

proc export data=&lib..&datafile.


dbms=csv
file=src
replace;
run;

filename src clear;

Componente Copy Files


Dica muito útil é a tarefa Copiar Arquivos. Este é um deles. Se você tiver o SAS
Enterprise Guide 7.13 ou posterior, a tarefa "Copy files" estará no menu "Task"->
"Data". Nas versões anteriores, você terá que baixar / instalar a tarefa como uma tarefa
personalizada.

Autor: Robson Dantas de Andrade Versão 1.0 Data: 16/07/2019


PASSO 2: Use a tarefa Copiar Arquivos para baixar o resultado

A tarefa Copy Files aceita expressões de macro SAS. Essa é uma característica
fundamental, pois as variáveis macro que precisamos são definidas na etapa anterior do
programa. Aqui está uma captura de tela das configurações da tarefa:

Isso torna o uso da tarefa Copy Files muito "genérico". Na verdade, você pode
criar um "Task Tamplate Manger" que defina essas configurações exatas de tarefas e,
assim, sempre tê-las disponíveis no menu Tarefas diretamente.

Autor: Robson Dantas de Andrade Versão 1.0 Data: 16/07/2019


PASSO 3: vincule essas etapas em um fluxo de processo

Crie um link definido pelo usuário entre o programa e a tarefa, garantindo que
eles sejam executados na sequência correta.

Modificações úteis para utilizar em mais de uma tabela

O poder do SAS e a flexibilidade da tarefa Copiar Arquivos realmente tornam essa


operação simples. No entanto, você pode querer considerar algumas variações:

Exporte e baixe uma coleção de arquivos em uma única etapa. Com mods menores
no programa SAS, você pode percorrer uma coleção de conjuntos de dados SAS e
exportar vários arquivos CSV. Em vez de definir um único arquivo para download,
defina a variável & DOWNLOAD_FROM para uma especificação de arquivo com um
caractere curinga. A tarefa Copiar Arquivos pode manipular a notação curinga - sem
problemas. (Bem, não há problema, contanto que você pegue esta atualização.)

/* specify a wildcard */
%let download_from =
%sysfunc(getoption(work))&delim.%str(*).csv;
/* file to create in step */
Filename src "%sysfunc(getoption(work))&delim.&datafile..csv";

Adicione uma notação de data ao seu arquivo de resultados. Você pode ter um
requisito para manter versões mais antigas dos seus resultados. Com um simples ajuste
na expressão de macro, você pode acrescentar uma notação de data aos arquivos
criados. Isso garantirá que, mesmo se você baixar os resultados para o mesmo local
todos os dias, os resultados anteriores não serão substituídos. Quando você faz o
download do arquivo, o nome com o notação de data estará intacto.

filename src "%sysfunc(getoption(work))&delim.&datafile._%trim(%sysfunc(today(),date9.)).csv";

Autor: Robson Dantas de Andrade Versão 1.0 Data: 16/07/2019

Você também pode gostar