Free Trial

Foro

RESUELTAS

Entrada de datos automática con archivos de nombres cambiantes

And_avella96
Meteoroide

Buenos días Comunidad,

 

Espero que estén muy bien. Quisiera saber si es posible que dentro de un flujo que se corre todos los días, en los datos de entrada se tome un archivo .json que se carga en una carpeta del ordenador todos los días, pero siempre al final trae la fecha del día en que se cargo. Adjunto imagen de ejemplo: 

And_avella96_0-1659455517480.png

Es decir me gustaría que por ejemplo el 1 de agosto del 2022 tomara el archivo conversation_report_2022-08-01 y el dia 2 de agosto del 2022 se tomara el archivo conversation_report_2022-08-02 y asi sucesivamente.

 

Quedo atento a posibles respuestas 

 

Saludos

 

  

3 RESPUESTAS 3
Andreina
Alteryx Alumni (Retired)

Hola!

 

Para eso tienes que utlizar la tool Entrada Dinámica que te permite modificar el nombre del archivo al que quieres acceder de forma dinámica. Te adjunto un workflow de ejemplo que podría funcionarte. 

 

Espero te ayude, 

 

Saludos,

Aguisande
15 - Aurora
15 - Aurora

Hola @And_avella96 

Creo que para automatizar todas esas lecturas, lo ideal sería que:

- Utilizando un Directory tool, apuntes a la carpeta donde están tus files. Esto te devuelve una lista de archivos dentro de esa carpeta (y subcarpetas si quieres)

Aguisande_1-1659458188995.png

Con un Select tool, puedes eliminar los campos que no te interesan (son muchos que tal vez no utilices)

 

- Luego, puedes determinar cuál archivo debería procesarse. Para ello tienes dos opciones (puedes leer el atributo [LastWriteDate] que devuelve el Directory tool para cada archivo, o puedes extraer la fecha del nombre utilizando ReGEx en modo Parse

Aguisande_0-1659458163906.png

 

Aguisande_4-1659459351493.png

 

NOTA: ReGEx sólo te permitirá números y Strings, así que hay que convertir el valor extraído a DATE. Lo mejor es hacerlo con una fórmula.

Aguisande_6-1659459599660.png

 

 

- Con un filtro, puedes comparar este último valor con la fecha que quieres procesar (Por ejemplo: DateTimeFormat([DateTimeNow(),"%Y-%m-%d")

Aguisande_3-1659459301750.png

 

- Esto te dejaría sólo el archivo que quieres procesar y a partir de aquí, sólo tienes que utilizar Dynamic Input tool para poder leer el contenido.

 Apunta el Data Source Template a alguno de los JSON, y configura el método Read a List of Data Sources, para que lea lo que te llegue en [FullPath] y el Action, para que utilice el path absoluto al file que viene en [FullPath]

Aguisande_5-1659459413427.png

 

Tu flujo debería verse como este:

Aguisande_7-1659459663180.png

 

 

And_avella96
Meteoroide

Muchas gracias!! 

Etiquetas