Cómo actualizar una tabla de hechos

Este procedimiento describe cómo crear un flujo de datos que lee los datos de una base de datos o un archivo de origen y que los utiliza para actualizar una tabla de datos en el almacén de datos.

  1. En Enterprise Designer, seleccione Archivo > Nuevo > Flujo de datos > Trabajo.
  2. 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.
    Nota: Si va a leer los datos de un archivo y no una base de datos, asegúrese de que el archivo solo contenga los nuevos registros que desea agregar a la tabla de hechos y no los registros que ya existen en la tabla de hechos. Si va a leer los datos de una base de datos, debe definir una consulta para filtrar los registros más adelante en este procedimiento.
  3. 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
  4. Si lee los datos de una base de datos, filtre los registros para que solo los registros nuevos se agreguen a la tabla de hechos. Para hacerlo, puede definir que la instrucción SQL SELECT solo lea los registros que se han modificado desde la última vez que la tabla de hechos se actualizó.
  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.