Pular para o conteúdo principal

Como você pode executar o Python no Tableau com o TabPy: Um guia completo

Siga estas etapas para que você comece a executar scripts Python no Tableau usando o TabPy. Isso permitirá que você crie pipelines de modelagem e análise para suas visualizações do Tableau.
Atualizado 17 de jun. de 2025  · 9 min lido

O Tableau é uma ferramenta de visualização de dados muito popular entre os profissionais de dados e uma ferramenta comumente solicitada durante a contratação. Python é uma linguagem de programação versátil amplamente usada na ciência de dados. A integração do Python no Tableau permite que os usuários criem modelos sofisticados, executem cálculos complexos e ampliem os recursos nativos do Tableau. 

Isso é especialmente útil para analistas de dados, cientistas de dados e profissionais de business intelligence que desejam aproveitar a modelagem estatística, o machine learning e as técnicas de processamento de dados diretamente em seus painéis.

Este artigo serve como um tutorial prático para você integrar o Python ao Tableau. Você aprenderá a configurar seu ambiente, executar scripts Python, explorar casos de uso de análise avançada e solucionar problemas comuns. Se você quiser conhecer o Tableau, siga este curso de introdução ao Tableau.

Entendendo a integração

A integração do Python com o Tableau é possível por meio de um serviço externo, a extensão de análise chamada TabPy (Tableau Python Server). Essa extensão permite que os usuários do Tableau executem scripts Python em seu ambiente do Tableau. 

Embora você possa ter experiência no uso do Python para criar arquivos e depois visualizá-los no Tableau, como neste tutorial Visualizando dados com o Python e o Tableau, essa conexão com o TabPy permite uma integração mais perfeita entre os dados no Tableau e seus scripts do Python.

A função do TabPy

O TabPy funciona como uma ponte entre o Tableau e o Python. Ele opera em um modelo cliente-servidor, em que o Tableau (cliente) envia scripts para o TabPy (servidor), que os executa em um ambiente Python e retorna os resultados.

Como funciona

  1. O Tableau Desktop ou o Tableau Server envia um script usando campos calculados.
  2. TabPy executa o código Python.
  3. Os resultados são enviados de volta ao Tableau para serem renderizados em visualizações.

Diagrama mostrando a conexão entre o Tableau, o TabPy e o Python

Diagrama mostrando a conexão entre o Tableau, o TabPy e o ambiente Python gerado usando o eraser.io

Benefícios de usar o Python com o Tableau

Embora o Tableau seja extraordinariamente poderoso, às vezes seus campos calculados podem parecer desajeitados ou ineficientes quando se trata de tarefas analíticas complexas. A integração com o Python oferece várias vantagens em relação aos recursos nativos do Tableau e dá aos usuários mais liberdade para processar seus dados. 

Por exemplo, você pode incluir os seguintes casos de uso com Python:

  • Modelagem avançada: Use bibliotecas como scikit-learn, statsmodels e xgboost para regressão, agrupamento e classificação.
  • Integração de API: Obtenha dados em tempo real usando APIs como Twitter, Reddit ou serviços empresariais personalizados.
  • Processamento dinâmico: Execute cálculos que se adaptam com base na entrada do usuário ou na alteração de dados. Você pode usar pacotes como pandas ou numpy para realmente aumentar o poder analítico do seu painel do Tableau.

Configurando o TabPy

Para começar a usar o Python no Tableau, você precisará instalar e configurar o TabPy. Esta etapa é bastante simples! O processo principal é garantir que você tenha o Python e o Tableau instalados em seu computador.

Requisitos do sistema e instalação

Pré-requisitos:

  • Python 3.7+ (certifique-se de que você tenha o pip)
  • Tableau Desktop ou Tableau Server (recomenda-se a versão 2020.1 ou posterior)

Instalação passo a passo:

1. Instale o Python. Siga as instruções do seu sistema operacional para instalar o Python.

2. Crie um ambiente virtual:

python3 -m venv tableau-env

3. Instale o TabPy (certifique-se de ativar seu ambiente). Você também pode instalar outros pacotes, como pandas, numpy, sklearn, entre outros, neste momento.

pip install tabpy

4. Inicie o TabPy:

tabpy

Configuração do TabPy

Para personalizar o TabPy, edite seu arquivo de configuração. Essas personalizações permitem que você altere coisas como a porta que o TabPy escuta para obter informações e o protocolo de transferência que utiliza. Para obter mais informações sobre as definições de configuração, siga o o guia de configuração do TabPy.

Exemplo de arquivo de configuração (tabpy.conf)

Aqui está a aparência de um arquivo de configuração para o tabpy.

[TABPY]
TABPY_PORT = 9004
TABPY_TRANSFER_PROTOCOL = http

Dicas de rede e segurança

Como o TabPy depende do uso de uma conexão de servidor semelhante à Internet para seus recursos locais, é melhor você seguir algumas dicas de rede e segurança: 

  • Certifique-se de que você escolha uma porta que esteja aberta no firewall, mas que não ouça conexões externas. 
  • Configure um proxy reverso, como o NGINX, com SSL para que você tenha uma comunicação segura. 
  • Se você estiver executando no Tableau Server, certifique-se de que o TabPy esteja acessível na mesma rede

Para obter mais detalhes sobre como começar a usar o TabPy, siga este tutorial de introdução ao TabPy.

Executando o Python no Tableau

Depois de configurar o TabPy, agora você pode integrar o Python diretamente aos painéis do Tableau. Você deve primeiro habilitar as conexões de extensão no Tableau. Abra o Tableau Desktop, vá para Configurações e desempenho, Gerenciar conexão de extensão de análise e selecione TabPy. Em seguida, configure-o com base nas definições do arquivo de configuração do TabPy.

Tela Gerenciar conexão de extensões analíticas no Tableau

Tela Gerenciar conexão de extensões do Analytics no Tableau (help.tableau.com)

Métodos de integração de scripts

Existem três maneiras principais de executar scripts Python no Tableau: cálculos de script em linha dentro de um campo calculado, pré-processamento com extensões do Tableau e pontos de extremidade de modelo.

1. Cálculos de script em linha

Use as funções SCRIPT_REAL, SCRIPT_INT, SCRIPT_STR ou SCRIPT_BOOL do Tableau. Cada uma dessas funções passa dados para o servidor TabPy diretamente, sem executar um script externo. Você pode escrever Python diretamente nesses scripts.

Exemplo: Normalização de escore Z

SCRIPT_REAL(
  "import scipy.stats as stats
   return stats.zscore(_arg1)",
  SUM([Sales])
)

O exemplo acima permite que você importe o pacote stats de scipye retorne a pontuação Z da coluna SUM([Sales]) no Tableau.

2. Pré-processamento com extensões de tabelas

Use as extensões do Tableau para realizar o pré-processamento com o Python fora do Tableau e, em seguida, importe os resultados.

  • Pré-processar dados com o Pandas/Numpy.
  • Salve os resultados como um CSV ou ponto de extremidade de API.
  • Carregar dados processados no Tableau.

Essas extensões são ativadas na página Planilhas da pasta de trabalho do Tableau. Com essas extensões, você insere todo o seu script usando a extensão TabPy. Isso executa o script em todo o conjunto de dados, o que permite que você pré-processe todos os dados de uma só vez, em vez de no nível da linha. Isso geralmente gera uma tabela separada como saída.

Recurso de extensão de tabelas disponível na parte inferior da página Folhas 

Se você quiser, pode usar o recurso de extensão de tabelas disponível na parte inferior da página Folhas. (Da documentação do Tableau)

3. Pontos de extremidade do modelo implantado

O último método é um dos mais eficientes. Hospedamos um modelo usando o servidor TabPy para executar um script. Em seguida, invocamos esse script no Tableau quando estamos interessados em executar esse modelo em um determinado conjunto de dados.

Exemplo: Implantar o modelo no TabPy

A primeira etapa é criar um arquivo que será implantado pelo TabPy. Depois de executar seu servidor TabPy (seguindo as etapas acima), você pode usá-lo para executar seu script Python. Quando esse script Python for implantado, você o chamará no Tableau usando SCRIPT_REAL.

from tabpy.tabpy_tools.client import Client
import pickle

def predict_sales(input_features):
    model = pickle.load(open(model.pkl, ‘rb’)) # This assumes you have a saved model
    return model.predict(input_features)

client = Client(‘http://localhost:9004’)

client.deploy('predict_sales', predict_sales, 'Predict sales using linear model', override=True)

Chamada de script do Tableau:

SCRIPT_REAL("return tabpy.query(‘predict_sales’, _arg1)[‘response’]", SUM[Feature1])

Técnicas de otimização de desempenho

Assim como na execução de scripts Python fora do Tableau, você deve ter cuidado com o desempenho. Há algumas considerações especiais que você deve fazer ao executar dados no Tableau.

  1. Processamento em lote: Minimize o número de chamadas processando os dados em partes. Geralmente, é útil processar todo o conjunto de dados de uma só vez, em vez de quando ele é chamado pelo Tableau.
  2. Armazenamento em cache dos resultados: Armazene em cache os resultados estáticos usando as configurações de cache do Tableau.
  3. Vetorização: Use operações NumPy/Pandas em vez de loops para uma execução mais rápida. Esses recursos geralmente vetorizam os cálculos matemáticos, tornando-os muito mais eficientes.

Se estiver usando o Tableau Server, você pode otimizar ainda mais usando o pooling de conexões. Em geral, o pooling de conexões é a ideia de manter conexões persistentes com fontes de dados para minimizar a sobrecarga. 

Você pode fazer o mesmo com as fontes de dados e o TabPy para evitar que o Tableau "reabra" a conexão com o TabPy sempre que você executar um script ou um novo cálculo.

Casos de uso analítico avançado

Agora que os conceitos básicos foram abordados, você pode implementar análises altamente personalizadas. Esses métodos envolvem a criação de scripts mais avançados que interagem com seu painel de maneiras interessantes.

Análise preditiva em tempo real

Um modelo excelente é a implantação de modelos de séries temporais (por exemplo, ARIMA, Prophet) que são atualizados com a entrada do usuário, assim como este guia sobre a implantação de funções e o Prophet com o TabPy

Depois de criar seu modelo, você pode empacotá-lo em um script que pode ser implantado pelo TabPy. Em seguida, conectamos esse modelo ao Tableau usando a mesma função SCRIPT_REAL para chamar nosso modelo implantado.

Caso de uso: Previsão de vendas

  • Crie e treine um modelo Prophet em Python.
  • Implantar o modelo no TabPy usando o histórico de vendas como recurso
  • Atualize as previsões sobre o número de vendas à medida que o filtro do painel for alterado.

Agora, se você alterar os filtros, como local, horário ou produto, o Tableau gerará novas previsões em tempo real com esses novos filtros.

Segurança e governança

Uma vez que abrimos nossas conexões com o TabPy, é fundamental seguirmos os protocolos de segurança e governança adequados. 

Protocolos de autenticação

O TabPy oferece uma variedade de protocolos de autenticação para ajudar os usuários a se manterem seguros. Os itens a seguir são compatíveis e podem ser configurados:

  • Autenticação básica (nome de usuário/senha)
  • Autenticação baseada em certificado
  • OAuth2 com manuseio seguro de tokens (para uso empresarial avançado)

A prática recomendada é sempre usar HTTPS e tokens seguros para implementações de produção.

Medidas de proteção de dados

Ao conectar o Tableau e o TabPy, devemos nos certificar de que estamos seguindo a governança de proteção de dados adequada. Isso inclui garantir que os dados fluam pelos canais de conexão corretos e não possam usar outras portas, e que os dados sejam criptografados o tempo todo durante a movimentação. Estas são algumas práticas recomendadas que você deve seguir:

  • Criptografar a comunicação entre o Tableau e o TabPy.
  • Use regras de firewall e controles de acesso.
  • Ative o registro de auditoria no TabPy para fins de conformidade. Atualize regularmente os pacotes Python para corrigir as vulnerabilidades.

Por fim, se a sua organização tiver que seguir determinadas conformidades regulamentares, certifique-se de que você continue a seguir as práticas recomendadas. Garanta que o GDPR e o CCPR sejam seguidos por meio da anonimização e tokenização de PII antes de serem enviados à TabPy. Além disso, use armazenamento seguro para resultados intermediários do Python para minimizar o vazamento.

Solução de problemas e depuração

Os problemas são inevitáveis, mas a maioria pode ser resolvida rapidamente.

Problemas e resoluções comuns

Problema

Resolução

O Tableau não consegue se conectar ao TabPy

Verifique o firewall, confirme a porta (9004) e verifique se o TabPy está em execução

O script retorna valores NULL

Valide os tipos de entrada e verifique os registros de erros do Python

Desempenho lento

Otimize os dados enviados ao Python, reduza a frequência de chamadas, use o cache

Se você tiver problemas com seu código, siga algumas dessas etapas de depuração (que funcionam para qualquer script):

  • Use print() ou registro em scripts (os registros do TabPy mostram isso).
  • Teste scripts Python fora do Tableau usando o Jupyter.
  • Verifique os registros do Tableau em Meu repositório do Tableau/Logs.

Conclusão

Com a integração do Python ao Tableau, você terá acesso a um poder analítico avançado diretamente em seus painéis visuais. Com o TabPy, você pode:

  • Executar cálculos complexos
  • Implantar e interagir com modelos de ML
  • Amplie significativamente os recursos nativos do Tableau

Não importa se você está executando modelos estatísticos, processando dados de texto ou visualizando previsões, o Python traz uma nova dimensão de inteligência aos painéis do Tableau.

Seguindo as etapas descritas neste guia, você poderá aproveitar o Python para obter análises mais perspicazes, flexíveis e interativas. Para obter mais informações sobre o Tableau e seus recursos, consulte os guias a seguir:

Executar o Python nas perguntas frequentes do Tableau

Você pode usar o Python com o Tableau Public?

Não. O Tableau Public não oferece suporte a serviços externos como o TabPy. A integração com o Python está disponível no Tableau Desktop (Professional Edition) e no Tableau Server.

O TabPy é seguro para ambientes de produção?

O TabPy pode ser protegido para produção usando HTTPS, restrições de firewall, protocolos de autenticação (básico, baseado em certificados, OAuth2) e proxies reversos como o NGINX. No entanto, são necessárias configurações adicionais além da configuração padrão.

Como o Tableau lida com o desempenho do script Python nos painéis?

O Tableau envia dados para o TabPy e aguarda a resposta, o que pode causar atrasos se os scripts não forem otimizados. Para melhorar o desempenho, use técnicas como vetorização, armazenamento em cache, agrupamento e minimização dos dados enviados.

Posso usar ambientes virtuais com o TabPy?

Sim. Você pode executar o TabPy dentro de um ambiente virtual Python, o que ajuda a isolar dependências e evitar conflitos. Ative o ambiente antes de iniciar o TabPy.

O TabPy pode retornar estruturas de dados complexas, como JSON ou dicionários?

Não. O TabPy deve retornar uma lista simples ou uma matriz NumPy que o Tableau possa interpretar. Estruturas de dados complexas, como dicionários ou JSON, devem ser pré-processadas em uma lista antes de serem retornadas.


Tim Lu's photo
Author
Tim Lu
LinkedIn

Sou um cientista de dados com experiência em análise espacial, machine learning e pipelines de dados. Trabalhei com GCP, Hadoop, Hive, Snowflake, Airflow e outros processos de engenharia/ciência de dados.

Tópicos

Principais cursos da DataCamp

Curso

Python Toolbox

4 h
298K
Continue to build your modern Data Science skills by learning about iterators and list comprehensions.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O que é o Tableau - O guia completo do Tableau

Descubra essa ferramenta dinâmica de business intelligence, incluindo como ela foi criada, o que ela pode fazer e como aprender a usá-la pode levar sua carreira para o próximo nível.

Wendy Gittleson

15 min

Tutorial

Tutorial de execução de scripts Python no Power BI

Descubra as diferentes maneiras de usar o Python para otimizar a análise, a visualização e a modelagem de dados no Power BI.
Joleen Bothma's photo

Joleen Bothma

9 min

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Tutorial do Python Excel: O guia definitivo

Saiba como ler e importar arquivos do Excel em Python, gravar dados nessas planilhas e encontrar os melhores pacotes para fazer isso.
Natassha Selvaraj's photo

Natassha Selvaraj

15 min

Tutorial

Tutorial de como executar scripts Python

Saiba como executar um script Python a partir da linha de comando e também como fornecer argumentos de linha de comando ao seu script.
Aditya Sharma's photo

Aditya Sharma

10 min

Tutorial

Tutorial de como executar consultas SQL em Python e R

Aprenda maneiras fáceis e eficazes de executar consultas SQL em Python e R para análise de dados e gerenciamento de bancos de dados.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Ver maisVer mais