Importar 12 columnas de excel en 1 registro a través de DTS????

23/02/2004 - 15:10 por PABLO | Informe spam
Tengo un archivo Excel con la primera columna con el
código de cliente y luego 12 columnas más con los valores
facturados de Enero a Diciembre, cada mes es una columna.
Cómo puedo hacer a través de un DTS con el Transform Data
Task para por cada registro de Excel que lea, me cree 12
registros en una tabla cuyos campos son CodCliente, Mes
y Valor???? (Para saber que mes es yo me arreglo)
Entonces por ejemplo para el registro del cliente 143 que
cree los registros:
143 1 $1540
143 2 $1200
143 3 $800
143 4 $1220
143 5 $3210
143 6 $1000
143 7 $1500
143 8 $3209
143 9 $3145
143 10 $2810
143 11 $510
143 12 $1816

Cómo puedo hacer esto?
 

Leer las respuestas

#1 Javier Loria
23/02/2004 - 15:51 | Informe spam
Hola Pablo:
La forma de realizar este tipo de normalizacion es usando UNION ALL. No
se que tan bien va a reaccionar el SQL de Excel frente a este consulta pero
deberia ser:
=SELECT Columna1, 1, ValorMes1
FROM Hoja
UNION ALL
SELECT Columna1, 2, ValorMes2
FROM Hoja
UNION ALL
SELECT Columna1, 3, ValorMes3
FROM Hoja
.
=
Aun cuando funcione, te recomiendo traer los datos de Excel a una tabla
intermedia con el formato de Excel (con las 12 columnas) y luego
normalizarlo con dentro de SQL.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

PABLO escribio:
Tengo un archivo Excel con la primera columna con el
código de cliente y luego 12 columnas más con los valores
facturados de Enero a Diciembre, cada mes es una columna.
Cómo puedo hacer a través de un DTS con el Transform Data
Task para por cada registro de Excel que lea, me cree 12
registros en una tabla cuyos campos son CodCliente, Mes
y Valor???? (Para saber que mes es yo me arreglo)
Entonces por ejemplo para el registro del cliente 143 que
cree los registros:
143 1 $1540
143 2 $1200
143 3 $800
143 4 $1220
143 5 $3210
143 6 $1000
143 7 $1500
143 8 $3209
143 9 $3145
143 10 $2810
143 11 $510
143 12 $1816

Cómo puedo hacer esto?

Preguntas similares