Extracción: querys en SQL

Clase 18 de 26Curso de Data Warehousing y Modelado OLAP

Resumen

¿Cómo crear soluciones de bases de datos efectivas?

En el ámbito del Business Intelligence, construir una arquitectura sólida de bases de datos es clave para el proceso de toma de decisiones. La creación de tablas bien estructuradas y llenas de datos precisos es esencial. Revisemos los pasos y mejores prácticas para lograrlo.

¿Qué importancia tienen las tablas de dimensiones y hechos?

Al estructurar un Data Warehouse, se utilizan tablas de dimensiones y de hechos para organizar la información:

  • Tabla de Dimensiones: Define categorías de análisis (por ejemplo, productos, territorios, vendedores, tiempo) e incorpora campos de auditoría como fecha de carga y actualización.
  • Tabla de Hechos (FAQ): Se centra en los eventos procesables, vinculando todas las dimensiones necesarias mediante sus IDs.

¿Cómo se integra una dimensión de tiempo útil?

La dimensión de tiempo es fundamental y debe estar ajustada de acuerdo a:

  • Atributos Clave: Fecha, día, mes, año, día de la semana, día del año.
  • Utilidad: Permitir análisis temporales como mensuales, anuales o diarios.

Algunas herramientas de visualización como Power BI pueden generar esta dimensión automáticamente, pero estructurarla manualmente en modelos permite flexibilidad en el contexto de diferentes herramientas.

¿Cómo ejecutar extracción y transformación de datos?

Uno de los componentes más emocionantes del flujo de trabajo en BI es la creación del código para extracción y transformación de datos. Este proceso puede simplificarse con herramientas como Pentaho. Veamos cómo hacerlo de manera eficiente usando un ejemplo práctico: la dimensión de clientes.

¿Cómo se construye un Query detallado?

Para extraer la dimensión de clientes desde AdventureWorks a nuestro Data Warehouse, se siguen estos pasos:

  1. Construcción Inicial:

    • Empezamos con el campo CustomerID desde la tabla Customer.
    SELECT C.CustomerID
    FROM sales.Customer AS C
    
  2. Incorporación de Datos Personales:

    • Datos de nombres y apellidos se extraen de Person.Person.
    LEFT JOIN person.Person AS P
    ON C.PersonID = P.BusinessEntityID
    SELECT 
      (P.FirstName + ' ' + P.LastName) as NombreCompleto
    
  3. Extracción de Teléfonos:

    • Se realiza un LEFT JOIN con la tabla PersonPhone para obtener distintos tipos de teléfono.
    LEFT JOIN person.PersonPhone AS PH
    ON P.BusinessEntityID = PH.BusinessEntityID
    
  4. Relación de Dirección:

    • Para obtener la ciudad, se realiza una secuencia de JOINs desde Person.Person a Address.
    LEFT JOIN person.BusinessEntityAddress AS B2
    ON P.BusinessEntityID = B2.BusinessEntityID
    
  5. Uso de Condiciones Específicas:

    • Inclusión de condiciones WHERE para filtrar los datos, como solo incluir números de teléfono tipo 1 (celular).

¿Cómo se implementan estas transformaciones en Pentaho?

Después de la creación exitosa del Query SQL:

  • Integración en Pentaho: Copiar y pegar el Query en Pentaho para ejecutar transformaciones de datos.
  • Resultado esperado: Cumplir con la estructura necesaria para la tabla dimensional de clientes.

Construir tablas eficaces y aplicar un flujo de extracción, transformación y carga (ETL) preciso asegura que el Data Warehouse funcione de manera óptima para apoyar el proceso de decisión. Este tipo de trabajo detallado y considerado es esencial para cualquier proyecto de inteligencia de negocios exitoso. ¡Sigue aprendiendo y aplicando estas técnicas para dominar el mundo del BI!