Cómo completar una tabla de hechos

Después de completar las tablas de dimensiones en su almacén de datos, ya está listo para completar la tabla de hechos. La tabla de hechos se completa con mediciones numéricas de las tablas en la base de datos OLTP.

Importante: Debe completar las tablas de dimensiones antes de completar la tabla de hechos.

El siguiente procedimiento describe cómo usar Spectrum™ Technology Platform para completar una tabla de hechos en su almacén de datos. En este procedimiento, se creará un flujo de datos que lee en los datos de origen desde una tabla en su base de datos de origen, reemplaza las claves naturales de las tablas de origen por las claves suplentes de las tablas de dimensiones, y luego carga el registro actualizado que incluye las claves suplentes y los datos de hechos desde las tablas de origen en la tabla de hechos.

  1. En Management Console, cree las conexiones al origen de datos y al almacén de datos.
  2. En Enterprise Designer, seleccione Archivo > Nuevo > Flujo de datos > Trabajo.
  3. En función de los datos que desea escribir en la tabla de hechos, arrastre hacia el lienzo la etapa que corresponda.
    • Para usar los datos desde una base de datos para completar la tabla, arrastre la etapa Read from DB sobre el lienzo.
    • Para usar los datos desde un archivo plano para completar la tabla, arrastre la etapa Read from File sobre el lienzo.
    • Para usar los datos desde un archivo de formato variable para completar la tabla, arrastre la etapa Read from Variable Format File sobre el lienzo.
    • Para usar los datos desde un archivo XML para completar la tabla, arrastre la etapa Read from XML sobre el lienzo.
  4. Haga doble clic en la etapa de origen que acaba de ubicar en el lienzo y configúrela para que apunte hacia el origen de los datos con que desea rellenar la tabla de hechos.
    • Para obtener más información sobre la configuración de Read from DB, consulte Read from DB
    • Para obtener más información sobre la configuración de Read From File, consulte Read From File
    • Para obtener más información sobre la configuración de Read From Variable Format File, consulte Read From Variable Format File
    • Para obtener más información sobre la configuración de Read From XML, consulte Read from XML
    Nota: Normalmente, un flujo de datos de datos que completa una tabla de hechos, lee desde una base de datos en lugar de un archivo. Debido a que este es la situación más común, los ejemplos en el resto de este procedimiento usa Read From DB.
  5. Arrastre una etapa Broadcaster sobre el lienzo y conecte la etapa de origen a esta última.

    Su flujo de datos ahora tiene la siguiente apariencia:

  6. Arrastre una etapa Query DB sobre el lienzo para cada tabla de dimensiones en su almacén de datos y conéctelas a la etapa Broadcaster.

    Por ejemplo, si tiene cuatro tablas de dimensiones en su almacén de datos, arrastre cuatro etapas Query DB sobre el lienzo. Su flujo de datos debiera tener la siguiente apariencia:

    Las etapas Query DB se usarán para buscar la clave suplente para cada dimensión, mediante el uso de la clave natural desde el origen de datos. La clave suplente posteriormente remplazará a la clave natural en cada registro que esté cargado en la tabla de hechos.

    Consejo: Puede modificar el nombre de la etapa para facilitar ver qué tabla consulta cada etapa.
  7. Configure cada etapa Query DB de modo que busque la clave suplente para cada clave natural desde el origen de datos. Para esto, haga lo siguiente:
    1. En el campo Conexión, especifique la conexión al depósito de datos.
    2. En el campo Tabla/Vista seleccione la tabla de dimensiones que desee que esta etapa consulte.
    3. En el campo Donde, escriba una instrucción WHERE que busque la clave suplente según el valor en el campo de flujo de datos correspondiente.

      Por ejemplo, esto buscaría la clave suplente de un producto, al encontrar el registro en la tabla de dimensiones cuyo valor en la columna description coincide con el valor en el campo product_name del origen de datos.

      description=${product_name}
    4. En la columna Incluir seleccione la columna de la base de datos que contiene la clave suplente.

    Por ejemplo, una etapa Query DB que busca la clave suplente de un nombre de producto tendría la siguiente apariencia:

    En este ejemplo, la consulta busca la clave de producto al encontrar el registro en la tabla prod_dimension, donde el valor en la columna description coincide con el valor en el campo del flujo de datos product_name. La etapa devuelve el campo product_key desde la tabla y lo agrega al flujo de datos, según se indique mediante la casilla marcada en la columna Incluir.

  8. Arrastre una etapa Record Combiner sobre el lienzo y conecte la etapa Query DB a esta última.

    Su flujo de datos debería tener ahora el siguiente aspecto:



  9. Arrastre una etapa Write To DB sobre el lienzo y conéctela a la etapa Record Combiner.

    Su flujo de datos debería tener ahora el siguiente aspecto:

  10. Configure la etapa Write to DB para escribir los registros en la tabla de hechos. Para esto, haga lo siguiente:
    1. En el campo Conexión, especifique la conexión al depósito de datos.
    2. En el campo Tabla/Vista seleccione la tabla de hechos que desee que esta etapa consulte. Si la tabla de hechos no existe en el almacén de datos, haga clic en Crear tabla para crear la tabla de hechos en el almacén de datos.
    3. Marque la casilla en la columna Incluir por cada campo que desee escribir en la tabla de hechos.
    4. En la ficha Ejecución, observe que la opción Insertar está seleccionada predeterminadamente para el modo de escritura. Normalmente la compleción de la tabla de hechos se ejecuta en el modo de inserción, de modo que puede dejar seleccionada esta opción.
  11. Guarde y ejecute su flujo de datos.

Ejemplo de reemplazo de datos de origen por claves en la tabla de dimensiones

Considere este registro:

March 28 2013,Parsley Garlic Pasta,Mile High Gourmet Market,78.35

En este ejemplo, existe un campo de fecha, seguido por un nombre de producto (Parsley Garlic Pasta), un cliente (Mile High Gourmet Market) y una cantidad (78.25). El almacén de datos tiene tablas de dimensiones para la fecha, el nombre de producto y el cliente, de modo que las claves naturales en el registro se deben reemplazar por claves suplentes desde las tablas de dimensiones. Para lograr esto, el flujo de datos debe tener tres etapas Query DB, una que busque la clave suplente para la fecha, una que busque la clave suplente para el nombre de producto y otra para que busque la clave suplente para el cliente.

Cada Query DB debe tener una instrucción WHERE que busque la clave suplente.

Como resultado de estas búsquedas, el registro puede tener la siguiente apariencia cuando se escriba en la tabla de hechos:

711,1,15,78.35

Observe que las claves naturales de la fecha, el nombre de producto y el cliente se reemplazaron por claves suplentes.