Principe et résolution des 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.

En général, il est préférable d'éviter ce type de structure de données autant que possible, car il peut provoquer des ambiguïtés dans l'interprétation des données.

Trois tables comportant une référence circulaire, car il existe plus d'un chemin d'associations entre deux champs.
Three tables with a circular reference.

Qlik Sense résout le problème des références circulaires en rompant la boucle à l'aide d'une table déconnectée. Lorsque Qlik Sense détecte des structures de données circulaires au moment de l'exécution du script de chargement, une boîte de dialogue d'avertissement s'affiche et une ou plusieurs tables sont déclarées déconnectées. Qlik Sense tente en général de déconnecter la table la plus longue de la boucle, car il s'agit souvent d'une table de transactions, qui est normalement celle à déconnecter. Dans le visionneur de modèle de données, les tables déconnectées sont indiquées par des liens en pointillé de couleur rouge qui les relient aux autres tables.

Example:  

Les données sont chargées à partir de trois tables comprenant les informations suivantes :

  • Noms de plusieurs équipes de football nationales
  • Clubs de football de différentes villes
  • Villes de plusieurs pays européens
Vue des tables de données source dans Excel.

Tables in Excel.

Cette structure de données n'est pas satisfaisante, car le nom de champ Team est utilisé pour plusieurs objectifs : équipes nationales et clubs locaux. Les données contenues dans les tables créent une situation logique impossible.

Lors du chargement des tables dans Qlik Sense, Qlik Sense détermine les connexions de données les moins importantes et déconnecte la table concernée.

Ouvrez le Visionneur de modèle de données pour observer la manière dont Qlik Sense interprète la pertinence des connexions de données :

Vue des références circulaires indiquées par des lignes en pointillé rouge.
Circular references between tables.

La table comprenant les villes et les pays auxquels elles appartiennent est à présent déconnectée de la table incluant les équipes nationales de différents pays et de la table comportant les clubs locaux de plusieurs villes.

Résolution de références circulaires

En cas de références circulaires, vous devez éditer le script de chargement de données en attribuant un nom unique à l'un des champs dont le nom existe en double.

Procédez comme suit :

  1. Ouvrez l'éditeur de chargement de données.
  2. Éditez l'instruction LOAD associée à l'un des noms de champ en double.

    Dans cet exemple, l'instruction LOAD de la table contenant les équipes locales et les villes d'origine associées comprend alors un nouveau nom pour Team, par exemple LocalClub. L'instruction LOAD mise à jour est la suivante :

    LOAD City, Team as LocalClub

  1. Cliquez sur l'icône ° de la barre d'outils pour recharger les données dans l'application.

La logique est à présent rétablie et peut s'appliquer à toutes les tables. Dans cet exemple, lorsque Germany est sélectionné, l'équipe nationale, les villes allemandes et les clubs locaux de chaque ville sont associés :

Sheet with four tables.

Lorsque vous ouvrez le Visionneur de modèle de données, vous constatez que les connexions inactives sont remplacées par des connexions standard :

Three tables with regular connections in the Data model viewer.