Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola, tengo el siguiente caso: tengo una app en donde debo cargar los datos de archivos txt con registros mensuales pero con la característica de que no tienen cabecera de campos. Cada mes se genera un archivo txt con los registros de ese mes; todos tienen la misma estructura solo que no tienen cabecera. Por otro lado, tengo otros archivo txt con solo las cabeceras de los campos de los registros de los archivos mencionados anteriormente. Ej:
Txt con cabecera ( solo tiene una fila con las cabeceras de las columnas).
Fecha | Cliente | Valor
Txt con registros del mes 01
2019-01 | Joan | 10987
2019-01 | Pablo | 9876
….
Txt con registros del mes 02
2019-02 | Claudio | 1098
2019-02 | Eve | 98786
….
Como hago el script para hacer un LOAD de los txt con los registros mensual pero incorporándoles las cabeceras en los registros.
Si alguien me puede ayudar le agradecería.
Saludos
Hola @cim071865,
Cuando lees el archivo txt, sin cabecera, cada una de los campos toma como nombre @1...@n; en el script puedes renombrar cada uno de estos campos con "as", con esto la cabecera será el campo renombrado. Si el nombre de cada archivo tiene la misma nomenclatura ejemplo: ArchivoPrueba_201901, ArchivoPrueba_201902...201912, en el From puedes poner Archivo_Prueba_* como en el ejemplo que te pongo:
Datos:
LOAD
@1 as [Fecha],
@2 as [Cliente],
@3 as Valor
FROM
[$(vRuta)\ArchivoPrueba_*.txt]
(txt, codepage is 28591, no labels, delimiter is '|', msq);
Donde $(vRuta) es la variable donde defino la ruta de los archivos.
Hola @cim071865,
Cuando lees el archivo txt, sin cabecera, cada una de los campos toma como nombre @1...@n; en el script puedes renombrar cada uno de estos campos con "as", con esto la cabecera será el campo renombrado. Si el nombre de cada archivo tiene la misma nomenclatura ejemplo: ArchivoPrueba_201901, ArchivoPrueba_201902...201912, en el From puedes poner Archivo_Prueba_* como en el ejemplo que te pongo:
Datos:
LOAD
@1 as [Fecha],
@2 as [Cliente],
@3 as Valor
FROM
[$(vRuta)\ArchivoPrueba_*.txt]
(txt, codepage is 28591, no labels, delimiter is '|', msq);
Donde $(vRuta) es la variable donde defino la ruta de los archivos.
Hola Joseph.
Es una solución muy práctica y en mi caso se comportaría exactamente como me estas indicando ya que el nombre de todos los archivos de registros tienen una parte en común y el resto lo puedo reemplazar con un '*'.
Había pensado en algo parecido a lo que indicas solo que pensé que Qlik podía tener alguna función específica para estos casos.
Muchas gracias por tu aporte.
Saludos