Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas tardes a todos,
Solicito su importante ayuda para solucionar el siguiente caso:
Mes a mes llegan unos archivos planos (.txt) con el mismo nombre que contienen la facturación de los consumos celulares de la compañía; ahora, cada mes el archivo aumenta o disminuye su cantidad de columnas puesto que hay conceptos que aplican para el mes o no, pero es necesario consolidar la información para aplicarle ciertas reglas de negocio, por tal motivo genero la siguiente pregunta:
¿Cómo puedo generar las cargas de los .txt´s sin que me afecte la cantidad de columnas?, cómo ejemplo comparativo, sería algo como en sql la utilización del "select * ..."
De antemano agradezco la posible ayuda
Saludos cordiales,
Óscar
Hola Óscar,
Creo que la solución pasa por leer con * (LOAD * FROM FICHERO) siempre que se garantice que los ficheros tienen cabecera y que el nombre de los campos es igual en todos los ficheros aunque no estén siempre los mismos campos en todos los ficheros.
Entonces, una posible solución sería:
// Cargamos en la tabla TABLA 0 registros pero creamos la estructura final con todos los campos necesarios
TABLA:
LOAD * INLINE [
Campo1, Campo2, Campo3, Campo4, Campo5
];
// Se itera por todos los ficheros TXT de la ruta vsRootDIR leyéndo todos sus campos disponibles
FOR EACH vsFile IN FileList('$(vsRootDIR)\*.txt')
CONCATENATE (TABLA)
LOAD * FROM $(vsFile) (parámetros de estructura del fichero);
NEXT vsFile
Espero que te sirva.
Saludos,
H
Hola Héctor,
Agradezco tu respuesta!, voy a probar tu recomendación
Saludos cordiales,
Óscar