Professional Documents
Culture Documents
SAS Enterprise Guide 2021
SAS Enterprise Guide 2021
2021
2
CONTEÚDO DO CURSO
Iniciando o SAS Enterprise Guide;
Libraries do SAS Enterprise Guide;
Consultas básicas utilizando SAS;
Aplicando filtros no query builder;
Relacionamento entre tabelas;
Importando dados do Excel;
Principais tabelas do Data Wharehouse da Sefaz-MG e suas “chaves de distribuição”;
Sumarizando dados em consultas;
Exportando dados para o Excel;
Criando consultas em notas fiscais eletrônicas;
Critérios para consultas NFE no ambiente SEFAZ/MG;
Filtros comuns em consultas NFE;
Funções com filtros avançados: IN, LIKE e Contains;
Combinação de filtros simples: cláusula “OR”
Função Union Tables;
Laboratórios Práticos.
3
CONCEITOS BÁSICOS DO SAS ENTERPRISE GUIDE
4
SAS ENTERPRISE GUIDE - CONCEITO
O Guide é uma ferramenta da plataforma SAS para criação de fluxos de trabalhos que envolvem
buscas/consultas, cálculos estatísticos e matemáticos;
Ganhos:
-funções automatizadas para análises de forma mais organizada que a grande maioria dos softwares;
5
SAS ENTERPRISE GUIDE – CURVA DE APRENDIZAGEM
7
SAS LIBRARIES
Uma library ou biblioteca é o ambiente no qual as bases Históricas são disponibilizadas. O
endereço da library diz ao SAS onde encontrar ou armazenar uma base de dados.
- Library Temporária: uma biblioteca temporária trabalha na forma de rascunho e mantém os dados
enquanto o SAS GUIDE estiver em funcionamento.
- Library Permanente: não reside no dispositivo interno do computador e independe da memória RAM
para manter os dados. Os dados são armazenados no dispositivo de Data Wharehouse (Netezza).
Utilizar uma biblioteca pessoal “USERTBLS” para armazenar as tabelas criadas em um projeto analítico;
8
NOMENCLATURA DE TABELAS NA LIBRARY USERTBLS “NTZ_02”
Para manter a gestão da Data Wharehouse as tabelas salvas na biblioteca pessoal são apagadas de 15 em 15
dias;
9
CONSULTAS BÁSICAS UTILIZANDO O SAS – EXEMPLO 1
IFTD_CONTRIBUINTE – Contribuintes Regime Débito e Crédito do Segmento Calçados
Visualizando a tabela: duplo
click ou botão direito “open”
As chaves de distribuição
geralmente são campos Nome da Library física REGRAS PARA O NOME DA TABELA:
numéricos e devem ser inseridas onde a tabela será criada
nas primeiras colunas da tabela. no Netezza. - Não deve ter espaços, caracteres
Isso otimizará as consultas. especiais, acentos, vírgula, ponto...
11
APLICANDO FILTROS BÁSICOS: QUERY BUILDER
Acesse o conteúdo
do campo
NÃO UTILIZAR
PARA NFE e NFCE
DICA:
Se não for usar o campo do filtro para
análises futuras não o selecione na
janela inicial, ao criar a nova tabela.
Consultas com tabelas menores
apresentam maior desempenho. Caso
você precise de campos com
informações descritivas, é mais eficaz
buscá-los somente na última consulta.
12
PRINCIPAIS FILTROS SIMPLES: QUERY BUILDER
OPERADORES MATEMÁTICOS
13
LABORATÓRIO 1
14
LABORATÓRIO 1:
Responda as questões a seguir:
- Lembre-se de inserir nomes na consulta (query name) e na tabela a ser gerada (output name)
- As chaves de distribuição devem ser os primeiros campos selecionados na criação da tabela.
- Os exercícios são independentes!
15
RELACIONAMENTO ENTRE TABELAS
16
CONCEITO: JOIN
A cláusula JOIN permite que os dados de diferentes tabelas sejam combinados com base na relação existente entre elas.
Pensando em performance, o ideal é que os joins sejam feitos de duas em duas tabelas, embora em algumas situações é
necessário acrescentar outras.
Não utilize campos de códigos em formato texto como chave para fazer consultas em grandes tabelas.
Para que essas relações sejam feitas de forma correta é necessário conhecer as chaves de cada tabela para se evitar o
produto cartesiano e incluir filtros de data.
Não relacionar tabelas das libraries do Netezza com tabelas da library work. Netezza Work
PRODUTO CARTESIANO: COMBINAR TODAS AS LINHAS COMUNS ENTRE DUAS OU MAIS TABELAS
- Esse resultado é decorrente de consultas mal construídas com união de tabelas utilizando as chaves de forma errada;
- Consultas construídas sem as premissas necessárias podem gerar problemas de desempenho e impactos no ambiente;
- Além de verificar as chaves é necessário incluir filtros para não trazer todos os dados do sistema;
- Em NFE o filtro é anual. Para Histórico de 2 a 5 anos, por exemplo, deve-se trazer cada ano em consultas separadas.
17
TIPOS DE JOINS
INNER JOIN
18
IMPORTANTO DADOS DO EXCEL E TREINANDO RELACIONAMENTO ENTRE TABELAS
1 2 4 6
19
Exemplo Básico
IMPORTANTO DADOS EXCEL PARA NETEZZA: REGRAS
- Ao receber/utilizar um arquivo em Excel com CNPJs para consulta de notas fiscais edite os nomes das colunas. O NETEZZA
não permite caracteres especiais e espaços no nome das colunas:
- Formato das colunas do Excel devem estar como texto ou numérico. Formatos contábil ou geral, por exemplo, podem
acusar erros;
- Exclua repetições de linhas com mesmo número de CNPJ para evitar produto cartesiano na consulta. É possível fazer no
próprio Excel:
- Nomeie as suas planilhas no Excel seguindo o critério de não utilizar caracteres especiais:
20
Nome planilha
RELACIONAMENTO ENTRE TABELAS
Modo tradicional: Modo Atalho: RESULTADO: INNER JOIN
1 1
21
EXEMPLO DE OUTROS JOINS
LEFT JOIN
LEFT JOIN
A WHERE B IS MISSING
BUSCA TODAS
AS EMPRESAS
SEM RESTRITIVO.
LEMBRANDO
QUE CAMPOS
VAZIOS NÃO
PRECISAM SER
TRAZIDOS NA
CONSULTA.
22
PRINCIPAIS TABELAS E SUAS CHAVES – AMBIENTE SEFAZ MG
TB_END_IP SQ_NF
IFTD_NCN CD_SUB_ITEM_NCM (8 POSIÇÕES)
24
SUMARIZANDO DADOS – RELACIONANDO TABELAS
No SAS GUIDE é possível sumarizar colunas agregando dados de outra coluna como CNPJ, ID_CONTRIBUINTE, SEGMENTO, UF...
O exemplo a seguir apresenta a soma da Receita Arrecadada por CNPJ no ano de 2018 por Segmento.
25
SUMARIZANDO DADOS – APLICANDO FILTROS
NOME DA QUERY
FUNÇÃO SUMARY
FILTRO
26
EXPORTANDO DADOS PARA O EXCEL
MÉTODO 1: botão direito do mouse sobre a tabela > Send To > Microsoft Excel
MÉTODO 2: botão direito do mouse sobre a tabela > Export Método recomendável
27
LABORATÓRIO 2
28
LABORATÓRIO 2:
- Segmento: Combustíveis
- Ano: 2020
29
CRIANDO CONSULTAS EM NOTAS FISCAIS ELETRÔNICAS
30
CRITÉRIOS PARA CONSULTAS NFE NO AMBIENTE SEFAZ/MG
1- Sempre utilizar filtros para consultar dados. Ao trabalhar com datas utilizando as tabelas TB_DETALHE e TB_NF inserir filtro de datas;
2- Sempre utilizar a LIBRARY “NTZ_02” (USERTBLS) para gerar as tabelas, exceto as funções estatísticas do MENU “TASKS” que podem ser calculadas na Lib WORK;
3- Períodos superiores a 1 ano (12 meses) devem ser consultados em queries diferentes, sendo uma query para cada ano. No final deve-se juntar as tabelas
utilizando a função UNION ALL conforme exemplos da página 36. A função APPEND do MENU: TASK>DATA>APPEND TABLE só deve ser usada para tabelas
pequenas.
4- Ao receber arquivos em Excel, excluir as repetições de linhas com mesmo número de CNPJ para evitar produto cartesiano na consulta. É possível fazer no
próprio Excel;
5- Utilizar somente campos numéricos como chave ao fazer join entre tabelas. Não utilize campos de código (formato texto) como chave para fazer consultas em
grandes tabelas;
6- Ao selecionar os dados, incluir as chave numéricas sempre nas primeiras coluna. Os campos numéricos devem sempre ser selecionados primeiramente na
criação de novas tabelas;
7- Os joins devem ser feitos sempre de duas em duas tabelas, salve raras exceções;
10- Nunca cruze tabelas diretamente com as TABELAS DE NOTAS FISCAIS. Faça uma consulta com os filtros e crie primeiro uma tabela no período e demais critérios
desejados;
11- Funções like, contains e sumarizações DEVEM ser utilizadas somente depois de feitos os primeiros filtros e critérios. Nunca utilize essas funções na busca inicial;
31
12- Nunca clique em get values na tela de filtros do query builder. As tabelas de notas fiscais são grandes e sua tela irá travar.
FILTROS COMUNS CONSULTAS NFE Library: NFE TABELA: TB_DETALHE
CD_CFOP - CÓDIGO FISCAL DE OPERAÇÕES E PRESTAÇÕES: código de 4 dígitos indicado nas emissões de notas fiscais, declarações, guias e escrituração de livros.
É utilizado em uma operação fiscal e define se a nota emitida recolhe ou não impostos, movimento de estoque e financeiro.
Filtro avançado SAS: t1.CD_CFOP in(códigos numéricos de CFOP separados por vírgulas)
Posição da tabela ao ser inserida na query
CD_NCM - Nomenclatura Comum do Mercosul: código de 8 dígitos estabelecido pelo Governo Brasileiro para identificar a natureza das mercadorias e promover
o desenvolvimento do comércio internacional, além de facilitar a coleta e análise das estatísticas do comércio exterior.
Filtro SAS: CD_NCM utilizar os campos numéricos da tabela detalhe: NR_NCM_CAPITULO, NR_NCM_POSICAO, NR_NCM_SUBPOSICAO ou NR_NCM_SUBITEM
NM_PRODUTO: O nome do produto pode ser usado em filtros utilizando a função contains:
Filtro simples SAS: t1.NM_PRODUTO CONTAINS(" parte do nome ") e filtro avançado com a cláusula OR
32
TP_NF: 1= saída ou 0=entrada DT_CANCELAMENTO = IS MISSING
FUNÇÕES COM FILTROS AVANÇADOS: IN, LIKE, CONTAINS...
Para otimizar as consultas de notas fiscais eletrônicas foram criados 4 campos que podem ser usados na
busca de NFE com filtros simples:
34
COMBINAÇÃO DE FILTROS SIMPLES: CLÁUSULA “OR”
Cláusula OR seguida da cláusula 1
AND deve ser agrupada USAR ESSA FUNÇÃO SOMENTE
Campo 1
Campo 2
Campo 3 DEPOIS DOS PRIMEIROS
Campo 4
Inicie o agrupamento 2
Campo 5
Campo 6 FILTROS BÁSICOS DE NFE.
NUNCA UTILIZAR A CLAUSE OR
NA QUERY INICIAL.
Clique no comando de
Campo 1 Campo 2 Campo 3 Campo 4 Campo 5 Campo 6 Selecione as condições da agrupamento
cláusula OR 4
3
VOCÊ PODE FAZER AS CONDIÇÕES
UMA A UMA NO FILTRO SIMPLES,
AO INVÉS DE USAR O FILTRO
AVANÇADO. Campo 1 Campo 2 Campo 2 Campo 4
NECESSÁRIO AGRUPÁ-LAS.
Campo 1
Campo 2
Campo 3
Campo 4
Campo 5
Campo 6
35
FUNÇÃO UNION ALL: UNIR AS TABELAS ANUAIS CRIADAS A PARTIR DA NFE
%_eg_conditional_dropds(NTZ_02.UNIAO_NOME_NOVA_TABELA)
Copiar e colar no nó
proc sql; “program” do SAS. Alterar
connect to NETEZZA (DATABASE=PRO SERVER= 'netezza01.fazenda.mg.gov.br' AUTHDOMAIN="NetezzaAuth");
reset noprint; os nomes das tabelas:
execute (create table PRO.JEISLAN_SOUZA.UNIAO_NOME_NOVA_TABELA as File > New > Program
select*from PRO.JEISLAN_SOUZA.NOME_TABELA_1
union all
select*from PRO.JEISLAN_SOUZA.NOME_TABELA_2
Atenção
union all Substituir apenas o
select*from PRO.JEISLAN_SOUZA.NOME_TABELA_3;)
by NETEZZA; que está em
disconnect from NETEZZA; vermelho,
QUIT; mantendo o . e ;
36
FUNÇÃO APPEND TABLE: USAR SOMENTE SE AS TABELAS FOREM PEQUENAS
1 2 4
37
EXEMPLO NFE
Gerar lista de contribuintes mineiros fabricantes de cerveja/chope que emitiram nota no mês de Janeiro e
Fevereiro de 2021, não canceladas:
TB_DETALHE
Fonte de Dados: TB_NFE
IFTD_CONTRIBUINTE
- NR_IDENTIFICACAO_EMITENTE
- NOME EMPRESA
- CNAE
Trazer os Campos: - CFOP
- COD NCM
- DESCRIÇÃO DOS PRODUTOS
- VALOR TOTAL PRODUTO BRUTO
38
EXEMPLO NFE: PASSO A PASSO
PASSO 1: SELECIONAR NCM, PERÍODO E NOTAS NÃO CANCELADAS Nome na query e na tabela
Seleciona Campos
FILTROS
FILTROS
39
EXEMPLO NFE: PASSO A PASSO
PASSO 2: SELECIONAR CNPJ, CNAE e UF
Nome na query e na tabela
Seleciona Campos
FILTROS
FILTROS
40
EXEMPLO NFE: PASSO A PASSO
PASSO 3: FAZER O JOIN ENTRE AS DUAS TABELAS GERADAS
41
EXEMPLO NFE: PASSO A PASSO
PASSO 4: TOTALIZAR OS RESULTADOS POR EMPRESA
42
LABORATÓRIO 3
43
LABORATÓRIO 3
Gerar lista de fabricantes de colchões de MG com notas não canceladas de saída, nos seguintes critérios:
- NR_IDENTIFICACAO_EMITENTE
- NOME EMPRESA
- CFOP
Trazer os Campos: - COD NCM FONTE: TABELA DE INCIDÊNCIA DO IMPOSTO SOBRE PRODUTOS INDUSTRIALIZADOS (TIPI)
44
LABORATÓRIO 4
45
LABORATÓRIO 4
Gerar lista de fabricantes de confecções de MG no Regime Débito e Crédito com notas de saída não canceladas ,
nos seguintes critérios:
TB_DETALHE
Fonte de Dados:
TB_NFE
IFTD_CONTRIBUINTE
- NR_IDENTIFICACAO_EMITENTE
- NOME EMPRESA
- CNAE
Trazer os Campos: - CFOP
- COD NCM
- DESCRIÇÃO DOS PRODUTOS
- VALOR TOTAL PRODUTO BRUTO
46
LABORATÓRIO 5
47
LABORATÓRIO 5
Gerar lista de fabricantes de outros Estados de confecções notas de saída para MG, nos seguintes critérios:
TB_DETALHE
Fonte de Dados:
TB_NFE
IFTD_CONTRIBUINTE
48
LABORATÓRIO 6
49
LABORATÓRIO 6
Gerar lista de Notas Fiscais de saída de Leite de MG, nos seguintes critérios:
TB_DETALHE
Fonte de Dados:
TB_NFE
IFTD_CONTRIBUINTE
- NR_IDENTIFICACAO_EMITENTE
- NOME EMPRESA
Trazer os Campos: - CFOP
- COD NCM
- DESCRIÇÃO DOS PRODUTOS
50
CONTATOS:
Ajuda para construção de fluxos de trabalhos no SAS, uso de funções complexas, transformação de dados, etc:
saifsuportesas@fazenda.mg.gov.br
2021
Divisão de Projeto Estratégicos – SAIF/DIEF