0% encontró este documento útil (0 votos)
15 vistas9 páginas

Etl Practica

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas9 páginas

Etl Practica

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

REQUISITOS PREVIOS

1. Visual Studio 2019 o 2022 (versión Community sirve).

2. Extensión de SSIS instalada (Integration Services Extension).

3. SQL Server (local o remoto) y SQL Server Management Studio (SSMS).

4. Una fuente de datos (como un archivo Excel, CSV o una base externa).

5. Una base de datos destino en SQL Server.

PASOS PARA CREAR UN ETL EN VISUAL STUDIO

1. Crear un Proyecto SSIS en Visual Studio

 Abre Visual Studio.

 Archivo > Nuevo > Proyecto.

 Busca Integration Services Project y selecciona.

 Dale un nombre (ej. ETL_Papelería) y crea el proyecto.

2. Diseñar el flujo ETL

En el panel "Control Flow", arrastra un componente llamado Data Flow Task.

Haz doble clic para entrar al "Data Flow".

DENTRO DEL DATA FLOW

3. EXTRACT (Extraer datos)

 Usa Excel Source o Flat File Source si vienes de archivo CSV o Excel.

 Configura la ruta al archivo y selecciona la hoja o columnas.

4. TRANSFORM (Transformar)

 Usa componentes como:

o Derived Column: para crear o modificar columnas.

1. Agregar el nombre de la nueva columna

En la columna "Derived Column Name", haz clic y escribe:

Mes

2. Indicar que es una columna nueva

En la columna "Derived Column", selecciona:

Add as new column


(Esto debe estar seleccionado por defecto si escribiste un nuevo nombre).

3. Escribir la expresión

En la columna "Expression", escribe el siguiente valor:

"Julio"

(Sí, con comillas dobles, porque es un texto literal).

4. Validar tipo de dato

El tipo debe decir string o DT_WSTR. Esto se autocompleta cuando pongas la


expresión "Julio".

5. Aceptar

Da clic en OK.

Resultado:

Ya tienes una nueva columna Mes en cada fila, con el valor "Julio".

Puedes repetir este proceso para agregar otras columnas como "Año", "Categoría",
etc., usando expresiones como:

"2025" → Año fijo

"Papelería" → Categoría fija

o Data Conversion: para cambiar tipos de datos.

1. Agregar el componente "Data Conversion"

 Desde la caja de herramientas a la izquierda, arrastra el componente


"Conversión de datos" al área de trabajo en tu Flujo de datos.

2. Conectar el componente

 Arrastra la flecha verde desde el último componente anterior (por ejemplo,


Columna derivada o Origen de Excel) hacia el componente de "Data
Conversion".

3. Abrir la configuración

 Haz doble clic sobre el componente "Data Conversion".

4. CONFIGURAR LA CONVERSIÓN

Te aparecerá una lista con las columnas disponibles y sus tipos


actuales.

Por ejemplo:
Tienes una columna llamada PrecioUnitario que viene como texto
(DT_WSTR) y la quieres convertir a decimal (DT_NUMERIC o
DT_R8).

Haz lo siguiente:

1. Marca la casilla de la columna que deseas convertir (ej. PrecioUnitario).

2. En la columna "Output Alias", puedes poner un nuevo nombre como:


PrecioUnitario_Convertido

3. En la columna "Data Type", haz clic y selecciona el tipo deseado, como:

o DT_I4 → Entero

o DT_R8 → Decimal

o DT_DATE → Fecha

o DT_STR → Cadena fija

o DT_WSTR → Cadena Unicode

4. Ajusta si lo pide el Length, Precision y Scale:

o Decimal típico: Precision = 10, Scale = 2

o Cadena: Length = 50 o lo que necesites

5. Guardar y continuar

 Da clic en OK.

¿Y luego?

 Ahora puedes usar la columna convertida (PrecioUnitario_Convertido) en


el paso siguiente (por ejemplo, para cargarla en SQL Server).

 En el mapeo del OLE DB Destination, seleccionas la columna convertida y


la relacionas con la columna destino.

o Conditional Split: para separar según condiciones (ej. ingresos mayores a $1000).

1. Agrega el componente al flujo

Desde la caja de herramientas (izquierda), arrastra "División condicional"


(Conditional Split) al área de trabajo en el Flujo de datos.

2. Conecta el componente anterior

Conecta la flecha verde desde el paso anterior (como Data Conversion) hacia el
nuevo componente "Conditional Split".
3. Configura el "Conditional Split"

Haz doble clic sobre el componente para abrir el editor.

Dentro del editor:

En "Condition", escribe una expresión de tipo lógica.

Por ejemplo:

sql

[Ingresos] > 1000

En "Output Name", pon un nombre para este grupo.

Ejemplo:

IngresosAltos

Puedes agregar otra condición:

sql

[Ingresos] <= 1000

Con nombre:

IngresosBajos

Puedes dejar una ruta por defecto, llamada "Default Output" (para los que no
cumplen ninguna condición anterior).

4. Conecta las salidas condicionales

Después de cerrar el editor:

Verás varias líneas de salida del componente, una por cada condición que pusiste.

Puedes conectar cada salida a distintos destinos (ej. tablas diferentes o archivos
distintos).

EJEMPLO REAL

Supón que tienes una columna llamada VentasMensuales.

Configuras:

Output Name Condition

ClientesPremium [VentasMensuales] > 10000

ClientesRegulares [VentasMensuales] <= 10000

Y luego conectas cada salida a una tabla distinta:

ClientesPremium → tabla ClientesVIP


ClientesRegulares → tabla ClientesBase

¿Cuándo usarlo?

Para separar registros por segmentos (VIP vs normal).

Para hacer rutas de limpieza (ej. cuando un valor está vacío).

Para dividir datos por categoría, estado, tipo, etc.

o Lookup: para relacionar datos con otra tabla.

¿Qué hace el componente Lookup?

Relaciona una columna de tu flujo de datos con otra fuente externa (tabla SQL,
archivo, etc.) para:

 Obtener información adicional (descripciones, códigos, rangos).

 Validar o traducir valores (por ejemplo, obtener el nombre de un cliente a


partir de su ID).

EJEMPLO:

Tienes una columna IdProducto en tu archivo Excel, y en SQL Server hay una tabla
Productos con:

IdProducto NombreProducto

1 Cuaderno A5

2 Lápiz HB

Con Lookup, puedes agregar la columna NombreProducto a tu flujo de datos según


coincida el IdProducto.

PASO A PASO PARA USAR LOOKUP EN SSIS

1. Agrega el componente "Lookup"

 Desde la caja de herramientas, arrastra "Búsqueda" (Lookup) al flujo de


datos.

2. Conecta el flujo

 Conecta la flecha verde desde el componente anterior (por ejemplo,


Origen de Excel o Columna Derivada) hacia el componente Lookup.

3. Configura el Lookup

Haz doble clic sobre el componente para abrir el editor.

PASO 1: Conexión a la tabla de referencia

 En la pestaña General, selecciona "Use results of a query".


 Haz clic en Nueva... para crear o seleccionar una conexión OLE DB (a tu SQL
Server).

 En el campo de abajo, escribe una consulta SQL o selecciona la tabla con la


que harás la búsqueda.
Por ejemplo:

sql

SELECT IdProducto, NombreProducto FROM Productos

PASO 2: Vincular columnas

Ve a la pestaña "Columns":

1. En el panel izquierdo están las columnas del flujo de datos (las que vienen
de Excel).

2. En el panel derecho están las columnas de la tabla de búsqueda.

Conecta por ejemplo:

 Columna origen: IdProducto

 Columna búsqueda: IdProducto

Esto funciona como un JOIN interno.

PASO 3: Seleccionar columnas a retornar

Marca las columnas que quieres agregar al flujo de datos, por ejemplo:

 NombreProducto

SSIS agregará esta columna al flujo, como si fuera una nueva columna.

4. Finaliza y acepta

Haz clic en OK.

Verás que el componente Lookup ya está conectado y pasa datos


enriquecidos con lo que recuperaste de la tabla.

¿Qué pasa si no encuentra coincidencia?

SSIS por defecto lanza un error si no hay coincidencia, pero puedes


cambiarlo:

 Clic derecho en el Lookup → Mostrar salida de error.

 Usa una salida alternativa (por ejemplo, para guardar los que fallan en otra
tabla o archivo).

 O marca la opción "Ignore failure" para continuar sin error.


¿Dónde se usa el Lookup?

 Para agregar descripciones o nombres a códigos.

 Para validar si existe un valor en una tabla.

 Para hacer conversiones entre claves internas y externas.

 Para aplicar reglas de negocio basadas en otras fuentes.

5. LOAD (Cargar datos en SQL Server)

Paso 1: Insertar el componente OLE DB Destination

1. Ve al "Cuadro de herramientas" en el panel izquierdo.

2. Busca el componente “Destino de OLE DB” (puede decir “OLE DB Destination”).

3. Arrástralo al lienzo del Flujo de datos.

Paso 2: Conectar con el flujo anterior

1. Desde el último componente (por ejemplo, Data Conversion, Derived Column, o Lookup),
arrastra la flecha verde hasta el componente OLE DB Destination.

2. Eso conecta el flujo de datos con el destino.

Paso 3: Configurar la conexión a SQL Server

1. Haz doble clic en el componente OLE DB Destination.

2. Aparecerá una ventana para configurarlo.

3. En el campo OLE DB Connection Manager, haz clic en "Nuevo...".

Se abrirá el editor de conexión:

o Nombre del servidor: escribe el nombre de tu servidor SQL (puede ser localhost, .\
SQLEXPRESS, o IP).

o Autenticación: elige entre:

 Windows Authentication (si usas tu cuenta de Windows).

 SQL Server Authentication (si tienes usuario y contraseña).

o Base de datos: selecciona la base de datos donde quieres cargar los datos.

4. Haz clic en Test Connection → debe decir “Test succeeded”.

Si funciona, haz clic en OK para cerrar la ventana de conexión.

Paso 4: Elegir la tabla de destino


Una vez tengas la conexión establecida:

1. En el campo Name of the table or the view, puedes:

o Seleccionar una tabla existente.

o O hacer clic en "New..." para crear una tabla nueva automáticamente según el
esquema de tu flujo.

Si haces clic en "New...":

 Aparecerá un script SQL con las columnas y tipos sugeridos (basado en los datos de
entrada).

 Puedes editar el nombre de la tabla.

 Haz clic en OK para que SSIS cree la tabla por ti.

Paso 5: Mapear columnas

Ve a la pestaña "Mapeo de columnas" (Column Mappings):

1. Revisa que cada columna de entrada esté conectada a su columna de destino.

o Si los nombres no coinciden, puedes arrastrar uno a otro.

2. Verifica que no haya advertencias o columnas sin destino.

Paso 6: Guardar y ejecutar

1. Haz clic en OK para cerrar la configuración del destino.

2. Guarda tu proyecto (Ctrl + S).

3. En la parte superior, haz clic en "Iniciar" o botón verde ▶ para ejecutar el paquete.

Validar resultados

1. Abre SQL Server Management Studio (SSMS).

2. Ejecuta:

sql

SELECT TOP 10 * FROM dbo.Casos;

También podría gustarte