Insights / Blog

PostGenericoAlteryx

Cómo dinamizar la entrada de fuentes de datos en Alteryx

¿Disponéis de un archivo Excel con varias pestañas y queréis leerlas todas al mismo tiempo? ¿Os encontráis con un gran número de ficheros de Excel y no queréis introducir un input por cada archivo .xlsx? Si cualquiera de estos dos (u otros similares) es tu caso, entonces este blog te puede ser de gran ayuda. En el post de hoy explicaremos cómo pueden realizarse en Alteryx estas funciones dinámicas y mostraremos una serie de alternativas y cómo funciona cada una de ellas para archivos locales (sin entrar en la posibilidad de conectores o bases de datos)

Posibles escenarios

Podemos encontrar con situaciones varias en las que nos interesará poder incorporar a nuestro flujo de trabajo varios archivos al mismo (si tenemos, por ejemplo, un archivo por cada mes) o varias hojas dentro de un mismo archivo (si tenemos, por ejemplo, un pestaña por cada provincia). Estos escenarios son muy comunes y si no utilizaramos alguna de estas opciones tendríamos que introducir una herramienta «Input Data» por cada archivo o por cada hoja que queramos incluir en nuestro flujo de trabajo.

Es muy importante tener en cuenta que los archivos o pestañas que queramos leer de forma dinámica deben tener una misma estructura, o esquema, para que Alteryx sea capaz de poder leerlo de forma correcta y ésto significa que existe una coherencia en los nombres y en el orden de las columnas de nuestra fuente de datos. Es cierto que en casos particulares en los que el esquema no se mantiene si pueden leerse los archivos, pero tales casos requieren de un trabajo extra en la elaboración, por ejemplo, de una Macro (Batch en este caso) que nos permitiera hacer una lectura óptima (pero que dejaremos para otro post más adelante).

Rxisten dos herramientas dentro de Alteryx que serán especialmente útiles para este objetivo particular:

  • Input Data
  • Dynamic Input

Configuración de herramientas

La configuración de cada una de estas herramientas es diferente ya que pertenecen a dos bloques distintos en Alteryx. Por un lado, la herramienta Input Data pertenece al bloque «In/Out» en el que se disponen de aquellas herramientas principales para la entrada de datos desde una entrada de texto manual a conexiones a través de bases de datos varias o incluso mediante un directorio así como para la salida de éstos.

Por otro lado, la herramienta Dynamic Rename pertenece al bloque «Developer» en el que aparecen herramientas con funcionalidades varias tanto para crear rutas alternativas dentro de un mismo flujo como para desarrollar elementos dinámicos que ayuden a mejorar la eficiencia y el rendimiento de los flujos de trabajo.

Una de las principales diferencias que nos vamos a encontrar si utilizamos la herramienta Input Data es que ésta no tiene una petstaña de entrada ya que es el origen de la fuente de datos (y solamente tendrá una pestaña de salida), mientras que la herramienta Dynamic Rename necesita que conectemos previamente una herramienta Input Data que servirá de plantilla para poder ejecutar la entrada dinámica de datos.

Input Data

Esta herramienta nos servirá, principalmente, para la entrada de datos de múltiples archivos al mismo tiempo. Para ello utilizaremos caracteres variados como»?», «*» o «..» de manera que podamos crear desde rutas relativas a patrones en el nombre que nos servirán para incorporar de a una todos los orígenes de datos buscados. El funcionamiento de estos caracteres (que pueden combinarse para obtener una ruta relativa y una entrada de datos dinámica) se aplica sobre la ruta en la selección del archivo de la herramienta y siguen la siguiente estructura:

  • Utilización de «.» antes del nombre del archivo (opera sustituyendo a la ruta): Si utilizamos esta configuración Alteryx pasará a buscar el origen de datos en la misma ubicación en la que se encuentra guardado el flujo.
  • Utilización de «..» antes del nombre del archivo (opera sustituyendo a la ruta): Si utilizamos esta configuración Alteryx pasará a buscar el orígen de datos en la carpeta superior a la carpeta en la que se encuentra guardado el flujo. Cada punto que se añada antes de la barra inclinada supondrá ir otro nivel superior a aquel en el que se encuentra guardado el flujo.
  • Utilizacación de «?» en el nombre del archivo (opera sustituyendo el nombre del archivo): Si utilizamos esta configuración Alteryx pasará a reemplazar un caracter en el nombre del archivo (si, por ejemplo, disponemos de «archivo_1«, «archivo_2» y «archivo_3» entonces nos servirá con utilizar «archivo_?«).
  • Utilizacación de «??» en el nombre del archivo (opera sustituyendo el nombre del archivo): Si utilizamos esta configuración Alteryx pasará a reemplazar dos caracteres en el nombre del archivo. Cada símbolo de interrogación que se añada reemplaza un nuevo caracter en el nombre del archivo.
  • Utilización de «*» en el nombre del archivo (opera en el nombre del archivo tras establecer un patrón de entrada): Si utilizamos esta configuración Alteryx pasará a incorporar en la herramienta de entrada de datos todos aquellos archivos cuyo nombre cumpla con el patrón marcado. Así, siguiendo con el ejemplo utilizado en «?«, si dispusiéramos de «archivo_1«, «archivo_2» y «archivo_3» entoncves nos servirá con utilizar «archivo_*» siempre y cuando tengamos todos los archivos en la misma carpeta o directorio(pudiendo ser un directorio compartido como Google Drive o One Drive, entre otros.

Es importante recordar que a través de las configuraciones varias a la hora de dinamizar la entrada de datos en nuestro flujo de trabajo estamos trabajando con múltiples archivos que queremos cargar en Alteryx de manera automática (ya sea con una ruta relativa o con una ruta fija). En el ejemplo de la herramienta Dynamic Input veremos cómo se realiza este ejemplo para la carga de pestañas de un msimo fichero.

Dynamic Input

En el caso de que lo se esté buscando sea la entrada de múltiples pestañas al mismo tiempo será necesario que pasemos a utilizar la herramienta Dynamic Input. Ésta, a diferencia de la herramienta Input Data, requiere una conexión previa de la herramienta Input Data que servirá como plantilla de cada una de las pestañas de nuestro archivo que finalmente obtendremos como datos de una sola ejecución en el flujo. Para realizar este proceso debemos seguir los siguientes pasos:

  • Incorporamos a nuestro flujo de trabajo una herramienta Input Data dentro del Canvas y seleccionamos el archivo que queremos leer.
  • En la ventana emergente que nos marca seleccionar una hoja de nuestro fichero selccionaremos la última opción Importar únicamente el listado de nombres de las pestañas.

En este punto veremos que la vista predeterminada de la entrada de datos nos saca un listado con el nombre de las pestañas en una única columna.

  • Incorporamos, a continuación, la herramienta Dynamic Input dentro del Canvas y conectamos la pestaña de salida de Input Data a su pestaña de entrada. Volveremos a introducir el mismo archivo con la configuración de la plantilla de Importar únicamente el listado de nombres de las pestañas.
  • En el segundo bloque de la herramienta de Dynamic Input debemos asegurarnos de elegir el campo «Sheet Names» como campo que contiene el listado de pestañas.
  • Ejecutamos el flujo de trabajo y, siempre que las pestañas sigan el mismo esquema con el orden y nombre de las columnas se cargarán nuestros datos de manera correcta.

Situaciones particulares en el uso de patrones

Una situación particular que nos podemos encontrar, principalmente, cuando utilizamos uno de los patrones que inicialmente hemos comentado es que uno de los archivos que cumple con el patrón, por ejemplo, «archivo_*» tenga un esquema diferente del que tiene el primer archivo que se esté leyendo al seguir el patrón marcado. Esta situación puede deberse a casos varios, pero el más común suele ser que el tipo de dato de alguno de los campos, aunque se llame igual y esté en el mismo orden, sea diferente. Para evitar esta posible problematica podemos utlizar un truco combinando las herramientas Input Data y Dynamic Rename de la forma que mostramos a continuación:

  • Incorporamos la herramienta Input Data dentro del Canvas y seleccionamos el archivo que se desea utilizar.
  • En la configuración de la herramienta marcaremos la casilla First Row Contains Data ya que de esta manera nos aseguraremos de que todos los campos tienen el tipo de dato «V_String» o «V_WString» y, por lo tanto, no habrá dificultades a la hora de leer estos archivos.
  • A continuación conectamos la herramienta Dynamic Rename (en su pestaña superior) y de la selección elegimos la opción Take Field Names from First Row of Data.

De esta manera se le da el nombre del campo original, pero nos aseguramos de que no nos deja de leer un archivo por disponer de una estructura en el tipo de dato diferente.

Esperamos que este post os sea de ayuda a la hora de dinamizar la entrada de datos en vuestros flujos de trabajo y no dudéis en seguir atentos a nuestro blog en nuestra web así como seguirnos en nuestro Twitter, LinkedIn o a través de nuestro correo electrónico.

Últimos post

Visualización de datos, ejemplos

Cultura de datos: ¿por qué es tan importante?

Qué es SQL y para qué sirve

¿Qué estás buscando?

¿Quién trata tus datos?

The Information Lab Spain, S.L.
(en adelante, “Titular“)

¿Por qué tratamos los datos que te pedimos?

Se tratan tus datos para poder prestarte los servicios solicitados. + info

¿Cuál es la legitimación para este tratamiento de tus datos?

Estos datos son necesarios para llevar a cabo la resolución de consultas que puedas plantearnos o para la prestación de los servicios que se hayan solicitado a través del Sitio Web. + info

¿Se van a hacer cesiones o transferencias con tus datos?

Tus datos no serán cedidos a terceras empresas. + info

¿Cuáles son mis derechos?

El interesado tiene derecho a ejercitar su derecho de:
Acceso, rectificación, supresión, oposición, portabilidad de los Datos, limitación del Tratamiento y a no ser objeto de decisiones automatizadas individualizadas. + info

¿Tienes dudas?

Tanto si tienes alguna o sugerencia como si quieres darte de baja ponte en contacto con nosotros enviando un email a la siguiente dirección: info@theinformationlab.es