Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen día.
Requiero realizar la recarga de varios archivos txt en una misma ubicación con distinto nombre (nombre por mes), lo único que diferencia los archivos, aparte del nombre, es que las columnas son las fechas del mes, por ende no puedo cargarlos todos al tiempo. Yo sé que se podría realizar una recarga a través de la sentencia FOR ...Next y quisiera su colaboración para darme una explicación de su uso o de alguna ruta donde pueda encontrar las especificaciones de su uso; o si conocen alguna forma diferente de realizar la carga de estos archivos.
Agradezco su colaboración en esto.
Saludos.
Juan Gómez
Juan buenas tardes
Mira este a ver si te funciona:
SET v_RutaTxt = 'C:\Users\xxx\Desktop\TXT\txt';
For each vFileName in Filelist ('$(v_RutaTxt)\*.txt');
Load *,
'$(vFileName)' as RutaArchivo,
SubField('$(vFileName)','\',-1) AS NombreArchivo
From [$(vFileName)]
(txt,utf8, no labels, Comment is '', delimiter is ';', msq);
;
Next vFileName
EXIT Script;
Hola Juan, usando CrossTable podrías convertir el nombre de las columnas en un campo llamado 'Fecha' (o similar) y el código podría servirte para todos los ficheros... siempre que los campos cualificadores sean los mismos.
https://help.qlik.com/es-ES/sense/3.2/Subsystems/Hub/Content/Scripting/ScriptPrefixes/crosstable.htm
La explicación del bucle For también viene en la ayuda:
En el ejemplo 2 de For Each se muestra como recorrer los ficheros de una carpeta:
Hola Ruben.
Gracias, pero estos ya los había visto, es solo que me confunden un poco, pensé que se podría encontrar algo más especifico o un ejemplo más claro para la creación del bucle.
En cuanto a tu sugerencia del crosstable, lo probé y me funcionó bien.
Espero tengas algo, respecto a los bucles, un poco más especifico o con ejemplos más claros.
Gracias.
Saludos
Juan buenas tardes
Mira este a ver si te funciona:
SET v_RutaTxt = 'C:\Users\xxx\Desktop\TXT\txt';
For each vFileName in Filelist ('$(v_RutaTxt)\*.txt');
Load *,
'$(vFileName)' as RutaArchivo,
SubField('$(vFileName)','\',-1) AS NombreArchivo
From [$(vFileName)]
(txt,utf8, no labels, Comment is '', delimiter is ';', msq);
;
Next vFileName
EXIT Script;
Hola Fer.
Muchas gracias, en si la función me funcionó, le realice unos cambios y me cargo perfecto.
Muchas gracias.
Saludos