Conectando seus dados ao Tableau Prep Builder com a API Supermetrics [um tutorial passo a passo]
Publicados: 2022-01-11Para criar um relatório acionável e perspicaz no Tableau, você precisa ter dados bem preparados e limpos.
No entanto, como as empresas têm dados em muitos locais e formatos diferentes, a limpeza dos dados para análise pode se tornar um processo pesado.
Isso até o Tableau apresentar o Tableau Prep Builder para capacitar os usuários de dados — incluindo analistas e profissionais de marketing que podem não ter habilidades analíticas profundas — para transformar seus dados.
Neste artigo, mostrarei como conectar seus dados ao Tableau Prep Builder usando a API Supermetrics e compartilharei algumas maneiras de aproveitar seus dados lá.
Aqui estão as etapas pelas quais passaremos:
- Instalar o Tableau Prep Builder
- Instale e configure o TabPy
- Crie um pequeno script Python que conterá a chamada da API Supermetrics
- Crie os fluxos no Tableau Prep Builder, que criará os arquivos de extração do Tableau para nós

Quando terminarmos, você poderá combinar a saída das consultas da API Supermetrics com outras fontes de dados via Union e agendar uma atualização incremental de uma extração do Tableau com dados de nossa API.
Soa bem? Vamos começar!
Veja a API Supermetrics em ação
Descubra a maneira mais fácil de alimentar seus dados de marketing no Tableau ou em qualquer outra ferramenta de BI, banco de dados ou data warehouse que suporte entradas JSON ou CSV.
Etapa 1: instalar o Tableau Prep Builder
O Tableau Prep Builder é uma ferramenta de transformação de dados que o Tableau lançou em 2018 para ajudar seus usuários a limpar e preparar dados para análise.
O melhor do Tableau Prep Builder é que ele permite visualizar todas as suas operações de transformação de dados. Dessa forma, você poderá acompanhar o que está acontecendo com seus dados e identificar erros rapidamente. O resultado é a saída do seu conjunto de dados no Tableau Hyper Extract, que é otimizado para criar relatórios no Tableau.
Como o Tableau Prep Builder está disponível no pacote Tableau, talvez você já tenha acesso a ele.
Configurá-lo é bastante fácil também. Tudo o que você precisa fazer é baixá-lo no site do Tableau, instalá-lo em seu computador e, por fim, inserir sua chave de licença ou iniciar a avaliação gratuita.
Passo 2: Instale o TabPy
TabPy é o segundo componente que precisamos para esta solução.
TabPy é uma extensão do Python para o Tableau. Ele permite executar scripts Python diretamente nos painéis do Tableau ou, o mais importante para o nosso caso aqui, no Tableau Prep Builder.
Você pode encontrar as instruções de instalação no Github do pacote. Claro, você precisará de uma versão recente do Python para que funcione. Quando a instalação estiver concluída, você poderá começar a usar o TabPy executando o processo em segundo plano em uma janela de terminal. Ele informará que está em execução e ouvindo solicitações de entrada do Tableau na porta 9004.
A parte final da preparação para o TabPy é configurar a conexão com ele no Tableau Prep Builder.
Você pode encontrar a opção necessária no menu 'Ajuda' do Tableau Prep em 'Ajuda' > 'Configurações e desempenho' > 'Gerenciar conexão de extensão do Analytics'.
Para este guia, assumimos que você está configurando isso em sua máquina local, portanto, tudo o que você precisa fazer é garantir que o TabPy ainda esteja em execução e que a porta que você vê na janela corresponda à porta em que o TabPy está escutando.

Clique no botão 'Entrar' e pronto!
Etapa 3: configurar o script Python
É hora de configurar o script Python.
Caso você esteja preocupado com essa etapa, não fique. É bem direto. O script que precisamos terá apenas algumas linhas de código, a maioria das quais é o link da API da Supermetrics.
Você pode até mesmo copiar e colar isso em um arquivo de texto e substituir o '[PLACEHOLDER FOR YOUR API LINK]' pelo seu próprio link:
import requests import pandas as pd def get_data_to_flow(input): response = requests.get("[PLACEHOLDER FOR YOUR API LINK]") results = response.json() return pd.DataFrame(results['data'][1:], columns=results['data'][0])
Salve isso como um arquivo com a extensão .py em algum lugar onde você possa encontrá-lo facilmente novamente. Usaremos isso nas etapas a seguir.
Em seguida, vamos gerar um link de API no Supermetrics Query Manager e, enquanto estivermos lá, também faremos download de uma amostra de nossos dados no formato CSV.
Para fazer isso, faça login no site de equipe.
Observe que você pode acessar o Supermetrics Query Manager com uma licença válida da Supermetrics API. Se você ainda não tem uma licença, comece sua avaliação gratuita de 14 dias .
Em seguida, escolha 'Integrações' > 'Gerenciador de consultas'. Você verá uma barra lateral à esquerda da tela. Comece a construir sua consulta lá. Neste exemplo, usarei o Google Ads como fonte de dados. Continue criando sua consulta preenchendo estes campos:
- Selecionar datas
- Selecionar métricas
- Dividir por dimensões
- Filtro e opções
Quando terminar, clique em 'Executar'. Você verá seus dados em uma tabela de visualização e no formato JSON bruto.

Aqui está um tutorial sobre como começar a usar a API Supermetrics.
O Tableau Prep precisará deste exemplo para entender a estrutura de dados que virá na resposta da API.
Observe que a seleção de formato está definida como 'JSON' e não como 'Tableau' porque permitiremos que o script Python — que é escrito para funcionar com a resposta no formato JSON — lide com essa chamada de API. Em seguida, exportei os resultados como um arquivo CSV (1) e copiei a URL da API para o arquivo de script Python preparado (2).
Não se esqueça de salvar o arquivo de script após colar o link da API do Supermetrics!
Etapa 4: reunir tudo no Tableau Prep Builder
Estamos quase lá!
Para que os dados fluam da API Supermetrics para o fluxo do Tableau Prep, agora precisamos conectar o arquivo CSV que baixamos da etapa anterior.
Como o Tableau Prep Builder é bastante exigente quanto aos tipos de dados, ele não aceitará a saída do nosso script Python sem esta etapa. O arquivo CSV tem a mesma estrutura que os dados da API Supermetrics, informando ao Tableau Prep Builder como interpretar isso.

Depois de selecionar o arquivo, o Tableau Prep Builder iniciará um novo fluxo e lerá o conteúdo do CSV. Você pode ver na infobox que ele analisou os tipos de campo corretamente como data, string e número, respectivamente. E é exatamente isso que queremos.

Precisamos adicionar um script como a próxima etapa no fluxo. Faça isso clicando no sinal de mais ao lado da caixa que representa o arquivo CSV e selecionando 'Script'.

É aqui que podemos usar o TabPy. Portanto, certifique-se de que o botão de opção 'Tableau Python (TabPy) Server' esteja ativado e que o TabPy ainda esteja em execução em sua máquina. Em seguida, navegue até o arquivo de script que você criou na etapa anterior.

Também precisamos informar ao Tableau Prep Builder quais funções desse arquivo queremos usar aqui. Nosso pequeno script tem apenas uma função, portanto, se você estiver seguindo este guia, digite o nome da função 'get_data_to_flow' no campo.

Depois que essas configurações forem concluídas, o Tableau Prep deve começar a executar imediatamente a consulta da API Supermetrics e os dados aparecerão na janela de visualização.
Parabéns! Você acabou de carregar com êxito os dados da API Supermetrics para o fluxo do Tableau Prep.
Aproveite seus dados no Tableau Prep Builder
Você pode controlar facilmente quais dados carregar por meio da API Supermetrics editando o link da API. Caso contrário, você pode usar esse elemento de entrada de dados no fluxo do Tableau conforme desejar.
Se estiver usando nossos URLs curtos, você pode descobrir como editar parâmetros neste artigo de documentação.
Contanto que você não altere a forma dos dados adicionando ou excluindo colunas, você pode brincar com os resultados. Se você precisar alterar a forma dos dados, lembre-se de alterar o arquivo CSV adequadamente para que o Tableau Prep possa interpretar a resposta da API.
Agora, vamos explorar algumas funções no Tableau Prep Builder que você pode usar para aproveitar seus dados para análise.
Anexar dados do Supermetrics a um conjunto de dados CSV (UNION)
A primeira coisa que podemos fazer é executar uma operação UNION. Para isso, em vez de apenas fornecer o arquivo CSV de amostra para o Tableau Prep Builder interpretar a saída da API, também o usaremos como um meio de importar dados estáticos.
Imagine ter um conjunto de dados históricos que não mudará mais. Um caso de uso comum seria exportar os dados do ano passado para uma métrica, que você gostaria de usar em um relatório do Tableau, mas também anexar um conjunto de dados atualizado diariamente para mantê-lo atualizado.
Por exemplo, configurei uma consulta no Gerenciador de consultas para obter dados do Google Ads para 2020 e baixei os resultados como CSV.

Em seguida, alterei o seletor de data de 'Ano passado' para 'Ano até a data' e copiei o link da API para esta consulta no arquivo de script Python. Veja como o arquivo de script se parece. Observe que minha chave de API exclusiva foi redigida.


Agora seguimos os mesmos passos de antes. Precisamos adicionar uma operação UNION e uma 'Saída' no fluxo:
- Inicie um novo fluxo no Tableau Prep conectando-se primeiro ao arquivo CSV.
- Adicione uma etapa de 'Script' após o CSV com o TabPy atendendo à função de chamada da API.
- Adicione uma etapa 'Union' após o script, clique e arraste a etapa CSV para ela, formando um triângulo.
- Adicione uma etapa de 'Saída' após UNION.

Executar o fluxo agora nos dará um hiperextrato que pode ser usado como fonte de dados para seu projeto do Tableau. E como a chamada da API tem um intervalo de datas relativo (ano até a data), você pode simplesmente continuar reexecutando o fluxo para atualizar a extração!
Você também pode optar por salvar o arquivo de saída em seu disco rígido local ou publicá-lo diretamente em um Tableau Server ou Tableau Online para compartilhar com outros usuários do Tableau em sua organização.
Atualização de extração incremental com dados da Supermetrics
O método descrito acima funcionará muito bem para pequenas e médias quantidades de dados. No entanto, quando suas consultas à API se tornarem maiores e mais exigentes — em termos de recursos de tempo de execução — é uma boa ideia realizar uma atualização incremental do conjunto de dados em vez de solicitar o intervalo de tempo integral em cada execução de fluxo e substituir a extração anterior .
Felizmente, o Tableau Prep vem com uma opção integrada para atualizações incrementais de um arquivo de extração existente. Você só precisa especificar qual coluna na tabela de dados deve ser usada para determinar as novas linhas de dados provenientes da atualização. O fluxo cuidará do resto para você.
No entanto, o Tableau Prep Builder não oferece suporte a isso para dados por meio de uma execução de script.
Veja como contornar as limitações e criar uma solução funcional para atualização de dados incremental.
Vamos dividir o processo em duas partes:
Primeiro, criamos uma Hyper Extract do Tableau que conterá a atualização. Em seguida, aplique isso à fonte de dados real na segunda etapa. Isso é importante porque a atualização incremental de uma extração é realmente suportada quando outro arquivo de extração é a fonte de dados de atualização.

Para chegar lá, criamos um fluxo que inclui um script novamente. Usamos um intervalo de tempo relativo em nossa chamada de API que manterá a quantidade de dados que solicitamos leve. Eu uso 'os últimos 10 dias' neste exemplo.

Para criar o arquivo de extração que será nosso 'Atualizador', precisamos usar o que aprendemos até agora sobre scripts no Tableau Prep Builder.
Aqui, usei um arquivo de extração existente como entrada antes da etapa de script para demonstrar que ele também funciona e que o arquivo CSV inicial que usamos é apenas uma etapa necessária para executar o script.
Sem a operação UNION, a saída desse fluxo será simplesmente o que nossa etapa de script estiver puxando por meio da API Supermetrics.

Depois de salvar este arquivo de saída em minha unidade como 'increment.hyper', agora posso configurar o fluxo final que atualizará um extrato publicado usado para vários relatórios.

Isso pode parecer contra-intuitivo – com certeza foi para mim.
Estamos nos conectando ao arquivo de incremento no Tableau Prep Builder e tudo o que fazemos é adicionar uma 'Saída' que aponta para o arquivo que já temos e queremos atualizar.
Aqui, tenho uma etapa de limpeza opcional no fluxo que separa os dois. A parte importante aqui é habilitar a atualização incremental no 'Input', nosso arquivo 'increment.hyper'. Precisamos definir o campo que será usado para detectar novas linhas entrando no fluxo. No nosso caso, isso é 'Data'.
Então, vamos escolher a 'Saída' que aponta para o destino que desejamos atualizar e combinar o campo 'Data' da 'Entrada' com o campo 'Data' correspondente na 'Saída'.
Essa configuração nos dá uma nova opção de executar o fluxo como uma atualização incremental. Excelente!

Esse método preserva todos os dados que já temos no arquivo de saída. Pode ser uma extração enorme com milhões de linhas — estamos apenas adicionando novas linhas a ela neste procedimento. Depois de criar esses fluxos, leva apenas alguns segundos para executá-los e atualizar os dados. Afinal, agora estamos consultando apenas a API Supermetrics para dados de 10 dias.
É isso!
Usar a API Supermetrics como fonte de dados em seu Tableau Prep Builder ajuda a executar tarefas complexas de modelagem de dados que geralmente exigem um data warehouse.
Se você quiser potencializar seus relatórios do Tableau, agende uma demonstração com nossa equipe de vendas ou inicie uma avaliação gratuita de 14 dias da API Supermetrics.