Les relations sont une manière dynamique et flexible de combiner les données issues de plusieurs tables pour l'analyse. Une relation décrit comment deux tables sont reliées l'une à l'autre, sur la base de champs communs, mais ne fusionne pas les tables ensemble. Lorsqu'une relation est créée entre des tables, celles-ci restent séparées, en conservant leur niveau de détail et leurs domaines individuels.

Considérez une relation comme un contrat entre deux tables. Lorsque vous créez une visualisation avec des champs issus de ces tables, Tableau intègre les données depuis ces tables en utilisant ce contrat pour créer une requête avec les jointures appropriées.

En savoir plus : la capacité de combiner vos données à l’aide de relations est une fonctionnalité importante dans les nouvelles fonctionnalités de modélisation des données dans Tableau. Pour plus d'informations, consultez Ce qui a changé pour les sources de données et l'analyse. En savoir plus sur le fonctionnement des relations dans ces billets du blog Tableau :

Visionner une vidéo : pour une introduction à l'utilisation des relations dans Tableau, visionnez cette vidéo de 5 minutes.

Remarque : L'interface de modifications des relations présentée dans cette vidéo diffère légèrement de la version actuelle, mais possède les mêmes fonctionnalités.

Action Analytics(Le lien s’ouvre dans une nouvelle fenêtre) propose également des podcasts vidéo utiles sur l'utilisation des relations dans Tableau. Pour une introduction, consultez Pourquoi Tableau a-t-il inventé les relations ?(Le lien s’ouvre dans une nouvelle fenêtre) Cliquez sur « Video Podcast » dans Library(Le lien s’ouvre dans une nouvelle fenêtre) (Bibliothèque) sur le site Web d'Action Analytics pour voir d'autres podcasts.

Qu'est-ce que les relations ?

Les relations sont les lignes de connexion flexibles créées entre les tables logiques de votre source de données. Certaines personnes appellent affectueusement les relations des « noodles », mais en règle générale, nous les appelons « relations » dans notre documentation d'aide.

Nous vous recommandons d’utiliser les relations comme première approche pour combiner vos données, car elles rendent la préparation et l’analyse des données plus faciles et plus intuitives. Utilisez des jointures seulement lorsque vous en avez absolument besoin(Le lien s’ouvre dans une nouvelle fenêtre).

Les relations offrent plusieurs avantages par rapport aux jointures pour des données multi-tables :

  • Vous n'avez pas besoin de configurer les types de jointure(Le lien s’ouvre dans une nouvelle fenêtre) entre les tables. Il vous suffit de sélectionner les champs pour définir la relation.
  • Les tables reliées demeurent séparées et distinctes. Elles ne sont pas fusionnées dans une seule table.
  • Les relations utilisent des jointures, mais elles sont automatiques. Tableau sélectionne automatiquement les types de jointure en fonction des champs utilisés dans la visualisation. Au cours de l’analyse, Tableau ajuste les types de jointure de manière intelligente et préserve le niveau de détail natif dans vos données.
  • Tableau utilise les relations pour générer des agrégations correctes et des jointures appropriées lors de l'analyse, en fonction du contexte actuel des champs utilisés dans une feuille de calcul.
  • Plusieurs tables à différents niveaux de détail sont prises en charge dans une seule source de données. Vous pouvez créer des modèles de données contenant plus de tables, et réduire le nombre de sources de données nécessaires pour créer une visualisation.
  • Les valeurs de mesures sans correspondances ne sont pas abandonnées (pas de perte accidentelle de données).
  • Évite les problèmes de duplication et de filtrage des données qui peuvent parfois résulter des jointures.
  • Tableau génère des requêtes uniquement pour les données qui sont pertinentes pour la vue actuelle.

Exigences en matière de relations

  • Lorsque vous reliez des tables, les champs qui définissent les relations doivent présenter le même type de données.
  • Vous ne pouvez pas définir les relations en fonction de champs géographiques.
  • Les relations circulaires ne sont pas prises en charge dans le modèle de données.
  • Vous ne pouvez pas définir des relations entre des sources de données publiées.

Facteurs qui limitent les avantages de l’utilisation de tables reliées :

  • Les données « sales » dans les tables (c’est-à-dire les tables qui n’ont pas été créées avec un modèle bien structuré à l’esprit et contiennent un mélange de mesures et de dimensions dans plusieurs tables) peuvent rendre l’analyse multi-tables plus complexe.
  • L’utilisation de filtres de sources de données limitera la capacité de Tableau à éliminer les jointures dans les données. Le terme « élimination des jointures » désigne la façon dont Tableau simplifie les requêtes en supprimant les jointures inutiles.
  • Tables avec beaucoup de valeurs sans correspondances dans les relations.
  • Interrelation de plusieurs tables de faits avec plusieurs tables de dimensions (tentant de modéliser des dimensions partagées ou conformes).

Données qui ne peuvent pas être reliées

La plupart des types de connexions relationnelles sont entièrement pris en charge. Les cubes, SAP HANA (avec un attribut OLAP), JSON et Google Analytics sont limités à une seule table logique dans Tableau 2020.2. Les procédures stockées ne peuvent être utilisées qu'à l'intérieur d'une seule table logique.

Les sources de données publiées ne peuvent pas être reliées les unes aux autres.

Non pris en charge

  • Les bases de données de type cube ne prennent pas en charge la nouvelle couche logique. La connexion à un cube se déroule de la même manière que dans la version pré-2020.2.
  • Procédures stockées : ne prennent pas en charge la fédération, les relations ni les jointures. Elles sont représentées dans une seule table logique et ne permettent pas d'ouvrir l'espace de travail Jointure/Union (couche physique).
  • Splunk : ne prend pas en charge les jointures gauches (et donc la relation entre tables logiques).
  • JSON : ne prend pas en charge la fédération, SQL personnalisé, les jointures ni les relations (uniquement les unions).
  • Les sources de données ne prennent pas en charge les calculs LOD. Pour plus d'informations, consultez Contraintes de la source de données pour les expressions LOD.

Prise en charge limitée

  • Connexions standard à Salesforce et aux connecteurs de données Web : elles sont représentées sous la forme de tables liées dans une table logique. Il n'est actuellement possible d'ajouter ces connexions que pour des sources de données de tables logiques uniques. Les connexions standard ne peuvent pas effectuer des jointures à une table existante.
  • SAP HANA : ne prend actuellement pas en charge la relation de tables logiques lorsque la connexion a l'ensemble d'attributs OLAP.

Créer et définir des relations

Une fois que que vous avez fait glisser la première table sur l'espace de travail de niveau supérieur de la source de données, chaque nouvelle table que vous faites glisser sur l'espace de travail doit être reliée à une table existante. Lorsque vous créez des relations entre des tables de la couche logique, vous créez essentiellement le modèle de données pour votre source de données.

Créer une relation

Vous créez des relations dans la couche logique de la source de données. Il s’agit de la vue par défaut de l'espace de travail que vous voyez dans le volet Source de données.

  1. Faites glisser une table vers l'espace de travail.

  2. Faites glisser une autre table vers l'espace de travail. Lorsque vous voyez des « noodles » entre les deux tables, déposez cette table.

    La boîte de dialogue Modifier la relation s'ouvre. Tableau tente automatiquement de créer la relation en fonction des contraintes de clés existantes et des champs correspondants pour définir la relation. S’il ne peut pas déterminer les champs correspondants, vous devrez les sélectionner.

    Pour modifier les champs : pour modifier les champs, sélectionnez une paire de champs, puis cliquez sur la liste des champs ci-dessous pour sélectionner une nouvelle paire de champs correspondants.

    Pour ajouter plusieurs paires de champs : après avoir sélectionné la première paire, cliquez sur Fermer, puis cliquez sur Ajouter des champs supplémentaires.

    Remarque : dans Tableau 2020.3 et ultérieur, vous pouvez créer des relations basées sur des champs calculés et comparer les champs utilisés pour les relations à l’aide d’opérateurs dans la définition de la relation. Notez que les connecteurs suivants ne prennent pas en charge les opérateurs d'inégalité : Google BigQuery, MapR, Salesforce.

    Si aucune contrainte n’est détectée, une relation de plusieurs-à-plusieurs est créée et l'intégrité référentielle est définie sur Certains enregistrements correspondent. Ces paramètres par défaut sont un choix sûr et offrent une flexibilité optimale pour votre source de données. Les paramètres par défaut prennent en charge les jointures externes complètes et optimisent les requêtes en agrégeant les données de table avant de former des jointures lors de l’analyse. Toutes les données des lignes et des colonnes de chaque table restent disponibles pour l'analyse.

    Dans de nombreux scénarios d'analyse, l'utilisation des paramètres par défaut d'une relation vous fournit toutes les données dont vous avez besoin pour l'analyse. L'utilisation d'une relation de plusieurs-à-plusieurs fonctionnera même si vos données sont en fait de type plusieurs-à-un ou un-à-un. Si vous connaissez la cardinalité et l'intégrité référentielle spécifiques de vos données, vous pouvez ajuster les paramètres des options de performance(Le lien s’ouvre dans une nouvelle fenêtre) pour décrire vos données avec plus de précision et optimiser la manière dont Tableau interroge la base de données.

  3. Ajoutez d'autres tables en suivant les mêmes étapes, au besoin.

Une fois que vous avez intégré votre source de données multi-tables reliée, vous pouvez vous plonger dans l’exploration de ces données. Pour plus d’informations, consultez Fonctionnement de l’analyse pour les sources de données multi-tables utilisant des relations et Résoudre les problèmes de l'analyse multi-tables.

Déplacer une table pour créer une relation différente

Pour déplacer une table, faites-la glisser vers une table différente. Sinon, survolez une table, cliquez sur la flèche, puis sélectionnez Déplacer.

Conseil : faites glisser une table au-dessus d’une autre table pour la remplacer.

Modifier la table racine du modèle de données

Pour permuter la table racine avec une autre table : cliquez avec le bouton droit sur une autre table logique dans le modèle de données, puis sélectionnez Permuter avec la racine pour effectuer la modification.

Supprimer une table d’une relation

Pour déplacer une table, survolez une table, cliquez sur la flèche, puis sélectionnez Supprimer.

La suppression d’une table dans l'espace de travail supprime également automatiquement ses descendants reliés.

Afficher une relation

  • Survolez une ligne de relation (noodle) pour voir les champs correspondants qui la définissent. Vous pouvez également survoler n’importe quelle table logique pour voir ce qu’elle contient.


Modifier une relation

  • Cliquez sur une ligne de relation pour ouvrir la boîte de dialogue Modifier les relations. Vous pouvez ajouter, modifier ou supprimer les champs utilisés pour définir la relation. Ajoutez des paires de champs supplémentaires pour créer une relation composée.

    Pour ajouter plusieurs paires de champs : après avoir sélectionné la première paire, cliquez sur Fermer, puis cliquez sur Ajouter des champs supplémentaires.

Conseils sur la création de relations

  • La première table que vous faites glisser vers l'espace de travail devient la table racine pour le modèle de données dans votre source de données. Après avoir fait glisser la table racine, vous pouvez faire glisser des tables supplémentaires dans n’importe quel ordre. Vous devrez prendre en compte les tables à relier les unes aux autres, et les paires de champs correspondants que vous définissez pour chaque relation.
  • Avant que vous ne commenciez à créer des relations, la visualisation des données à partir de la source de données avant ou pendant l’analyse peut être utile pour vous donner une idée de la portée de chaque table. Pour plus d'informations, consultez Afficher les données sous-jacentes. Vous pouvez également utiliser Afficher les données pour voir les données sous-jacentes d’une table lorsqu’une relation n'est pas valide.
  • Si vous créez un schéma en étoile, il peut être utile de faire glisser la table de faits en premier, puis de relier les tables de dimensions à cette table.
  • Chaque relation doit être constituée d'au moins une paire assortie de champs. Ajoutez plusieurs paires de champs pour créer une relation composée. Les paires assorties doivent avoir le même type de données. La modification du type de données dans le volet Source de données ne modifie pas cette exigence. Tableau continuera d'utiliser le type de données dans la base de données sous-jacente pour les requêtes.
  • Les relations peuvent être basées sur des champs calculés. Vous pouvez également spécifier comment comparer les champs à l’aide d’opérateurs lorsque vous définissez la relation.
  • La suppression d’une table dans l'espace de travail supprime également automatiquement ses descendants reliés.
  • Vous pouvez échanger la table racine avec une autre table. Cliquez avec le bouton droit sur une autre table logique dans le modèle de données, puis sélectionnez Échanger avec la racine pour effectuer la modification.

Valider les relations dans votre source de données

Vous disposez de plusieurs options pour valider votre modèle de données à des fins d'analyse. Au fur et à mesure que vous créez le modèle pour votre source de données, nous vous recommandons d'accéder à la feuille, de sélectionner cette source de données, puis de créer une visualisation qui explore le nombre d'enregistrement, les données sans correspondances, les valeurs null ou les valeurs de mesures répétées. Essayez de travailler avec des champs de différentes tables pour vous assurer que tout se présente comme attendu.

Que rechercher :

  • Vos relations dans le modèle de données utilisent-elles les champs correspondants corrects pour leurs tables ?
  • Que se passe-t-il si vous faites glisser différentes dimensions et mesures dans la vue ?
  • Voyez-vous le nombre de lignes attendu ?
  • Des relations composées rendraient-elle la relation plus précise ?
  • Si vous avez modifié l’un des paramètres d’options de performance par rapport aux paramètres par défaut, les valeurs que vous voyez dans la visualisation correspondent-elles à vos attentes ? Si ce n'est pas le cas, vous pouvez vérifier les paramètres, ou les réinitialiser à la valeur par défaut.

Options de validation des relations et du modèle de données :

  • Chaque table inclut le nombre total de ses enregistrements, sous la forme d'un champ nommé TableName(Count), au niveau de détail défini pour cette table. Pour voir le total pour une table, faites glisser le champ Total dans la vue. Pour voir le total pour toutes les tables, sélectionnez le champ Total pour chaque table dans le volet Données, puis cliquez sur le tableau de texte dans Montre-moi.
  • Cliquez sur Afficher les données dans le volet Données pour voir le nombre de lignes et de données par table. En outre, avant que vous ne commenciez à créer des relations, la visualisation des données à partir de la source de données avant ou pendant l’analyse peut être utile pour vous donner une idée de la portée de chaque table. Pour plus d'informations, consultez Afficher les données sous-jacentes.
  • Faites glisser les dimensions sur les lignes pour voir le nombre de lignes dans la barre d'état. Pour voir les valeurs sans correspondances, cliquez sur le menu Analyse, puis sélectionnez Disposition de table > Afficher des lignes vides ou Afficher des colonnes vides. Vous pouvez également faire glisser différentes mesures sur la vue, par exemple<YourTable>(Count) à partir d'une des tables représentées dans votre visualisation. Vous avez ainsi l'assurance que vous verrez toutes les valeurs de dimensions de cette table.

Conseil : pour voir les requêtes générées pour les relations, vous pouvez utiliser l'enregistrement des performances dans Tableau Desktop.

  1. Cliquez sur le menu d'aide, puis sélectionnez Paramètres et Performances > Démarrer l'enregistrement des performances.
  2. Faites glisser les champs dans la vue pour créer votre visualisation.
  3. Cliquez sur le menu d'aide, puis sélectionnez Paramètres et Performances > Arrêter l'enregistrement des performances.
  4. Dans le tableau de bord Résumé des performances, sous les événements triés par heure, cliquez sur une barre « Exécution de la requête » et consultez la requête ci-dessous.

Une autre option plus avancée consiste à utiliser Tableau Log Viewer(Le lien s’ouvre dans une nouvelle fenêtre) sur GitHub. Vous pouvez filtrer sur un mot-clé spécifique à l’aide de la commande end-protocol.query. Pour plus d’informations, commencez par la page wiki Tableau Log Viewer(Le lien s’ouvre dans une nouvelle fenêtre) dans GitHub.

Visualisations ne contenant que des dimensions

En cas d'utilisation d'une source de données multi-tables avec des tables reliées : si vous créez une visualisation qui ne contient que des dimensions, Tableau utilise des jointures intérieures et vous ne verrez pas le domaine complet sans correspondances.

Pour voir des combinaisons partielles de valeurs de dimensions, vous pouvez :

  • Utiliser Afficher les lignes/colonnes vides pour voir toutes les lignes possibles. Cliquer sur le menu Analyse, puis sélectionner Disposition de table > Afficher des lignes vides ou Afficher des colonnes vides.
  • Ajouter une mesure à la vue, par exemple <YourTable>(Count) à partir d'une des tables représentées dans votre visualisation. Vous avez ainsi l'assurance que vous verrez toutes les valeurs de dimensions de cette table.

Pour plus d'informations, consultez Fonctionnement de l’analyse pour les sources de données multi-tables utilisant des relations et Résoudre les problèmes de l'analyse multi-tables.

Relations (tables logiques) versus jointures (tables physiques)

Bien que similaires, les jointures et les relations se comportent différemment dans Tableau et sont définies dans différentes couches du modèle de données. Vous créez des relations entre les tables logiques au niveau de la couche supérieure, logique de la source de données. Vous créez des jointures entre les tables physiques dans la couche physique de votre source de données.

Les jointures fusionnent les données de deux tables en une seule table avant de commencer votre analyse. La fusion des tables ensemble peut entraîner la duplication ou le filtrage de données de l'une ou des deux tables ; elle peut également entraîner l'ajout de lignes NULL à vos données si vous utilisez une jointure gauche, droite ou externe complète. Lorsque vous effectuez une analyse sur des données liées, vous devez vous assurer que vous gérez correctement les effets de la jointure sur vos données.

Remarque : dans le cas où les effets de duplication ou de filtrage d’une jointure peuvent être utiles, utilisez des jointures pour fusionner les tables au lieu des relations. Double-cliquez sur une table logique pour ouvrir la couche physique et ajouter des tables liées.

Une relation décrit comment deux tables indépendantes sont reliées l'une à l'autre, mais ne fusionne pas les tables ensemble. Cela permet d'éviter les problèmes de duplication et de filtrage des données susceptibles de survenir dans une jointure et de faciliter le travail avec vos données.

Relations Jointures
Définies entre les tables logiques dans l'espace de travail des relations (couche logique) Définies entre les tables physiques dans l'espace de travail Jointure/Union (couche physique)
Ne nécessitent pas que vous définissiez un type de jointure Nécessitent la planification de jointure et le type de jointure
Agissent comme des conteneurs pour les tables qui sont liées ou réunies Sont fusionnées dans leur table logique
Seules les données pertinentes de la visualisation sont interrogées. Les paramètres de cardinalité et d'intégrité référentielle peuvent être ajustées afin d'optimiser des performances. S'exécutent dans le cadre de chaque requête
Le niveau de détail est l'agrégation pour la visualisation Le niveau de détail est la ligne pour la table unique
Les types de jointure sont automatiquement formés par Tableau en fonction du contexte d'analyse. Tableau détermine les jointures nécessaires basées sur les mesures et les dimensions de la visualisation. Les types de jointures sont statiques et fixes dans la source de données, quel que soit le contexte analytique. Les jointures et les unions sont établies avant l'analyse et ne changent pas.
Les lignes ne sont pas dupliquées Les données des tables fusionnées peuvent entraîner une duplication
Les enregistrements sans correspondances sont inclus dans les agrégations, à moins d'en être explicitement exclus Les enregistrements sans correspondances sont omis des données fusionnées
Créent des domaines indépendants à plusieurs niveaux de détail Prennent en charge des scénarios qui nécessitent une seule table de données, tels que les filtres d'extrait et l’agrégation.

Relations vs. fusions

Bien qu'elles prennent en charge l'analyse à différents niveaux de détail, les relations et les fusions affichent des différences distinctes. Vous pouvez être amené à utiliser des fusions plutôt que des relations si vous souhaitez combiner des sources de données publiées pour votre analyse.

Relations Fusions
Définies dans la source de données Définies dans la feuille de calcul entre une source de données principale et secondaire
Peuvent être publiées Ne peuvent pas être publiées
Toutes les tables sont égales au niveau sémantique Dépendent de la sélection des sources de données principales et secondaires et de la façon dont ces sources de données sont structurées.
Prennent en charge les jointures externes complètes Prennent uniquement en charge les jointures gauches
Calculées localement Calculées dans le cadre de la requête SQL
Les champs connexes sont fixes Les champs reliés varient selon les feuilles (peuvent être personnalisés feuille par feuille)

Fonctionnalités des différentes options de combinaison des données : relations, jointures et fusions

Il existe de nombreuses façons de combiner des tables de données, chacune avec ses propres scénarios et nuances préférés.

Relation

À utiliser lors de la combinaison de données de différents niveaux de détail.

  • Nécessite des champs correspondants entre deux tables logiques. Plusieurs paires de champ correspondants peuvent définir la relation.
  • Utilise automatiquement des agrégations et des jointures contextuelles correctes selon la manière dont les champs sont reliés et utilisés dans la visualisation.
  • Prend en charge les relations de plusieurs-à-plusieurs et les jointures externes.
  • Les relations sont cohérentes pour l'ensemble du classeur et peuvent être publiées.
  • Peut être publiée, mais il n’est pas possible de relier des sources de données publiées.
  • Impossible de définir des relations basées sur des champs calculés ou des champs géographiques.
  • L'utilisation de filtres de source de données limite les avantages de l'élimination des jointures pour les relations.
Jointure

À utiliser lorsque vous souhaitez ajouter des colonnes de données supplémentaires à travers la même structure de ligne.

  • Nécessite des champs communs entre deux tables physiques.
  • Nécessite l'établissement d'une clause de jointure et d'un type de jointure.
  • Possibilité d'effectuer une jointure sur un calcul.
  • Les tables physiques liées sont fusionnées en une seule table logique avec une combinaison fixe de données.
  • Peut causer une perte de données si les champs ou les valeurs ne sont pas présents dans toutes les tables (dépendent des types de jointure utilisés).
  • Peut causer la duplication des données si les champs sont à différents niveaux de détail.
  • Peut utiliser des filtres de source de données.
Union

À utiliser lorsque vous souhaitez ajouter des lignes de données supplémentaires avec la même structure de colonne.

  • Basée sur des colonnes correspondantes entre deux tables.
  • Les tables physiques réunies sont fusionnées en une seule table logique avec une combinaison fixe de données.
Fusion

À utiliser lors de la combinaison de données de différents niveaux de détail.

  • Peut être utilisée pour combiner des sources de données publiées, mais ne peut pas être publiée.
  • Peut être utilisée entre une source de données relationnelles et une source de données de type cube.
  • Les sources de données peuvent être fusionnées feuille par feuille.
  • Est toujours effectivement une jointure gauche (peut perdre des données des sources de données secondaires).
Merci de vos commentaires !