Fermer

juillet 19, 2018

Oracle BI Data Sync: comment ajouter une nouvelle dimension


Dans cet article et dans le post suivant, je traiterai des étapes nécessaires à l'ajout de tâches de dimension et de faits dans Oracle Data Sync. Les dernières versions de Data Sync incluaient quelques fonctionnalités importantes telles que l'exécution de recherches pendant un travail ETL. J'ai donc l'intention de couvrir ces bonnes pratiques lors de l'ajout de nouvelles tâches de dimension et de faits. Ces instructions sont basées sur Oracle BI Data Sync version 2.3.2 et peuvent ne pas s'appliquer aux versions précédentes de Data Sync.

Dans cet exemple, j'ai déjà 2 tâches DataSync dans mon projet, une pour charger la table de dimension: W_OTLIS_STATE_D et un pour charger la table de faits: W_OTLIS_TRANSACTIONS_F. Dans les instructions étape par étape suivantes, je vais montrer comment ajouter une deuxième table de dimension. Reportez-vous à mon post suivant si vous êtes intéressé par les étapes d'ajout d'une tâche Fact.

  1. Dans cet exemple, je vais ajouter une table de dimension appelée W_OTLIS_METRO_STATION_D à charger dans la table source: OTLIS_METRO_STATION.
  2. Sous l'onglet Projet, sélectionnez Données relationnelles, puis Data From SQL. (D'autres options fonctionnent, mais dans cet exemple, j'utiliserai une requête SQL pour générer des données pour la dimension car cela permet une flexibilité maximale pour personnaliser la requête source si nécessaire.)
  3. Dans la nouvelle fenêtre, entrez le nom de la nouvelle tâche (sans espaces), entrez le nom de la nouvelle table cible pour la dimension (suivez votre convention de nommage), choisissez le format de sortie Relationnel, sélectionnez la source Connexion, et entrez une instruction SQL pour sélectionner les colonnes nécessaires dans la table source. Dans mon exemple, je sélectionne toutes les colonnes. Cliquez sur OK
  4. Attendez un message comme celui-ci pour confirmer que l'opération a réussi. Puis cliquez sur OK.

  1. Sous Projet, vous devriez maintenant voir un nouvel enregistrement ajouté pour la nouvelle tâche. Cliquez sur la tâche nouvellement créée et cliquez sur la stratégie de chargement ci-dessous pour la modifier

  1. Par défaut, la tâche effectue un chargement complet de la table car la stratégie de chargement est définie sur l'option "Remplacer les données dans la table". Idéalement, si votre table source prend en charge le suivi incrémentiel à l'aide d'une date de dernière mise à jour, vous devez basculer la stratégie de charge pour prendre en charge les charges incrémentielles et ainsi obtenir des temps d'exécution des travaux plus rapides. Pour ce faire, sélectionnez l'option "Mettre à jour la table". Gardez les deux cases à cocher ci-dessous cochées. Cliquez sur Ok.

  1. Vous devriez maintenant avoir une autre fenêtre avec 2 onglets comme suit. Dans l'onglet Clés utilisateur, sélectionnez la ou les colonnes qui constituent l'identificateur unique de la table source. Dans mon exemple, il est constitué d'une colonne: STATION_ID. Il s'agit de la colonne qui sera utilisée pour mettre à jour la table de dimension cible de manière incrémentielle afin d'éviter de dupliquer le même enregistrement une fois qu'il a été mis à jour dans la source. Dans l'onglet Filtres, sélectionnez la colonne de date qui suit la date et l'heure de toutes les mises à jour / insertions effectuées sur la table source. Lors de l'exécution incrémentielle, Datasync extrait uniquement les enregistrements de la table source insérés / mis à jour après la dernière exécution de la tâche DataSync. Cliquez sur OK.
  1. Vous devriez voir un message comme suit. Cliquez sur OK pour créer l'index unique sur la clé utilisateur. Le but de ceci est d'améliorer les performances des charges incrémentielles en créant un index sur les colonnes de critères correspondants.

  1. Sous Projets, cliquez sur l'onglet Tables cible / Ensembles de données et sélectionnez la table de dimensions nouvellement ajoutée. Cochez la case: "Insérer une ligne non spécifiée". Le but de cette option est d'insérer une ligne "Unspecified" dans la dimension qui a une clé primaire = 0. Ceci nous permet de ne pas perdre les enregistrements de tables de faits dont la dimension des clés étrangères n'existe pas dans la dimension. Au lieu de perdre ces enregistrements de faits, ils seront chargés avec la valeur de dimension Unspecified
  2. Toujours sous Target Tables, sélectionnez la table de dimension nouvellement créée, puis sélectionnez l'onglet Columns Table. de la moitié inférieure de l'écran. Nous allons maintenant ajouter 2 colonnes standard à la table de dimension. Cliquez sur le bouton Nouveau dans la moitié inférieure de l'écran et ajoutez les 2 colonnes suivantes:
    1. KEY – Type de données: NUMBER – Longueur: 38 – Désélectionner Nullable
    2. W_LAST_UPDATE_DT – Type de données: Date – Désélectionner Nullable

Enregistrer les modifications.

  1. Cliquez sur l'onglet Données relationnelles sous Projets. Sélectionnez la tâche nouvellement créée pour la dimension. Dans la partie inférieure de l'écran, cliquez sur le bouton "Colonnes non mappées". Cela vous montrera une fenêtre avec les 2 colonnes que vous venez de créer. Déplacez-les sur le côté droit sous Selected Columns et cliquez sur OK.

  1. Modifiez l'expression cible pour la colonne KEY et entrez la valeur par défaut: %% SURROGATE_KEY. Cela générera une clé unique numérique principale pour la nouvelle table de dimension. Cliquez sur OK.

  1. Modifiez l'expression cible pour la colonne W_LAST_UPDATE_DT et entrez la valeur par défaut en tant que: %% UPSERT_TIMESTAMP. Cela remplira automatiquement la date et l'heure auxquelles les lignes seront remplies dans la table de dimension cible. Cliquez sur OK

  1. Cliquez sur Enregistrer
  2. Sous l'onglet Projets, Tableaux cibles, sélectionnez la table de dimension nouvellement ajoutée, puis sélectionnez Indices dans la moitié inférieure de l'écran. Nous allons ajouter un index de clé primaire. Cliquez donc sur Nouveau et ajoutez un index unique en cochant la case Est unique. Cliquez sur Enregistrer. Puis cliquez sur le bouton Colonnes pour ajouter le nom de la colonne: CLE. C'est le même nom de colonne ajouté dans les étapes précédentes que la clé de substitution de la dimension. Sauvegardez les modifications.

  1. C'est pour ajouter la tâche de dimension. Nous sommes prêts maintenant à faire le travail. Cela devrait créer la nouvelle table de dimension avec les index et remplir la table avec les données source. Vérifiez que le nombre d'enregistrements dans la table de dimension cible correspond au nombre d'enregistrements de la source, plus une ligne supplémentaire où le paramètre KEY = 0 et les attributs de texte sont "Unspecified".
  2. Une fois que le premier travail est terminé et validées, ajoutez des données incrémentales de test dans la table source, réexécutez le travail et vous devriez voir les nouvelles modifications mises à jour dans la table de dimension cible.




Source link