Conexión de sus datos a Tableau Prep Builder con la API de Supermetrics [un tutorial paso a paso]
Publicado: 2022-01-11Para crear un informe procesable y perspicaz en Tableau, debe tener datos limpios y bien preparados.
Sin embargo, dado que las empresas tienen datos en muchos lugares y formatos diferentes, la limpieza de datos para el análisis puede convertirse en un proceso pesado.
Eso fue hasta que Tableau presentó Tableau Prep Builder para empoderar a los usuarios de datos, incluidos analistas y especialistas en marketing que pueden no tener habilidades analíticas profundas, para transformar sus datos.
En este artículo, le mostraré cómo conectar sus datos a Tableau Prep Builder mediante la API de Supermetrics y compartiré algunas formas en las que puede aprovechar sus datos allí.
Estos son los pasos que seguiremos:
- Instalar Tableau Prep Builder
- Instalar y configurar TabPy
- Cree un pequeño script de Python que contendrá la llamada a la API de Supermetrics
- Cree los flujos en Tableau Prep Builder, que creará archivos de extracción de Tableau para nosotros.

Cuando terminemos, podrá combinar el resultado de las consultas de la API de Supermetrics con otras fuentes de datos a través de Union y programar una actualización incremental de un extracto de Tableau con datos de nuestra API.
¿Suena bien? ¡Empecemos!
Vea la API de Supermetrics en acción
Descubra la forma más sencilla de introducir sus datos de marketing en Tableau o en cualquier otra herramienta de BI, base de datos o almacén de datos que admita entradas JSON o CSV.
Paso 1: Instale Tableau Prep Builder
Tableau Prep Builder es una herramienta de transformación de datos que Tableau lanzó en 2018 para ayudar a sus usuarios a limpiar y preparar datos para el análisis.
Lo mejor de Tableau Prep Builder es que le permite visualizar todas sus operaciones de transformación de datos. De esa manera, podrá seguir lo que sucede con sus datos e identificar errores rápidamente. El resultado es la salida de su conjunto de datos en Tableau Hyper Extract, que está optimizado para crear informes en Tableau.
Dado que Tableau Prep Builder está disponible en el conjunto de aplicaciones de Tableau, es posible que ya tenga acceso a él.
Configurarlo también es bastante fácil. Todo lo que necesita hacer es descargarlo del sitio web de Tableau, instalarlo en su computadora y, finalmente, ingresar su clave de licencia o iniciar la prueba gratuita.
Paso 2: Instalar TabPy
TabPy es el segundo componente que necesitamos para esta solución.
TabPy es una extensión de Python para Tableau. Le permite ejecutar secuencias de comandos de Python dentro de los paneles de Tableau o, lo que es más importante para nuestro caso, dentro de Tableau Prep Builder.
Puede encontrar las instrucciones de instalación en el Github del paquete. Por supuesto, necesitará una versión reciente de Python para que funcione. Una vez que se completa la instalación, puede comenzar a usar TabPy ejecutando el proceso en segundo plano en una ventana de terminal. Le dirá que se está ejecutando y escuchando las solicitudes entrantes de Tableau en el puerto 9004.
La última parte de la preparación para TabPy es configurar la conexión en Tableau Prep Builder.
Puede encontrar la opción requerida en el menú 'Ayuda' de Tableau Prep en 'Ayuda' > 'Configuración y rendimiento' > 'Administrar conexión de extensión de análisis'.
Para esta guía, asumimos que está configurando esto en su máquina local, por lo que todo lo que necesita hacer es asegurarse de que TabPy todavía se esté ejecutando y que el puerto que ve en la ventana coincida con el puerto en el que TabPy está escuchando.

Haz clic en el botón 'Iniciar sesión' y ¡listo!
Paso 3: configurar el script de Python
Es hora de configurar el script de Python.
En caso de que estés preocupado por ese paso, no lo estés. Es bastante sencillo. El script que necesitamos solo tendrá unas pocas líneas de código, la mayoría de las cuales son el enlace API de Supermetrics.
Incluso puede simplemente copiar y pegar esto en un archivo de texto y reemplazar el '[MARCADOR DE LUGAR PARA SU ENLACE DE API]' con su propio enlace:
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])
Guárdelo como un archivo con la extensión .py en algún lugar donde pueda volver a encontrarlo fácilmente. Usaremos esto en los siguientes pasos.
A continuación, generemos un enlace API en Supermetrics Query Manager y, mientras estamos allí, también descargaremos una muestra de nuestros datos en formato CSV.
Para ello, inicie sesión en el sitio del equipo.
Tenga en cuenta que puede acceder al Administrador de consultas de Supermetrics con una licencia de API de Supermetrics válida. Si aún no tiene una licencia, comience su prueba gratuita de 14 días .
Luego, seleccione 'Integraciones' > 'Administrador de consultas'. Verás una barra lateral a la izquierda de tu pantalla. Comience a construir su consulta allí. En este ejemplo, usaré Google Ads como fuente de datos. Continúe construyendo su consulta completando estos campos:
- Seleccionar fechas
- Seleccionar métricas
- Dividir por dimensiones
- Opciones de filtro
Una vez que haya terminado, haga clic en 'Ejecutar'. Verá sus datos en una tabla de vista previa y en formato JSON sin procesar.

Aquí hay un tutorial sobre cómo comenzar con la API de Supermetrics.
Tableau Prep necesitará esta muestra para comprender la estructura de datos que vendrá en la respuesta de la API.
Tenga en cuenta que la selección de formato se establece en 'JSON' y no en 'Tableau' porque dejaremos que la secuencia de comandos de Python, que está escrita para funcionar con la respuesta en formato JSON, maneje esa llamada a la API. Luego exporté los resultados como un archivo CSV (1) y copié la URL de la API en el archivo de script de Python preparado (2).
¡No olvide guardar el archivo de secuencia de comandos después de pegar el enlace de la API de Supermetrics!
Paso 4: reúna todo en Tableau Prep Builder
¡Casi estámos allí!
Para que los datos fluyan desde la API de Supermetrics a su flujo de Tableau Prep, ahora tenemos que conectar el archivo CSV que descargamos en el paso anterior.
Dado que Tableau Prep Builder es bastante exigente con los tipos de datos, no aceptará la salida de nuestro script de Python sin este paso. El archivo CSV tiene la misma estructura que los datos de la API de Supermetrics, lo que le indica a Tableau Prep Builder cómo interpretarlo.

Después de seleccionar el archivo, Tableau Prep Builder iniciará un nuevo flujo y leerá el contenido del CSV. Puede ver en el cuadro de información que ha analizado los tipos de campo correctamente como fecha, cadena y número, respectivamente. Y eso es exactamente lo que queremos.

Necesitamos agregar un script como el siguiente paso en el flujo. Hágalo haciendo clic en el signo más junto al cuadro que representa el archivo CSV y seleccionando 'Script'.

Aquí es donde podemos usar TabPy. Así que asegúrese de que el botón de radio para 'Tableau Python (TabPy) Server' esté activado y que TabPy aún se esté ejecutando en su máquina. Luego busque el archivo de secuencia de comandos que ha creado en el paso anterior.

También debemos decirle a Tableau Prep Builder qué funciones de ese archivo queremos usar aquí. Nuestro pequeño script solo tiene una función, así que si está siguiendo esta guía, escriba el nombre de la función 'get_data_to_flow' en el campo.

Una vez que haya realizado esta configuración, Tableau Prep debería comenzar a ejecutar inmediatamente la consulta de la API de Supermetrics y los datos aparecerán en la ventana de vista previa.
¡Felicidades! Acaba de cargar correctamente los datos de la API de Supermetrics en su flujo de Tableau Prep.
Aproveche sus datos en Tableau Prep Builder
Puede controlar fácilmente qué datos cargar a través de la API de Supermetrics editando el enlace de la API. De lo contrario, puede usar este elemento de entrada de datos en el flujo de Tableau como desee.
Si está utilizando nuestras URL cortas, puede averiguar cómo editar parámetros en este artículo de documentación.
Mientras no cambie la forma de los datos agregando o eliminando columnas, puede jugar con los resultados. Si necesita cambiar la forma de los datos, recuerde cambiar el archivo CSV según corresponda para que Tableau Prep pueda interpretar la respuesta de la API.
Ahora, exploremos algunas funciones en Tableau Prep Builder que puede usar para aprovechar sus datos para el análisis.
Agregar datos de Supermetrics a un conjunto de datos CSV (UNION)
Lo primero que podemos hacer es realizar una operación UNION. Para eso, en lugar de solo proporcionar el archivo CSV de muestra para que Tableau Prep Builder interprete la salida de la API, también lo usaremos como un medio para importar datos estáticos.
Imagine tener un conjunto de datos históricos que no cambiarán más. Un caso de uso común sería exportar los datos del año pasado para una métrica, que le gustaría usar en un informe de Tableau, pero también agregarle un conjunto de datos actualizado diariamente para mantenerlo actualizado.
Por ejemplo, configuré una consulta en Query Manager para obtener datos de Google Ads para 2020 y descargué los resultados como CSV.

Luego, cambié el selector de fecha de 'Último año' a 'Año hasta la fecha' y copié el enlace API para esta consulta en el archivo de secuencia de comandos de Python. Así es como se ve el archivo de script. Tenga en cuenta que mi clave API única ha sido redactada.


Ahora seguimos los mismos pasos que antes. Necesitamos agregar una operación UNION y una 'Salida' en el flujo:
- Inicie un nuevo flujo en Tableau Prep conectándose primero al archivo CSV.
- Agregue un paso de 'Script' después del CSV con TabPy sirviendo la función de llamada API.
- Agregue un paso de 'Unión' después del script, luego haga clic y arrastre el paso CSV hacia él, formando un triángulo.
- Agregue un paso de 'Salida' después de la UNIÓN.

Ejecutar el flujo ahora nos dará un hiperextracto que se puede usar como fuente de datos para su proyecto de Tableau. Y debido a que la llamada API tiene un rango de fechas relativo (desde el año hasta la fecha), ¡simplemente puede volver a ejecutar el flujo para actualizar el extracto!
También puede optar por guardar el archivo de salida en su disco duro local o publicarlo directamente en Tableau Server o Tableau Online para compartirlo con otros usuarios de Tableau en su organización.
Actualización de extracción incremental con datos de Supermetrics
El método descrito anteriormente funcionará muy bien para pequeñas y medianas cantidades de datos. Sin embargo, una vez que sus consultas a la API se vuelvan más grandes y exigentes, en términos de recursos de tiempo de ejecución, es una buena idea realizar una actualización incremental del conjunto de datos en lugar de solicitar el rango de tiempo completo en cada ejecución de flujo y sobrescribir el extracto anterior. .
Afortunadamente, Tableau Prep viene con una opción integrada para actualizaciones incrementales de un archivo de extracción existente. Solo necesita especificar qué columna de la tabla de datos debe usarse para determinar las nuevas filas de datos que provienen de la actualización. El flujo se encargará del resto por ti.
Sin embargo, Tableau Prep Builder no admite esto para los datos a través de la ejecución de un script.
A continuación se explica cómo evitar las limitaciones y crear una solución funcional para la actualización de datos incremental.
Dividiremos el proceso en dos partes:
Primero, creamos un Tableau Hyper Extract que contendrá la actualización. Luego aplíquelo a la fuente de datos real en el segundo paso. Esto es importante porque, de hecho, se admite la actualización incremental de una extracción cuando otro archivo de extracción es la fuente de los datos de actualización.

Para llegar allí, creamos un flujo que incluye una secuencia de comandos nuevamente. Usamos un rango de tiempo relativo en nuestra llamada API que mantendrá la cantidad de datos que solicitamos ligera. Uso 'los últimos 10 días' en este ejemplo.

Para crear el archivo de extracción que será nuestro 'Actualizador', debemos usar lo que hemos aprendido hasta ahora sobre las secuencias de comandos en Tableau Prep Builder.
Aquí, utilicé un archivo de extracción existente como entrada antes del paso del guión para demostrar que también funciona y que el archivo CSV inicial que usamos es solo un paso necesario para ejecutar el guión.
Sin la operación UNION, el resultado de este flujo será simplemente lo que sea que nuestro paso de guión extraiga a través de la API de Supermetrics.

Habiendo guardado este archivo de salida en mi disco como 'increment.hyper', ahora puedo configurar el flujo final que actualizará un extracto publicado utilizado para varios informes.

Esto puede parecer contradictorio, seguro que lo fue para mí.
Nos estamos conectando al archivo de incremento en Tableau Prep Builder, y todo lo que hacemos es agregar una 'Salida' que apunta al archivo que ya tenemos y queremos actualizar.
Aquí, tengo un paso de limpieza opcional en el flujo que separa los dos. Lo importante aquí es habilitar la actualización incremental en la 'Entrada', nuestro archivo 'increment.hyper'. Necesitamos configurar el campo que se usará para detectar nuevas filas que ingresan al flujo. En nuestro caso, eso es 'Fecha'.
Luego, elegiremos la 'Salida' que apunta al destino que deseamos actualizar y uniremos el campo 'Fecha' de la 'Entrada' con el campo 'Fecha' correspondiente en la 'Salida'.
Esta configuración nos brinda una nueva opción para ejecutar el flujo como una actualización incremental. ¡Estupendo!

Este método conserva los datos que ya tenemos en el archivo de salida. Puede ser un extracto enorme con millones de filas; solo le estamos agregando nuevas filas en este procedimiento. Una vez que haya creado estos flujos, solo le tomará unos segundos ejecutarlos y actualizar los datos. Después de todo, ahora solo estamos consultando la API de Supermetrics para obtener datos de 10 días.
¡Eso es todo!
El uso de la API de Supermetrics como fuente de datos en su Tableau Prep Builder lo ayuda a realizar tareas complejas de modelado de datos que generalmente requieren un almacén de datos.
Si desea mejorar sus informes de Tableau, reserve una demostración con nuestro equipo de ventas o comience una prueba gratuita de 14 días de la API de Supermetrics.