Accéder au contenu principal

Références circulaires

SUR CETTE PAGE

Références circulaires

Si des références circulaires (boucles) sont présentes dans une structure de données, les tables sont associées de sorte qu'il existe plus d'un chemin d'associations entre deux champs.

  1. Ouvrez l'éditeur de chargement de données dans l'application Scripting Tutorial.
  2. Cliquez sur l'icône Create new pour ajouter une nouvelle section de script.
  3. Nommez la section Region.
  4. Sous DataFiles dans le menu droit, cliquez sur Sélectionner des données.

  5. Téléchargez, puis sélectionnez Region.txt. Une fenêtre d'aperçu des données s'ouvre.
  6. Sélectionnez tous les champs et assurez-vous que l'option Noms de champ incorporés disponible sous Noms des champs est activée afin d'inclure les noms des champs de table lors du chargement des données.
  7. Cliquez sur Insérer le script.
  8. Cliquez sur Charger les données.
  9. Cette fois-ci, il semble qu'un problème se soit produit lors du chargement des données. Une référence circulaire a été créée. La fenêtre Progression du chargement de données affiche un message d'erreur, indiquant qu'une référence circulaire a été détectée au cours du chargement. Cependant, le chargement est terminé et l'application enregistrée.

  10. Ouvrez le Visionneur de modèle de données.
  11. Vous pouvez réorganiser les tables en les faisant glisser de manière à voir plus clairement les connexions entre elles.

    Visionneur de modèle de données affichant la référence circulaire
    Data model viewer showing circular reference.

    Les lignes en pointillés rouges signalent la création d'une référence circulaire. Il est préférable d'éviter ce type de référence, car il peut susciter des ambiguïtés au niveau de l'interprétation des données.

Résolution des références circulaires

Afin de comprendre l'origine des références circulaires, examinons de plus près les tables dans le Visionneur de modèle de données.

Si vous considérez Table1 et Table2 figurant dans la capture d'écran ci-dessus, vous constatez qu'elles ont en commun le champ Date. Vous remarquez également que Table1 et Region ont en commun le champ SalesKey. Enfin, notez que Table2 et Region ont en commun le champ Week. Autrement dit, une boucle (ou référence circulaire) a été créée. Comme elle risque d'entraîner des problèmes par la suite, lors de l'analyse des données, voyons comment la supprimer.

Le moyen le plus simple de résoudre ce problème consiste à renommer ou à supprimer l'un des champs. Dans le cas présent, nous avons chargé des données qui sont inutiles pour notre application et que nous pouvons donc supprimer.

  1. Ouvrez l'éditeur de chargement de données.
  2. Cliquez sur la section Region et supprimez les deux lignes suivantes dans l'instructionLOAD :
  3. "Week",

    SalesKey

  4. Veillez également à supprimer la virgule après "Region Code".
  5. Votre script devrait désormais apparaître ainsi :

    LOAD Region, "Region Code" FROM [lib://DataFiles/Region.txt] (txt, codepage is 28591, embedded labels, delimiter is '\t', msq);

  6. Cliquez sur Charger les données.
  7. Ouvrez le Visionneur de modèle de données.
  8. Les références indésirables au champ Region ont été supprimées.

    Le visionneur de modèle de données affichant que la référence circulaire a été supprimée
    Data model viewer showing that circular reference has been removed.