Maîtriser les relations

Les nouvelles fonctionnalités de modélisation des données créent des sources de données flexibles construites autour des relations.

Les relations combinent les données de différentes tables en examinant les colonnes (champs) que ces tables ont en commun et en utilisant ces informations pour intégrer les informations de chaque table dans l’analyse.

À la différence des jointures ou des unions, les relations constituent une source de données sans aplatir plusieurs tables en une seule table. Pour cette raison, les sources de données reliées savent de quelle table chaque champ est issu. Cela signifie que chaque champ conserve son contexte, ou son niveau de détail. Les sources de données reliées peuvent donc traiter les tables avec une granularité différente sans problèmes de duplication ou de perte de données.

Dans une source de données reliée, les jointures ne sont pas fixées à l’avance. Au lieu de fusionner toutes les données (et d’avoir à travailler avec toutes les données indépendamment de ce que chaque visualisation nécessite), seules les données pertinentes sont combinées, par feuille et selon les besoins. Lorsque vous faites un glisser-déposer, Tableau évalue les relations des champs et des tables pertinents. Ces relations sont utilisées pour écrire des requêtes avec les types de jointure, les agrégations et la manipulation des valeurs null corrects.

Vous pouvez réfléchir à la façon dont les données s’emboîtent et aux questions auxquelles vous voulez répondre, plutôt que sur la façon de combiner les données ou de compenser les artefacts provenant de la source de données.

Les relations ne remplacent pas les précédentes manières de combiner les données : jointures, unions et fusions. Les relations sont plutôt la nouvelle manière flexible de rassembler des données provenant de sources multiples. Les méthodes existantes ne disparaissent pas et sont toujours utiles dans des scénarios spécifiques.

Utiliser les relations

Cette rubrique décrit en détail la création d’une source de données reliée et son utilisation pour l’analyse. Si vous souhaitez suivre la procédure, vous pouvez télécharger l’ensemble de données Bookshop(Le lien s’ouvre dans une nouvelle fenêtre). Choisissez Bookshop.xlsx pour que les données brutes démarrent de zéro, ou MinimalBookshop.tdsx pour commencer par les bases de la source de données reliées configurées pour vous.

Remarque : les relations sont disponibles partir de Tableau 2020.2.

Vidéo : Données migrées

Si vous ouvrez un classeur existant depuis une version précédente de Tableau (version 2020.1 ou antérieure) dans Tableau 2020.2 ou ultérieur, il se peut que votre onglet Source de données affiche une table Données migrées.

Plusieurs vidéos sont intégrées dans cette rubrique. Pour votre commodité, une transcription est fournie dans la section à développer sous chaque vidéo.

Transcription vidéo pour Données migrées

Si vous ouvrez un classeur créé avant que les relations soient disponibles (avant la version 2020.2), votre source de données peut sembler différente. S’il y avait des tables liées ou réunies, elles apparaissent sous la forme d’une table logique unique nommée Migrated Data (Données migrées). Double-cliquez pour voir les tables sous-jacentes. Elles sont toujours là, et votre analyse se déroulera toujours comme prévu.

Notez que lorsque vous n’utilisez que la table Données migrées, le volet Données se comporte davantage comme les versions précédentes de Tableau Desktop.

Vous pouvez même relier de nouvelles tables directement à la table Données migrées pour étendre le modèle de données.

Une fois que vous avez ajouté des relations au modèle de données, le volet Données est mis à jour à la nouvelle disposition, avec les dimensions et les mesures conservées dans chaque table, et la table Données migrées s’affiche sous la forme d’une table unique fusionnée.

Vidéo : Relier des tables

Remarque : L’interface de modification 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.

Transcription vidéo pour Relier des tables

Pour créer une source de données de tables reliées, connectez-vous à vos données et faites glisser une table vers l’espace de travail. Faites glisser une deuxième table. Une relation se formera automatiquement si cela est possible. Si Tableau ne peut pas détecter les champs reliés, vous serez invité à les sélectionner vous-même.

L’espace de travail que vous voyez est une nouvelle couche du modèle de données où vous pouvez relier des tables ensemble. Vous pouvez faire glisser des tables supplémentaires pour les ajouter au modèle de données. Les « noodles » montrent quelles tables sont reliées.

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.

Ajouter des jointures

Vous pouvez créer une jointure en double-cliquant sur une table pour ouvrir l’espace de travail de jointure (également appelé couche physique), puis en faisant glisser une table pour créer une jointure. La création de jointures se déroule comme dans les versions précédentes de Tableau : vous pouvez définir une clause de jointure, y compris un calcul si nécessaire, et configurer le type de jointure.

Une fois que vous fermez l’espace de travail de jointure, la table sur l’espace de travail de relation (également appelée couche logique) inclut une icône de jointure pour indiquer la jointure sous-jacente. En effet, une jointure fusionne ses tables ensemble pour former une seule, nouvelle table. Les tables connexes restent distinctes.

Ajouter des unions

Ajoutez des unions en faisant glisser une nouvelle union. Les unions, à la différence des jointures, fusionnent les données et affichent une icône sur la couche logique. Nous recommandons de toujours renommer les unions, ou toute table aux noms peu clairs, en utilisant un nom plus utile.

Vidéo : Options de performance

Remarque : L’interface de modification 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.

Transcription vidéo pour Options de performance

Pour toute relation, il existe des options de performance ainsi que des champs connexes. Tableau choisit automatiquement des paramètres par défaut sûrs pour ces options. Toutefois, si vous êtes sûr des caractéristiques de vos données, la modification de ces options peut fournir à Tableau plus d’informations sur la meilleure façon de configurer les jointures automatiques lors de l’analyse. La configuration des options de cardinalité et d’intégrité référentielle fournit à Tableau plus d’informations sur la façon d’optimiser les requêtes.

Cardinalité

La cardinalité indique si les enregistrements des champs de liaison sont uniques ou non. Si plusieurs livres peuvent avoir le même auteur, mais que chaque auteur n’est répertorié qu’une seule fois dans la table des auteurs, la cardinalité pour AuthID serait Plusieurs pour les livres et Un pour l’auteur entre ces deux tables. Ce paramètre influe sur la façon dont Tableau gère l’agrégation avant ou après la jointure.

Intégrité référentielle

L’intégrité référentielle indique si un enregistrement dans une table est garanti d’avoir une relation dans une autre table. Si chaque livre a un auteur, l’intégrité référentielle est établie entre Livre et Auteur. Si tous les auteurs n’ont pas de livre, il n’y a pas d’intégrité référentielle entre Auteur et Livre. Ce paramètre influe sur la façon dont Tableau choisit un type de jointure et gère les enregistrements sans correspondances.

Pour plus d’informations, voir Cardinalité et intégrité référentielle.

Exemple : Données de l’exemple Bookshop

Nous allons faire une analyse avec cette source de données dans un instant. Parlons maintenant des données.

L’ensemble de données (fictif) concerne les livres, et il est important de prendre en compte la distinction entre un livre et une édition. Un livre est l’œuvre conceptuelle elle-même, avec des attributs tels que le titre, l’auteur et le genre. Il y a aussi les éditions d’un livre, avec des attributs tels qu’un prix et un format (couverture rigide ou livre de poche), qui sont identifiés avec un ISBN. L’édition d’un livre a un éditeur et un nombre de pages, alors qu’un livre peut avoir remporté un prix ou faire partie d’une série.

Vous pouvez suivre l’exemple en téléchargeant MinimalBookshop.tdsx, ou être aventureux et créer le modèle vous-même depuis bookshop.xlsx. Notez que vous pouvez masquer de nombreux champs d’identification une fois que les tables sont combinées.

Vidéo : Travailler avec plusieurs tables

Remarque : L’interface de modification 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.

Transcription vidéo Travailler avec plusieurs tables

Volet Source de données

Avant d’accéder à un onglet de feuille, notez que la grille de données, ci-dessous, affiche seulement les champs d’une table à la fois. Si nous cliquons sur une autre table, nous verrons les données qu’elle contient. Il n’y a pas de vue d’ensemble parce que les données connexes ne sont pas rassemblées avant d’être utilisées dans une analyse. Pour l’instant, les données restent dans chaque table et sont donc affichées par table.

Si nous cliquons sur une table avec une jointure ou une union sous-jacente, nous voyons ces données fusionnées, avec les valeurs null que cela peut impliquer.

Volet Données

Lorsque nous cliquons sur une feuille, vous remarquerez peut-être que le volet Données semble différent de celui des versions précédentes de Tableau. Au lieu d’une organisation principale basée sur les dimensions et les mesures, il est maintenant axé sur les tables. Chaque table a sa propre ventilation de dimensions et de mesures, indiquée par cette ligne. Il est toujours possible de regrouper par dossiers à la place, si vous préférez.

Nombre d’enregistrements et Total

Il n’y a pas non plus de champ Nombre d’enregistrements. Le concept de nombre d’enregistrements a en effet changé. La source de données ne comporte pas un seul champ Nombre d’enregistrements. Chaque table comporte un champ Total, qui peut être considéré comme un champ local de nombre d’enregistrements pour cette table.

Pour avoir une idée du nombre d’enregistrements pour plusieurs tables en même temps, vous pouvez utiliser les options Noms de mesures et Valeurs de mesures ou sélectionner plusieurs fois les champs Total et utiliser Montre-moi pour créer une visualisation.

Vidéo : Calculs de base

Transcription vidéo pour Calculs de base

Nous pouvons effectuer quelques calculs pour rendre cet ensemble de données un peu plus convivial. Tout d’abord, nous pouvons créer un calcul pour le nom d’auteur complet qui réunit le prénom et le nom de famille. Nous allons créer un calcul appelé Nom d’auteur qui est tout simplement un prénom, un espace et un nom de famille. Notez que ce calcul reste dans la table Auteur parce qu’il utilise des champs issus uniquement de cette table.

[First Name] + " " + [Last Name]

Lorsque nous faisons une vente, le montant des ventes est une combinaison du prix — fixé par l’éditeur et spécifique à l’édition, ou à l’ISBN — et de toute remise au moment de la vente. Ainsi, le calcul Montant des ventes sera le prix moins la remise. Notez que nous utilisons la fonction ZN, ou Zero Null, pour gérer les ventes sans remises de manière à ne pas obtenir de valeurs null. Ce calcul accède à la zone partagée au bas du volet Données car il utilise des champs issus de plusieurs tables. Les calculs agrégés accéderont également au bas du volet Données.

[Price] * (1-ZN([Discount]))

Vidéo : Ensembles et groupes

Transcription vidéo pour Ensembles et groupes

Nous allons créer un ensemble pour les livres de manière à identifier s’ils appartiennent à une série. Dans le volet Données, cliquez avec le bouton droit sur Titre et sélectionnez Créer > Ensemble. Nous allons le nommer Dans une série. Dans l’onglet Condition, choisissez Par champ avec Nom de la série, Total, en tant que >= 1.

Dans la table Edition, le champ Format est assez détaillé, indiquant également s’il s’agit de marché de masse et de livres de poche du commerce. Parfois, ce détail est utile, mais parfois nous voulons généraliser entre la couverture rigide et le livre de poche. Faites un clic droit sur votre champ Format dans le volet Dimensions et sélectionnez Créer > Groupe. Nous allons l’appeler Couverture. Faites un Ctrl-Clic pour sélectionner tout sauf Couverture rigide, puis cliquez sur Groupe. Le nom du groupe est automatiquement mis en évidence, et nous pouvons l’appeler Livres de poche.

Comme avec le calcul du Nom d’auteur, ces éléments que nous venons de créer sont pertinents dans une seule table et restent donc au sein de ces tables dans le volet Données.

Analyser les données reliées

Comparons la manière dont se déroule l’analyse dans le cas de relations et de jointures. Nous vous recommandons de télécharger les classeurs d’accompagnement pour la Question 1 et la Question 2 plutôt que de continuer avec votre propre source de données ci-dessus. Si vous identifiez des problèmes avec la configuration de la source de données ou des étapes de la Question 1, notez qu’elles sont intentionnelles aux fins du scénario.

Question 1 : Combien y a-t-il d’éditions pour chaque livre ? 

Important : la vidéo de la Question 1 a été enregistrée sur un logiciel bêta. La version distribuée de 2020.2 gère correctement notre tentative d’introduire une erreur dans la source de données associée. Si vous suivez la procédure, votre classeur ne correspondra pas à la vidéo—les valeurs des relations seront correctes. Merci de votre compréhension face à nos tentatives de « duper » notre produit et de forcer une erreur à des fins éducatives.

Nous allons déterminer cette valeur en procédant à une analyse de base avec les deux sources de données. Nous allons créer un graphique à barres avec chacune d’elles, en examinant le nombre d’éditions par titre.

RelationJointure

Utilisation de la source de données reliée :

  1. Amenez le titre sur Lignes
  2. Amenez l’édition (Total) sur Colonnes
  3. Cliquez sur l’icône Étiquette dans la barre d’outils pour activer les étiquettes
  4. Cliquez sur l’icône Ordre décroissant dans la barre d’outils

 

Utilisation de la source de données liée :

  1. Amenez le titre sur Lignes
  2. Amenez l’ISBN sur Colonnes
  3. Faites un clic droit sur Pilier et sélectionnez Mesure > Total
  4. Cliquez sur l’icône Étiquette dans la barre d’outils pour activer les étiquettes
  5. Cliquez sur l’icône Ordre décroissant dans la barre d’outils

Il apparaît immédiatement que Total n’est pas la bonne agrégation pour les données basées sur une jointure. D’autre part, quelque chose cloche aussi dans les données basées sur une relation. Examinons les données, voyons ce qui se passe et trouvons comment corriger le problème. Visionnez la vidéo (ou lisez sa transcription) pour savoir comment procéder.

Vidéo : Validation des données et détermination du modèle de données

Transcription vidéo pour la Question 1

Jointure

Nous examinons ici nos données liées. Dans la visualisation liée, nous allons jeter un œil aux données sous-jacentes d’un repère.

Cette boîte de dialogue des données de la vue comporte deux onglets, Résumé et Données complètes.

  • Un même livre compte un très grand nombre de lignes, qui sont probablement dupliquées du fait de toutes les jointures.

Pour gérer les doublons, nous allons modifier l’agrégation sur le champ ISBN dans la vue de Total distinct. Rappelez-vous que nous devrons penser à cette duplication dans presque tous les scénarios analytiques et la traiter avec l’agrégation correcte, le filtrage, ou la manière dont nous structurons la visualisation.

Relation

Examinons la structure de notre source de données reliée, et voyons également ce qui se passe avec notre jointure. Dans la visualisation reliée, nous allons examiner les données sous-jacentes d’un repère.

Et nous constatons que la boîte de dialogue des données de la vue comporte à nouveau deux onglets, mais cette fois il s’agit de l’onglet Edition au lieu de Données complètes. Chaque table utilisée dans la visualisation aura son propre onglet.

  • Il y a une duplication des lignes pour ce livre, et nous savons que les jointures peuvent générer une duplication, et que la table Book (Livre) dans cette source de données est en réalité la table Book liée avec Info (Informations) et Award (Récompense).

Nous pouvons créer une visualisation avec un titre et un nom de récompense et faire défiler vers le bas pour enquêter. Et bien sûr, The Mallemaroking a remporté deux récompenses. Il serait préférable d’utiliser une relation, plutôt qu’une jointure, pour ces tables.

Nous revenons à l’onglet Source de données et supprimons la table Award de la jointure et utilisons une relation à la place. Et maintenant, nous n’avons plus à nous soucier de la question de la duplication pour cette source de données.

Question 2 : Pour les auteurs avec des livres appartenant à une série, qui a le plus d’événements de tournée de livres ?

Vidéo : Travailler avec différents niveaux de détails

Transcription vidéo de la Question 2

Examinons les auteurs avec lesquels nous allons travailler. À l’aide de la source de données reliée, nous intégrons Author Name (Nom de l’auteu) et Series Name (Nom de la série) aux lignes.

Étant donné que les sources de données basées sur des relations éliminent les données sans correspondances dans des tables qui ne contiennent que des dimensions, nous nous concentrons sur les données qui sont pertinentes pour nous. Nous pouvons voir qu’il y a sept auteurs, dont deux ont écrit pour deux séries. Si vous ne voulez pas voir que des valeurs correspondantes, vous pouvez restaurer ces valeurs sans correspondances (ce qui ressemble plus à l’ancien comportement) en allant sur le menu Analyse - Disposition de table et en cochant Afficher les lignes vides.

RelationJointure

Utilisation de la source de données reliée :

  1. Amenez l’ensemble Dans une série depuis la table Book sur l’étagère Filtres. Le paramètre par défaut consiste à filtrer uniquement les membres de l’ensemble.
  2. Amenez Author Name (Nom de l’auteur) sur Lignes.
  3. Amenez Book Tour Events (Événements de tournée de livres) sur Colonnes.

Utilisation de la source de données liée :

  1. Amenez l’ensemble Dans une série sur l’étagère Filtres.
  2. Amenez Author Name (Nom de l’auteur) sur Lignes.
  3. Amenez Book Tour Events (Événements de tournée de livres) sur Colonnes.

Nos chiffres ici sont un peu décalés.

Pour les données liées, nous savons qu’il y a duplication en raison de la jointure, et nous savons aussi que certains auteurs couvrent des séries. Pour cette raison, nous ne pouvons pas simplement changer l’agrégation sur, par exemple, MIN ou MAX, parce que nous perdons des informations pour les auteurs avec des œuvres en plusieurs séries.

Ce que nous voulons vraiment, c’est le nombre d’événements par série, visualisé par l’auteur. Il s’agit d’un cas classique pour les expressions de niveau de détail (LOD). Nous allons créer un calcul Événements par série :

{FIXED [Series Name] : MIN ([Book Tour Events])}

Notez que le paramètre MIN permet de gérer la duplication des événements pour une seule série.

Maintenant, si nous intégrons ce nouveau champ aux colonnes au lieu du champ d’événements d’origine, nous obtenons les valeurs correctes.

Pour les données basées sur une relation, nous n’avons pas eu besoin de faire tout cela. Les relations sont suffisamment intelligentes pour comprendre le niveau de détail natif et la relation de la table Author avec les tables Book et Info jusqu’à la table Series, et pour lier et agréger correctement la mesure Events avec Author Name, le tout sans avoir à écrire des calculs LOD.

N’ayez donc pas peur d’utiliser une relation pour vos données. Voyez par vous-même ! Vous pouvez télécharger les données de l’exemple Bookshop(Le lien s’ouvre dans une nouvelle fenêtre) ou utiliser vos propres données. Essayez de filtrer, d’utiliser des calculs de table, de créer divers types de graphiques, de configurer des options de performance et de pousser les relations aussi loin que possible.

Conseils en cas d’utilisation de données reliées

  • Utilisez Afficher les données sous-jacentes pour vérifier les données représentées par un repère.
  • Si vous n’êtes pas tenu d’utiliser la jointure (mais vous pourriez être obligé d’y recourir pour diverses raisons), l’utilisation d’une relation offre plus de flexibilité.
  • Si vous ne voulez pas voir que des valeurs sans correspondances, vous pouvez restaurer ces valeurs sans correspondances en accédant au menu Analyse > Disposition de table > Afficher des lignes vides.

Ressources associées

Prêt à vous attaquer aux calculs avec des relations ? Consultez Maîtriser les calculs dans les relations.

Prêt à vous lancer dans des analyses complexes avec des relations ? Consultez Maîtriser les relations en profondeur.

Pour plus d’informations sur les fondements techniques des relations expliqués par l’équipe de gestion des produits, consultez la série consacrée aux relations sur le blog Tableau.

Consultez également les podcasts vidéo consacrés aux relations sur le site Action Analytics(Le lien s’ouvre dans une nouvelle fenêtre), par exemple 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) pour afficher plus de titres.

Merci de vos commentaires !Avis correctement envoyé. Merci