Baixe o app para aproveitar ainda mais
Prévia do material em texto
Treinamento GoodData x Protheus 06, Março 2017 GoodData x Protheus Itens a serem estudados • Preparação do Ambiente • Criação do Projeto GoodData • Criação das Views (Consultas SQL) • Desenvolvimento do Modelo de Dados • Configuração do Agent • Criação das ETL’s Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Preparação do Ambiente • Download da Ferramenta CloudConnect • https://developer.gooddata.com/cloudconnect/registration.php • Registrar o Usuário no Analytics/GoodData • http://analytics.com.br Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação do Projeto GoodData • Conectar-se ao analytics.totvs.com.br pelo CloudConnect Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação do Projeto GoodData • Digitar o usuário e senha cadastrado • No campo ‘server’, preencher com ‘analytics.totvs.com.br’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação do Projeto GoodData • Criar o Projeto Local Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação do Projeto GoodData • Criar o Projeto na Nuvem (GoodData/Analytics) • A responsabilidade de criação do Projeto é da TOTVS S.A., e quem deve enviar as informações de qual o tipo do projeto, nome do cliente, e-mail do administrador, etc, é o EAR responsável pelo cliente. • Utilizar o token 0068000000k2bsF_PBG Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das Views (Consultas SQL) • Criar as VIEWS • Criar um banco Intermediário GoodData o Banco Intermediário, onde serão criadas as views (que buscam dados do ERP Protheus) • Executar o script do arquivo Cotacao.sql no banco ‘Intermediário GoodData’ • Executar o script do arquivo Produto.sql no banco ‘Intermediário GoodData’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar o Modelo de dados (arquivo .ldm) • Selecionar o Projeto, e sobre a pasta ‘model’, clicar em New -> Other Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar o Modelo de dados (arquivo .ldm) • Pesquisar por ‘Logical Data Model’ • Dar um nome ao modelo, e finalizar • Todo projeto só pode ter 1 modelo de dados Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar a Entidade ‘Produto’ • No menu lateral, selecionar ‘Add Dataset’ • Clicar sobre a entidade, e em seguida no botão ‘a’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os atributos da entidade Produto • Inserir os campos referentes a consulta SQL (referente a VIEW criada no banco Intermediário do GoodData) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Definição de Fato / Atributo • FATO: o Toda informação ‘Quantitativa’, ou seja, dados de valores, que a partir do mesmo podemos obter cálculos como SOMA, MÉDIA, MINIMO, MÁXIMO, CONTAGEM, etc. Exemplo: Quantidade, Preço, Valor de Desconto • ATRIBUTO: o Toda informação ‘Qualitativa’, ou seja, dado que determina uma categoria, classificando algo. Exemplo: Tipo, Descrição. Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Conceito de ETL: o O processo de Extração, Transformação e Carga (Extract, Transform, Load – ETL) é um processo que envolve: Extração de dados de fontes externas. Transformação dos dados para atender às necessidades de negócios. Carga dos dados. o No treinamento, esse processo é realizado por nosso ‘graph’. Onde é lido os dados de um arquivo CSV (Extract - gerado pelo agent), transformado através de um ‘Metadata’ (Transform) e carregado (Load) via componente GD Dataser Writer (todos os itens serão abordados posteriormente). Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os fatos da entidade Produto • Para alterar um atributo para o tipo ‘Fact‘, deve clicar na entidade e depois em ‘Edit’ • Na coluna ‘Type’, alterar para ‘Fact’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar a Entidade ‘Cotacao’ • No menu lateral, selecionar ‘Add Dataset’ • Clicar sobre a entidade, e em seguida no botão ‘a’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os atributos da entidade Cotacao • Inserir os campos referentes a consulta SQL (referente a VIEW Criada no banco Intermediário do GoodData) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os fatos da entidade Cotacao • Para alterar um atributo para o tipo ‘Fact‘, deve clicar na entidade e depois em ‘Edit’ • Na coluna ‘Type’, alterar para ‘Fact’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar a Entidade de data chamada ‘Emissao’ • No menu lateral, selecionar ‘Add Date’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os relacionamentos entre as entidades • Nossa entidade principal, é a entidade ‘Cotacao’ • Dessa forma, temos que relacionar a entidade ‘Produtos’ e a entidade ‘Emissao’ na entidade ‘Cotacao’ • Clicar sobre a entidade ‘Filha’, e arrastar a seta até a entidade pai Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os relacionamentos entre as entidades • Após relacionar a entidade filha com a entidade pai, deve ser removido o campo de ‘amarração’ entre as duas entidades • Tal procedimento é realizado, pois serve de amarração entre as entidades. Ou seja, o campo EMISSAO da entidade COTACAO é o campo DATA da entidade EMISSAO. Dessa forma, deixamos apenas uma informação que liga as entidades. • No caso do relacionamento da entidade ‘Emissao’, é removido o campo Emissao da entidade ‘Cotacao’ • Clicar na entidade ‘Cotacao’ e em editar, e clicar no campo Emissao com o lado direito do mouse e em delete Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Criar os relacionamentos entre as entidades • Realizar o mesmo procedimento anterior, para relacionar a entidade ‘Produto’ a entidade ‘Cotacao’ • Remover o campo Produto da entidade ‘Cotacao’ • Definir o campo CODIGO da entidade ‘Produto’ como Primary key • Clicar sobre ‘Primary Key’, depois alterar para ‘Connection Point’ e selecionar o campo CODIGO Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Desenvolvimento do Modelo de Dados • Publicar o Modelo de Dados • Clicar no menu lateral em ‘Publish model to Server’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Estrutura de Arquivos da pasta do Agent • Criar para do Agent (Preferencialmente em C:\GoodData\Agent • JDBC – Pasta com os arquivos responsáveis para fazer a conexão com o banco de dados • DATE_FIELD.txt – Arquivo de conversão de data • gdc-agent-totvs-1.0.16.jar – Executável do Agent • log4j.properties – Arquivo de configurações do log debug • my.properties – Arquivo de configurações do Agent • Run.bat – Executável responsável pela execução do Agent Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Configurando o Agent (arquivo de configurações do Agent .properties ‘my.properties’) • Tags utilizadas: o gdc.TSA=FALSE o gdc.username=teste@teste.com o gdc.password=teste o gdc.upload_url=https://secure-di.gooddata.com/project-uploads/{ID-PROJETO}/today/ o gdc.upload_archive=CUSTOM.zip o gdc.etl.process_url=https://analytics.totvs.com.br/gdc/projects/{ID-PROJETO}/dataload/processes/{ID-PROCESS}/ o gdc.etl.graph=Treinamento/graph/custom.grf o jdbc.driver_path=T:/GoodData/agent/jdbc/sqljdbc_4.0/ptb/sqljdbc4.jar o jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver o jdbc.url=jdbc:sqlserver://localhost;DatabaseName=Fluig-smart-datao jdbc.username=gooddata o jdbc.password=gooddata o gdc.jbdc.file_date=DATE_FIELD.TXT o data.COTACAO.sql=SELECT Filial, Cotacao, Produto, Desconto, Emissao, Total, Fornecedor, Loja, Preco, Quantidade FROM COTACAO o data.PRODUTO.sql=SELECT FILIAL, CODIGO, DESCRICAO, CUSTO FROM PRODUTO Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Configurando o Agent • Tags utilizadas: o gdc.TSA=FALSE // INDICA SE O PROJETO É TOTVS SMART ANALYTICS (FALSE OU TRUE) o gdc.username=teste@teste.com // E-MAIL DE USUARIO COM PRIVILÉGIOS DE ADMIN DO PROJETO o gdc.password=teste // SENHA DO USUARIO COM PRIVILEGIOS DE ADMIN DO PROJETO (o usuário deve ter privilégios de administrador do Projeto. Normalmente é criado um usuário apenas para o agent. Exemplo: gooddata@minhaempresa.com ). o gdc.upload_url=https://secure-di.gooddata.com/project-uploads/{ID-PROJETO}/today/ o // DIRETORIO ONDE FICA O ARQUIVO ZIP COM OS CSV’s (diretório do Projeto no GoodData onde ficam os arquivos ZIP gerados pelo Agent) o gdc.upload_archive=CUSTOM.zip o // NOME DO ARQUIVO ZIP QUE ESTÃO OS CSV’s (é gerado um único arquivo ZIP com todos os arquivos CSV) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Configurando o Agent • Tags utilizadas: o gdc.etl.process_url=https://analytics.totvs.com.br/gdc/projects/{ID-PROJETO}/dataload/processes/{ID-PROCESS}/ o // URL DO PROCESSO DE ETL o gdc.etl.graph=Treinamento/graph/custom.grf o // GRAPH QUE SERÁ EXECUTADO Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Configurando o Agent • Tags utilizadas: o jdbc.driver_path=T:/GoodData/agent/jdbc/sqljdbc_4.0/ptb/sqljdbc4.jar o // DIRETORIO COMPLETO + ARQUIVO .JAR DO JDBC o jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver o jdbc.url=jdbc:sqlserver://localhost;DatabaseName=Fluig-smart-data o // IP(:PORTA SE DIFERENTE DE 1433);DATABASENOME=<Nome do Banco de Dados Intermediário> o jdbc.username=gooddata // USUARIO DO BANCO DE DADOS o jdbc.password=gooddata // SENHA DO BANCO DE DADOS Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Configurando o Agent • Tags utilizadas: o gdc.jbdc.file_date=DATE_FIELD.TXT // ARQUIVO COM OS CAMPOS DE DATA UTILIZADO NO SMART ANALYTICS o data.PRODUTO.sql=SELECT FILIAL, CODIGO, DESCRICAO, CUSTO FROM PRODUTO o // A LINHA ACIMA REPRESENTA O ‘SELECT’ NA VIEW CRIADA ANTERIORMENTE NO BANCO DE DADOS INTERMEDIÁRIO o // CONSULTA SQL DA VIEW QUE GERA O CSV o //EXEMPLO: o data.<NomeDoCSV>.sql=SELECT <CAMPO1>,<CAMPO2> FROM <NomeDaView/Tabela> Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Configuração do Agent • Executando o Agent • Nesse momento, é criado um arquivo .bat (executável), que executa o agent baseado no arquivo de configurações .properties. • Tags utilizadas: o Criar na pasta onde fica o Agent e o arquivo de configurações (.properties), um arquivo .BAT da seguinte maneira: • Sintaxe: • java –jar <nome do arquivo agente> <nome do arquivo de configurações> • pause (para não fechar o DOS quando terminar a extração e upload dos dados) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o O graph é uma serie de etapas usadas para extrair os dados de um sistema de origem e carrega-lo no GoodData. o Etapas para criação de um graph: Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Após a criação do graph, é necessário configurar a origem de dados. o No nosso caso, a origem será dos CSV’s gerados, a partir da conexão ao banco de dados. o Para inicio da modelagem, executamos o Agent com as ETL’s comentadas (apenas para geração do CSV) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Após a execução do Agent com as ETL’s comentadas, é gerado o ZIP no GoodData com os arquivos CSV (o endereço do ZIP com os CSV’s está configurado no arquivo .properties no local gdc.upload_url) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Para início da criação da ETL, efetuar o download do arquivo ZIP na maquina local, extrair os arquivos CSV e copiar para o diretório ‘data’ do CloudConnect Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Arrastar o arquivo CSV para dentro do Graph: o Clicar com o lado direito do mouse no CSV Reader, e em seguida ‘Extract Metadata’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Na opção ‘Quote Char’, digitar aspas (caractere de separação), em seguida selecionar o flag de ‘Extract names’ e clicar em ‘Reparse’ Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Na janela ‘Metadata Editor’, parametrizar os campos e seus respectivos tipos de dados, máscara, etc: Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Após extrair o metadata, deve ser criado o componente ‘GD Dataset Writer’ (responsável por gerar os dados no GoodData): o Selecionar o metadata gerado para ligar o CSV Reader com o componente GD Dataset Writer Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Clicar com o lado direito do mouse no componente GD Dataset Writer e clicar em Edit o No campo ‘Data set’, selecionar a entidade criada no modelo de dados correspondente ao CSV Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o No campo ‘Field mapping’ do GD Dataset Writer, configurar os campos do CSV amarrando aos atributos da entidade selecionada anteriormente: o No nosso caso, o campo ‘CODIGO’ da entidade é nosso campo ‘Produto’ do CSV. Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Para executar/testar o graph, ir na opção de menu ‘Run’, e em seguida ‘Run As’ -> ‘1 Graph Locally’ o No final da execução do graph, é gerado o log (se foi executa com sucesso ou ocorreram erros) Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Para automatizar o graph, e deixar o mesmo apontando para o arquivo da nuvem, seu caminho no ‘File Url’ do CSV Reader deve conter a seguinte estrutura: o zip:(https://<E-MAIL>:<SENHA>@secure-di.gooddata.com/project-uploads/<ID-DO-PROJETO>/today/<NOME- ZIP>)#<NOME-CSV> o Substituir o @ do e-mail por %40 o Exemplo: o zip:(https://goodata%40totvs.com.br:minhaSenha@secure-di.gooddata.com/project- uploads/k4gy7847xj3p8kbx7yqf0xheyakbaoqf/today/TREINAMENTO.zip)#COTACAO.csv Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Criando um graph: o Repetir os mesmos procedimentos para o CSV de Produtos: – Arrastar o CSV para o Graph – Extrair o metadata – Criar o GD Dataset Writer – Vincular o metadata do CSV Reader ao GD Dataset Writer » Configurar o dataset do GD dataset Writer » Configurar o Field Mapping – Vincular o metadata do CSV Reader ao GD Dataset Writer – Executar ‘Run As’ para verificar se existem erros no log – Alterar a URL do CSV Reader para o arquivo na nuvem Fazer o Deploy do Projeto Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Configurando o Agent após criação das ETL’s: o No arquivo .properties, descomentar os trechos que apontam para a ETL o gdc.etl.process_url = preencher com o ID do Processo, conforme imagem o gdc.etl.graph = preencher com o nome do graph criado Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus Criação das ETL’s • Executando o Agent: o Após executar o Agent, é exibido em tela se foi gerado algum erro no processo de ETL, ou se foi bem sucedida a extração e UPLOAD Julio Lisboa – FSW - TOTVS IP Campinas GoodDatax Protheus GoodData • Nomenclaturas: o Report: Todo e qualquer tipo de relatório, sendo desde um gráfico de pizza/coluna, até um gráfico em formato de tabela Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus GoodData • Nomenclaturas: o Dashboard: Conjunto de abas, normalmente cada aba é um segmento da área. Exemplo: Dashboard Compras -> Abas: visão geral, fornecedores, produtos, etc. Julio Lisboa – FSW - TOTVS IP Campinas GoodData x Protheus GoodData • Nomenclaturas: o Aba do Dashboard: Cada aba é um conjunto de relatórios, filtros, métricas e imagens de forma a apresentar um determinado resultado ao usuário. Julio Lisboa – FSW - TOTVS IP Campinas Obrigado ;) Julio Lisboa Fábrica de Software – TOTVS IP Campinas +55 (19) 99442 0375 julio.lisboa@totvs.com.br
Compartilhar