Renseignement d'une table de faits

Une fois que vous avez renseigné les tables de dimensions de votre entrepôt de données, vous pouvez renseigner la table de faits. Renseignez une table de faits à l'aide de mesures numériques provenant de tables de la base de données OLTP.

Important : Avant de renseigner la table de faits, vous devez renseigner les tables de dimensions.

La procédure suivante explique comment utiliser Spectrum™ Technology Platform pour renseigner une table de faits de votre entrepôt de données. Dans cette procédure, vous allez créer un flux de données lisant des données sources d'une table de votre base de données source, remplaçant les clés naturelles des tables sources par des clés de substitution des tables de dimensions, puis chargeant l'enregistrement mis à jour contenant les clés de substitution et les données de faits des tables sources dans la table de faits.

  1. Dans Management Console, créez des connexions à votre source de données et à l'entrepôt de données.
  2. Dans Enterprise Designer, sélectionnez Fichier > Nouveau > Flux de données > Job.
  3. Suivant la source des données que vous souhaitez écrire dans la table de faits, glissez le stage approprié sur le canevas.
    • Pour utiliser des données d'une base de données pour renseigner la table, glissez le stage Read from DB sur le canevas.
    • Pour utiliser des données d'un fichier plat pour renseigner la table, glissez le stage Read from File sur le canevas.
    • Pour utiliser des données d'un fichier de format variable pour renseigner la table, glissez le stage Read from Variable Format File sur le canevas.
    • Pour utiliser des données d'un fichier XML pour renseigner la table, glissez le stage Read from XML sur le canevas.
  4. Double-cliquez sur le stage source que venez de placer sur le canevas et configurez-le pour qu'il pointe vers la source des données avec lesquelles vous souhaitez renseigner la table de faits.
    • Pour plus d'informations sur la configuration de Read from DB, reportez-vous à la section Read From DB.
    • Pour plus d'informations sur la configuration de Read from File, reportez-vous à la section Read from file.
    • Pour plus d'informations sur la configuration de Read from Variable Format File, reportez-vous à la section Read from Variable Format File.
    • Pour plus d'informations sur la configuration de Read from XML, reportez-vous à la section Read From XML.
    Remarque : En règle générale, un flux de données qui renseigne une table de fait lit les données d'une base de données et non d'un fichier. Étant donné qu'il s'agit du scénario le plus courant, les exemples du reste de cette procédure utilisent Read from DB.
  5. Glissez un stage Broadcaster sur le canevas et connectez-lui le stage source.
    Votre flux de données prend maintenant la forme suivante :

  6. Glissez un stage Query DB sur le canevas pour chaque table de dimensions de votre entrepôt de données et connectez-les au stage Broadcaster.
    Par exemple, si votre entrepôt de données comporte quatre tables de dimensions, glissez quatre stages Query DB sur le canevas. Votre flux de données prend maintenant la forme suivante :

    Les stages Query DB sont utilisés pour rechercher la clé de substitution pour chaque dimension utilisant la clé naturelle de la source de données. La clé de substitution vient ensuite remplacer la clé naturelle dans chaque enregistrement chargé dans la table de faits.

    Conseil : Pour connaître facilement la table interrogée par chaque stage, vous pouvez modifier le nom du stage.
  7. Configurez chaque stage Query DB de sorte qu'il recherche la clé de substitution pour chaque clé naturelle de la source de données. Pour ce faire, procédez comme suit :
    1. Dans le champ Connexion, indiquez la connexion à l'entrepôt de données.
    2. Dans le champ Table/Vue, sélectionnez la table de dimensions que vous souhaitez que ce stage interroge.
    3. Dans le champ , écrivez une instruction WHERE qui recherche la clé de substitution en fonction de la valeur champ de flux de données approprié.

      L'exemple suivant recherche la clé de substitution d'un produit en trouvant l'enregistrement de la table de dimensions dont la valeur de la colonne description correspond à la valeur du champ product_name de la source de données.

      description=${product_name}
    4. Dans la colonne Inclure, sélectionnez la colonne de base de données contenant la clé de substitution.
    Par exemple, un stage Query DB qui recherche la clé de substitution d'un nom de produit ressemble à l'exemple suivant :

    Dans cet exemple, la requête recherche la clé de produit en trouvant l'enregistrement de la table prod_dimension dont la valeur de la colonne description correspond à celle du champ de flux de données product_name. Le stage renvoie le champ product_key de la table et l'ajoute au flux de données, comme indiqué par la case cochée de la colonne Inclure.

  8. Glissez un stage Record Combiner sur le canevas et connectez-lui l'ensemble des stages Query DB.

    Votre flux de données prend maintenant la forme suivante :



  9. Glissez un stage Write to DB sur le canevas et connectez-le au stage Record Combiner.
    Votre flux de données prend maintenant la forme suivante :

  10. Configurez le stage Write to DB pour qu'il écrive les enregistrements dans la table de faits. Pour ce faire, procédez comme suit :
    1. Dans le champ Connexion, indiquez la connexion à l'entrepôt de données.
    2. Dans le champ Table/Vue, sélectionnez la table de faits que vous souhaitez que ce stage interroge. Si la table de faits n'existe pas déjà dans l'entrepôt de données, cliquez sur Créer une table pour la créer.
    3. Pour chaque champ que vous souhaitez écrire dans la table de faits, cochez la case de la colonne Inclure.
    4. Dans l'onglet Exécution, notez que, par défaut, l'option Insérer est sélectionnée comme mode d'écriture. En règle générale, le renseignement de la table de faits est exécuté en mode d'insertion ; vous pouvez donc laisser cette option sélectionnée.
  11. Enregistrez et exécutez votre flux de données.

Exemple de remplacement de données sources par des clés de la table de dimensions

Prenons l'enregistrement suivant :

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

Cet exemple contient un champ de date, suivi d'un nom de produit (Parsley Garlic Pasta), d'un client (Mile High Gourmet Market) et d'un montant (78.25). L'entrepôt de données comporte des tables de dimensions pour la date, le nom de produit et le client. les clés naturelles de l'enregistrement doivent donc être remplacées par les clés de substitution des tables de dimensions. Pour ce faire, le flux de données doit comporter trois stages Query DB : un premier stage qui recherche la clé de substitution pour la date, un deuxième pour le nom de produit et un troisième pour le client.

Chaque stage Query DB comporte une instruction WHERE qui recherche la clé de substitution respective.

Suite à ces recherches, l'enregistrement, une fois écrit dans la table de faits, peut prendre la forme suivante :

711,1,15,78.35

Notez que les clés naturelles de la date, du nom de produit et du client ont été remplacées par les clés de substitution.