En este artículo, hablaremos de cómo configurar un servidor Tabpy para poder utilizar código y scripts de Python directamente en los campos calculados de Tableau y ejecutarlos sobre la marcha en tus propias vistas.
Específicamente, comenzaremos con una instalación limpia de Python y las bibliotecas necesarias para escribir y utilizar un simple script en Tableau en tu máquina. A continuación, veremos cómo configurar Tabpy para que pueda utilizarse en Tableau Desktop o Server.
Pero empecemos por lo básico…
Python
Python es uno de los lenguajes de programación más utilizados en la actualidad. Se basa en la programación orientada a objetos, que podemos imaginar como los «ladrillos» básicos que componen y permiten la creación de softwares cada vez más complejos. Es muy fácil de usar y de aprender, incluso para una persona que se acaba de adentrar en el mundo de la programación. También admite la instalación de módulos y paquetes que permiten ampliar su biblioteca de funciones y programas, de modo que un código Python puede integrarse y reutilizarse con o dentro de muchas otras tecnologías.
Algunas de esas bibliotecas tan importantes de Python son, por ejemplo: NUMPY y SCIPY (que reúnen una enorme cantidad de funciones matemáticas y estadísticas) y PANDAS (que proporciona las principales herramientas de análisis y manipulación de datos, así como sus famosos DataFrames). También está SCIKIT-LEARN, la biblioteca más importante de aprendizaje automático en Python.
Tabpy
Tabpy (o Tableau Python Server) es una de las extensiones de análisis disponibles para Tableau que permite a los desarrolladores y usuarios de dashboards ejecutar código Python directamente dentro de los campos calculados.
Instalación de Python y de las bibliotecas necesarias para Tabpy
En primer lugar, descarga e instala la versión de Python compatible con tu sistema operativo, en nuestro caso Windows, desde el siguiente enlace. ¡Por favor, ten en cuenta que debes seleccionar una versión de Python 3 hasta la 3.9 inclusive para poder utilizar Tabpy! Ninguna implementación de Python 2 soporta esta opción.
En la primera pantalla del procedimiento de instalación, asegúrate de seleccionar «Add Python 3.X to PATH» para que el comando para llamar a Python y ejecutar sus scripts se añada a las variables de entorno de tu sistema.
Una vez instalado Python, abrimos el símbolo del sistema (el terminal de Windows para las acciones de la línea de comandos).
Desde aquí podemos comprobar si la instalación de Python y la suma a las variables de entorno se han completado con éxito probando el comando
Si la pantalla resultante en el terminal se parece a esto, entonces significa que la instalación de Python ha funcionado.
Además, para comprobar qué versiones de Python están instaladas en tu máquina, puedes utilizar el comando
py -0
y para iniciar una versión específica puedes utilizar
py -3.x
sustituyendo «x» por el número de la versión deseada.
En este punto instalamos las librerías necesarias para usar Python en Tableau: Tabpy.
Primero, actualizamos pip (la biblioteca por defecto de Python que se utiliza para gestionar las instalaciones de otras bibliotecas) ejecutando uno de estos comandos:
python -m pip install -upgrade pip (*** para utilizar la última versión instalada de Python ***)
py -3.9 -m pip install -upgrade pip (*** para actualizar la versión de Python seleccionada ***)
Para instalar Tabpy, el comando es el siguiente
pip install tabpy
que instalará no sólo la biblioteca Tabpy, sino también todas las demás dependencias y bibliotecas necesarias de Python.
Para verificar la instalación exitosa de Tabpy, desde el símbolo del sistema, ejecuta el comando tabpy. Si la pantalla resultante es como la siguiente, es que ha funcionado:
Significa que el servicio del servidor Tabpy está en funcionamiento. Advertencia: Siempre que quieras utilizar o ejecutar un script en Tableau, recuerda ejecutar primero el comando tabpy desde el símbolo del sistema.
Configuración de Tabpy en Tableau Desktop
Ahora que Tabpy está en funcionamiento, se puede acceder a él en la dirección de la máquina del servidor donde se instaló e inició (por ejemplo, http://my-server.es/) conectándote al puerto 9004. Si estás en la misma máquina en la que se ejecuta Tabpy, puedes utilizar: http://localhost:9004/
Para permitir que Tableau se comunique con el servidor Tabpy, abre Tableau Desktop y ve a Ayuda > Configuración y rendimiento > Gestionar la conexión de la extensión de análisis y establecer la conexión con el localhost en el puerto 9004.
Podemos probar la conexión haciendo clic en «Probar conexión». Una nueva ventana confirmará el éxito de la conexión:
Bien, ahora todo está listo, sólo recuerda abrir el símbolo del sistema y escribir Tabpy para activar la conexión, de lo contrario Tableau mostrará un error de conexión con el servidor y los campos calculados que requieren Python no podrán ser ejecutados.
Configuración de Tabpy en Tableau Server
Para permitir que Tableau Server se comunique con el servidor de Tabpy, el procedimiento es similar, pero tendrás que poder iniciar sesión como usuario administrador en Tableau Server.
Una vez iniciada la sesión en la web, tendrás que ir a Configuración > Extensiones y desplazarte hacia abajo hasta encontrar la entrada de Extensiones de Análisis. Deberás habilitar las extensiones para tu sitio y hacer clic en «Crear nueva conexión» como se muestra en la imagen:
La ventana que se abrirá será muy similar al caso de Tableau Desktop y como antes tendremos que introducir la misma información sobre el nombre del servidor (por ejemplo, localhost) y el puerto (por ejemplo, 9004), así como introducir un nombre personalizable para la conexión (por ejemplo, «Tabpy»).
¡Eso es! Ahora todos los libros de trabajo publicados en Tableau Server que incluyan campos calculados en los que esté incrustado un script de Python pueden abrirse y mostrarse correctamente.
Próximos pasos
Si has llegado hasta aquí, ya has aprendido a instalar Python, la biblioteca Tabpy y a configurar la comunicación entre Tableau y Python.
En los próximos artículos de esta miniserie, veremos cómo configurar Tabpy como un servicio de Windows para que se ejecute en segundo plano sin tener que acordarse de ejecutarlo cada vez desde el símbolo del sistema, y un caso de uso de ejemplo para crear y subir un script al servidor de Tabpy e incluirlo en un libro de trabajo. También veremos cómo se puede incluir código Python en un paso de Tableau Prep.
¡Si quieres seguir aprendiendo y estar al tanto de todas las novedades, síguenos en Linkedin!