À propos des modèles de données avec relations multi-faits

Les relations multi-faits vous permettent de créer des sources de données avec plusieurs tables de base. L’utilisation de plusieurs tables de base dans votre modèle de données vous permet d’effectuer une analyse multi-facteurs dans Tableau.

En créant des arborescences de tables ancrées dans une table de base, vous pouvez modéliser des structures de données avec différents domaines conceptuels et les connecter à l’aide de leurs caractéristiques partagées. Ce type d’analyse est souvent désigné sous le terme d’analyse multi-facteurs, de dimensions conformes ou de dimensions partagées. Dans Tableau, c’est ce que nous appelons un modèle de données avec relations multi-faits, parce que vous utilisez des relations pour créer ce modèle de données. Un modèle de données avec relations multi-faits contient toujours plusieurs tables de base. Les tables de base sont les tables les plus à gauche du modèle de données. Pour des conseils qui vous aideront à déterminer les tables à utiliser comme tables de base, consultez Quand utiliser un modèle de relations multi-faits.

un modèle avec des tables de base multiples dont une arborescence mise en évidence

Un modèle de données avec des tables de base multiples dont l’arborescence d’une table de base est mise en évidence.

Niveaux de relation

Les modèles de données avec des tables de base multiples permettent de déterminer la relation (ou l’absence de relation) entre les éléments de données avec beaucoup plus de souplesse.

Remarque : Le niveau de relation n’est pertinent que dans les modèles de données avec des tables de base multiples. Avant les modèles de données avec relations multi-faits, tous les éléments étaient liés (dans une seule source de données), ou bien aucun ne l’était (fusion à travers plusieurs sources de données).

Relation dans le modèle de données

Les tables sont connexes, non connexes ou partagées en fonction de la structure du modèle de données. Dans une source de données, la relation entre les tables est une constante. Voici une brève présentation : 

  • Les tables connexes sont dans la même arborescence.
    • Avant la version 2024.2, toutes les sources de données étaient des sources de données à table de base unique comportant une seule arborescence, et dans une source de données à table de base unique, toutes les tables sont connexes.
  • Les tables non connexes sont dans des arborescences différentes. Les tables de base sont toujours non associées les unes aux autres. Les tables situées en aval d’une table de base exactement ne sont pas non plus associées aux tables d’autres arborescences
  • Les tables partagées ont plusieurs relations entrantes et appartiennent à plusieurs arborescences.
    • Les tables en aval d’une table avec plusieurs relations entrantes sont également considérées comme des tables partagées.

Relation pendant l’analyse

Les champs peuvent être associés, non associés, pas encore associés, associés de manière ambiguë ou ils peuvent agir comme des champs d’assemblage. La relation entre un groupe de champs est déterminée feuille par feuille en fonction de la structure du modèle de données, des champs activement utilisés (c’est-à-dire sur les étagères sous forme de piles) et de la nature de ces champs (dimensions ou mesures).

visualisation simple avec deux champs non associés, l’un sur les lignes et l’autre sur les colonnes, et avec une infobulle non associée

Pour créer une visualisation avec des champs à partir de plusieurs tables, Tableau doit effectuer des jointures en arrière-plan pour calculer les valeurs. Le type de jointure utilisé dépend de la relation des champs. Voici une brève présentation : 

  • Quand des champs associés sont utilisés dans une visualisation, les dimensions font l’objet d’une jointure interne et les valeurs de mesure sont décomposées par les dimensions.
    • C’est un peu plus compliqué que cela : des jointures supplémentaires peuvent être nécessaires en arrière-plan pour garantir qu’aucune valeur de mesure n’est laissée de côté. Par contre, dans une visualisation qui ne comporte que des dimensions, les dimensions connexes font l’objet d’une jointure interne et c’est l’idée principale à retenir ici.
    • Il s’agit du même comportement que les modèles à table de base unique.
  • Quand des champs non associés sont utilisés dans une visualisation, les dimensions font l’objet d’une jointure croisée. Les valeurs de mesures sont définies au niveau de la table (c’est-à-dire qu’elles sont agrégées localement en une seule valeur pour l’ensemble de leur table) et répétées.
    • Il est également possible que des champs ne soient pas encore associés ou qu’ils le soient de manière ambiguë, ce qui signifie que pour la combinaison de champs actifs, il y a différentes façons de résoudre les relations entre leurs tables. Face à un cas ambigu, Tableau traite les champs comme non associés.
  • Lorsque les champs sont assemblés sur la base d’un champ partagé, les dimensions font l’objet d’une jointure externe. Les valeurs de mesures sont agrégées au niveau des dimensions selon lesquelles elles peuvent être décomposées et répétées.
    • Les dimensions d’assemblage sont similaires aux champs de liaison dans la fusion des données. Les résultats sont calculés pour chaque paire de champs associés, puis les valeurs non associées sont assemblées entre les valeurs partagées de la dimension partagée entre elles.

Tous ces concepts et définitions sont abordés en détail plus loin dans cette rubrique.

Aparté sur les dimensions et mesures

Dans Tableau, les mesures sont des agrégations : elles sont agrégées jusqu’à la granularité définie par les dimensions de la vue. La valeur d’une mesure dépend donc du contexte des dimensions. Par exemple, le « nombre de boîtes de céréales » varie selon qu’il s’agit du stock total ou du nombre de boîtes par marque.

Les dimensions sont généralement des champs de catégorie, tels que le pays ou la marque. Dans Tableau, les dimensions définissent la granularité ou le niveau de détail de la vue. Nous souhaitons généralement regrouper nos données en repères selon une combinaison de catégories. Les dimensions que nous utilisons pour créer la vue déterminent le nombre de repères que nous avons.

Lorsqu’une mesure est utilisée sans aucune dimension, on dit qu’elle est limitée à une table. Cela signifie que sa valeur est la valeur entièrement agrégée pour toute la table. Dès qu’on utilise une dimension telle qu’une marque dans la visualisation, la mesure est ventilée avec précision. Le nombre total de boîtes de céréales est désormais établi par marque.

L’agrégation fait référence à la manière dont les données sont combinées. Dans Tableau, l’agrégation par défaut est SOMME. Vous pouvez remplacer l’agrégation par d’autres options, notamment : moyenne, médiane, total distinct, minimum, etc. La granularité fait référence au degré de détail ou de décomposition de la mesure, qui est contrôlé par les dimensions. Dès lors que la granularité de la mesure n’est pas définie au niveau des lignes (c’est-à-dire désagrégée), sa valeur doit être agrégée.

Exemple

une table de valeurs pour le nombre de boîtes de céréales, pour cinq marques et trois tailles de boîtes

Quelle est la valeur du « nombre de boîtes de céréales »?

Eh bien, cela dépend du type d’agrégation et de la granularité définie par les dimensions.

  • Agrégations :
    • Somme (ou total)
    • moyenne
  • Granularité :
    • au niveau de la table / entièrement agrégée (les barres bleues dans l’exemple)
    • Ventilée selon la dimension de la marque (les barres colorées dans l’exemple)

Un tableau de bord avec quatre visualisations : une visualisation pour le nombre total de boîtes au niveau de la table (54), une visualisation pour le nombre moyen de boîtes au niveau de la table (6), puis des versions de ces deux visualisations ventilées par les cinq marques.

Indicateurs de relation au niveau des champs

Plusieurs indices visuels peuvent vous aider à comprendre le degré de relation entre les champs que vous utilisez dans une analyse.

Indicateurs de relation sur une feuille de calcul

  • Icône Non associé : Tableau utilise une icône Non associé icône Non associé pour indiquer que les éléments de la vue ne sont pas tous liés. Si vous voyez une icône Non associé sur une pile dans la vue ou dans le volet Données, vous pouvez survoler l’icône pour obtenir plus d’informations.
    • L’icône Associé indique que le champ assemble des champs non associés.
  • Noms des champs en gris clair : les noms de champs s’affichent en gris clair dans le volet Données lorsqu’ils ne sont liés à aucun des champs utilisés sur les étagères. Vous pouvez toujours utiliser ces champs pour l’analyse dans cette visualisation, mais lors de l’analyse, les champs non associés sont évalués différemment des champs associés. Au passage de la souris, ces champs affichent également une icône Non associé.

volet Données, avec une table entièrement grisée, et deux champs avec l’icône en forme d’œil barré pour les champs masqués

Remarque : Dans les versions précédentes de Tableau, les noms de champs en gris clair indiquaient que les champs étaient masqués et que l’option Afficher les champs masqués avait été sélectionnée. Les champs masqués, lorsqu’ils sont affichés, sont désormais indiqués par une icône en forme d’œil cliquable icône Champ masqué.

Boîte de dialogue d’avertissement de relation

Lorsque des champs non associés sont utilisés ensemble dans une visualisation, Tableau affiche une boîte de dialogue d’avertissement pour vous informer que les champs ne sont pas associés. Ce message apparaît à chaque fois que vous ajoutez un champ non associé afin d’éviter les jointures croisées accidentelles qui pourraient affecter les performances.

  • Si vous souhaitez utiliser des champs non associés sans assemblage, cliquez sur Ajouter pour continuer à ajouter le champ à la visualisation.
  • Si vous souhaitez assembler des champs non associés, il est conseillé de faire d’abord apparaître le champ d’assemblage avant le champ non associé. La boîte de dialogue ne s’affiche pas si le champ d’assemblage est déjà utilisé. Pour plus d’informations sur l’utilisation de l’assemblage pour éviter les jointures croisées, consultez Comment les jointures sont utilisées pour chaque niveau de relation.

boîte de dialogue d’avertissement de relation affichant un avertissement pour les dimensions non connexes

Lorsque plusieurs champs sont ajoutés ou sont déjà présents dans la vue, la zone Détails apparaît dans la boîte de dialogue. Agrandissez la boîte de dialogue pour en savoir davantage sur la relation entre tous les champs utilisés et identifier l’origine du problème de non-relation.

boîte de dialogue d’avertissement de relation avec un message pour les dimensions et les mesures non connexes, et la zone Détails agrandie

Pour que le message d’avertissement n’apparaisse plus du tout, sélectionnez l’option Ne plus afficher cette boîte de dialogue. Vous pouvez toujours faire réapparaître ces messages d’avertissement en les réactivant comme suit :

  • Dans Tableau Desktop, ouvrez le menu Aide > Paramètres et performances > Réinitialiser les messages ignorés.
  • Dans un navigateur, effacez vos données mises en cache. Par exemple, dans Chrome, ouvrez le Menu à 3 pointsSupprimer les données de navigation... > sélectionnez « Images et fichiers mis en cache » > Supprimer les données.

Relation au niveau de la table dans le modèle de données

Dans un modèle de données avec plusieurs tables de base, chaque table de base définit un ensemble de tables connexes et formant une arborescence conceptuelle. Ces arborescences doivent être connectées par une table partagée au minimum pour garantir que la source de données globale est une entité unique.

Ce qui aurait pu être auparavant deux sources de données à fusionner à l’aide de champs de liaison peut désormais constituer une source de données unique avec deux arborescences, reliées par les tables partagées contenant ces champs communs.

deux modèles de données, l’un composé de deux sources de données distinctes, l’une des deux sources de données se superposant aux tables qu’elles ont en commun pour former une source de données unique

Conseil : le mode de liaison des tables dans le modèle de données a un impact sur la manière dont leurs champs peuvent être associés dans l’analyse. Il peut être utile de revenir à l’onglet Source de données pendant l’analyse pour voir comment une table s’intègre dans le modèle de données global.

Voyons quelles tables sont connexes, non connexes ou partagées à l’aide de cet exemple de source de données. Il existe deux arborescences, l’une créée par la table de base A et l’autre par la table de base B.

Tables non connexes

Les tables de base sont fondamentalement indépendantes. De même, les tables qui existent uniquement dans une seule arborescence ne sont pas associées aux tables des autres arborescences.

La table A et la table X ne sont pas connexes

La table B et la table X ne sont pas connexes

Modèle de données dans lequel les tables de base A et X ont leurs propres contours. Les relations sont représentées en gris clair.Modèle de données dans lequel la table de base A et sa table B en aval ont le même contour. La table de base X a son propre contour. Les relations sont affichées en gris clair.

Tables connexes

Les tables de la même arborescence sont considérées comme étant connexes.

La table A et la table S sont connexes

La table B et la table S sont connexes (par l’intermédiaire de la table A)

Modèle de données dans lequel la relation de la table de base A avec une table en aval est mise en évidenceModèle de données dans lequel la relation de la table B avec une autre table est mise en évidence par leurs relations avec la même table de base, A

Tables partagées

Les tables partagées ont plusieurs relations entrantes. Ces tables appartiennent à plusieurs arborescences et sont partagées entre elles.

La table S et la table T sont partagées.

Modèle de données dans lequel les tables S et T ont toutes deux plusieurs relations entrantes. Toutes deux font partie de l’arborescence de la table de base A et de l’arborescence de la table de base X.

Relation au niveau des champs dans l’analyse

La relation entre les champs est déterminée feuille par feuille en fonction de la structure du modèle de données, des champs activement utilisés (c’est-à-dire les champs présents dans la visualisation sous forme de piles sur les étagères) et de la nature de ces champs (dimensions ou mesures). L’impact de la relation avec les champs sur les résultats d’une visualisation est abordé dans la section suivante.

Passons en revue quelques scénarios utilisant le même exemple de source de données. Le nom de chaque champ indique de quelle table il provient, par exemple Champ B de la Table B. Les champs peuvent être des dimensions ou des mesures, sauf indication contraire.

Champs associés

À un haut niveau, les champs sont associés lorsque Tableau peut déterminer clairement comment les évaluer ensemble en fonction d’un chemin de relation au sein d’une seule arborescence.

Par exemple, Champ B (de la Table B) et Champ S (de la Table S) sont associés.

Champ B et Champ S sont associés

Champs non associés

À un haut niveau, les champs ne sont associés en aucun cas lorsqu’ils ne sont pas associés. Cela peut s’expliquer par le fait que les champs proviennent de tables non associées, par exemple utilisant des champs provenant de deux tables de base. Dans ce cas, les champs des différentes tables de base ne sont fondamentalement pas associés.

Par exemple, Champ A et Champ X ne sont pas associés.

Champ A et Champ X ne sont pas associés

Les champs peuvent également être traités comme étant non associés pendant un moment donné, comme dans les cas de relation ambiguë ou pas encore établie. Pour la plupart, vous pouvez compter sur les indicateurs de relation pour vous alerter lorsque les champs ne sont pas associés dans le contexte d’une visualisation.

Dimension d’assemblage

L’assemblage est la manière dont Tableau évalue les champs de tables non associés dans un modèle de données multi-faits lors de l’analyse. Dans une visualisation, l’utilisation d’une dimension d’une table partagée assemble des champs non associés et leur permet d’être évalués simultanément dans la même visualisation. Considérez cela comme une juxtaposition des résultats de deux arborescences en fonction d’une dimension qu’elles partagent.

Par exemple, si une visualisation est créée avec Champ A et Champ X, ces deux champs ne sont pas associés. L’ajout de Dimension S introduit un champ d’assemblage.

  • Champ A et Dimension S sont évalués ensemble.
  • Champ X et Dimension S sont évalués ensemble.
  • Ces résultats intermédiaires sont rassemblés en fonction des valeurs de Dimension S.
  • Champ A et Champ X sont maintenant assemblés.

tables de base A et X non associées et assemblées par leur table S partagée

Conseil : les meilleures pratiques consistent à utiliser un champ d’assemblage dans la visualisation avant de faire apparaître un champ non associé. Par exemple, faites glisser d’abord Dimension S ou Champ A, puis Dimension S puis Champ X, au lieu de Champ A, puis Champ X puis Dimension S. Si vous ajoutez le champ d’assemblage en premier, Tableau saura ainsi toujours comment évaluer les relations et évitera les problèmes de performances potentiels liés à l’évaluation conjointe de dimensions non associées et de jointures croisées.

L’assemblage exige qu’une dimension d’une table partagée soit active dans la visualisation. Les champs placés sur l’étagère Filtres ou sur la propriété Infobulle de la fiche Repères ne sont pas considérés comme actifs à des fins d’assemblage.

Champs pas encore associés

Les champs peuvent également être associés de plusieurs façons, mais ne le sont pas encore. Cela se produit lorsqu’il existe plusieurs relations possibles entre deux tables partagées (ou les tables partagées en aval).

Considérez Champ S et Champ T. Leurs tables sont associées les unes aux autres à la fois par l’arborescence définie par la table de base A et par l’arborescence définie par la table de base X.

Dans une visualisation contenant uniquement Champ S et Champ T, il n’existe aucune information pour déterminer quelle arborescence utiliser pour les associer. Sans informations supplémentaires, Tableau ne peut pas évaluer s’il convient de relier ces champs via l’arborescence de la table de base A ou l’arborescence de la table de base B.

Champ S et Champ T sont traités comme des champs non associés même s’il existe plusieurs relations potentielles.

Champs S et T sous associés de manière ambiguë

Les champs pouvant être associés mais qui ne le sont pas encore sont considérés comme des champs non associés, car Tableau ne peut pas déterminer clairement leur chemin de relation. À la différence des champs véritablement non associés et qui ne peuvent qu’être assemblés, les champs pas encore associés peuvent être résolus et les champs peuvent être directement associés.

Champs associés de manière ambiguë

Les champs peuvent également être associés de manière ambiguë. Cela se produit lorsque plusieurs relations actives sont possibles entre des tables partagées (ou des tables partagées en aval). À la différence des champs non encore associés, qui peuvent être qualifiés d’hypo-associés ou de sous-associés, les champs associés de manière ambiguë sont hyper-associés ou trop associés.

Considérez Champ S et Champ T. Leurs tables sont associées les unes aux autres à la fois par l’arborescence définie par la table de base A et par l’arborescence définie par la table de base X.

Dans une visualisation contenant Champ A, Champ X, Champ S et Champ T, il existe beaucoup trop d’informations pour déterminer quelle arborescence utiliser pour les associer. Si on ne réduit pas ces informations, Tableau ne peut pas déterminer s’il faut associer ces champs via l’arborescence de la table de base A ou l’arborescence de la table de base B.

Champ S et Champ T sont traités comme des champs non associés même lorsqu’il existe plusieurs relations actives.

Les champs associés de manière ambiguë sont considérés comme des champs non associés, car Tableau ne peut pas déterminer clairement leur chemin de relation. À la différence des champs non véritablement associés et qui ne peuvent qu’être assemblés, les champs associés de manière ambiguë peuvent être résolus et les champs peuvent être directement associés.

Mesure provenant d’une table partagée

Lorsqu’une dimension est utilisée à partir d’une table partagée, elle rassemble les champs de ses tables non associées en amont. Cependant, une mesure ne peut pas être assemblée, et la valeur d’une mesure dépend de ses dimensions associées.

Dans une visualisation contenant Dimension A et Dimension X, ces deux dimensions ne sont pas associées. Si Mesure S est extrait de Table S, il n’y a pas de relation quand on fusionne Dimension A et Dimension X. Même si les deux mesures n’ont pas de relation directe, elles peuvent être associées simultanément dans la même visualisation.

tables de base A et X non associées et assemblées par leur table S partagée

Une mesure partagée peut être vue comme une forme d’ambiguïté ou de surrelation et la résolution s’effectue de la même façon.

Résoudre les relations ambiguës entre les champs

Lorsque Tableau rencontre des incertitudes sur la manière d’associer les champs, il ne fait pas d’associations arbitraire et les considère plutôt comme des champs non associés. Souvent, il vaut mieux associer ces champs en clarifiant l’incertitude autour de l’arborescence à utiliser.

Pour résoudre les champs qui ne sont pas encore associés, il suffit d’ajouter un champ pour déterminer quelle arborescence utiliser. Pour résoudre les champs associés de manière ambiguë, il suffit de supprimer des champs pour déterminer quelle arborescence utiliser.

Exemple :

Résoudre les cas pas encore associés : ajouter un champ

  • Dans une visualisation qui contient Champ S et Champ T, lorsque vous ajoutez un champ de la table A, B ou C à la visualisation, cela active l’arborescence de la table de base A et résout le chemin souhaité entre Champ S et Champ T.
  • Une autre solution consiste à utiliser un champ de Table X pour résoudre le chemin souhaité entre Champ S et Champ T dans l’arborescence de la table de base X.

Résoudre une relation ambiguë : supprimer un ou plusieurs champs

  • Dans une visualisation contenant Champ A, Champ X, Champ S et Champ T, la suppression de Champ X active uniquement l’arborescence de la table de base A et résout le chemin souhaité entre Champ S et Champ T.
  • Alternativement, la suppression de Champ A résout le chemin souhaité entre Champ S et Champ T via l’arborescence de la table de base X.

Résoudre une mesure partagée : supprimer un ou plusieurs champs

  • Dans une visualisation contenant Dimension A, Dimension X et Mesure S, la suppression de Dimension X active uniquement l’arborescence de la table de base A et résout le chemin souhaité entre Dimension A et Mesure S.
  • Alternativement, la suppression de Dimension A résout le chemin souhaité entre Dimension X et Mesure S via l’arborescence de la table de base X.
Pas encore associéAssocié de manière ambiguëRelation résolue sur une seule arborescence
Associé via la table de base AAssocié via la table de base X
sous associéassocié via Aassocié via X

La résolution d’une incertitude est similaire à l’utilisation d’une expression de niveau de détail (LOD) FIXED. Dans une expression LOD FIXED, vous indiquez à Tableau le niveau de détail auquel agréger en définissant la déclaration de dimension. L’incertitude est résolue en modifiant la structure de la visualisation de manière à rendre une seule arborescence active, indiquant ainsi à Tableau les chemins de relation qu’il peut prendre en compte pour effectuer l’analyse.

Assembler ou résoudre l’incertitude

L’assemblage et la résolution de l’incertitude sont des moyens de gérer l’absence de relation. Ils ont des résultats différents :

Assemblage

Résolution de l’incertitude

assemblage de A et X par S

Champ A et Champ X non associés assemblés par Dimension S

Résolution de S et T par A

Champ S et Champ T évalués via l’arborescence définie par la table de base A

Juxtapose des champs non associés en fonction d’attributs partagésRéduit le chemin de relation à utiliser en cas d’options multiples (ambiguïté ou mesure partagée), ou établit un chemin de relation lorsqu’il n’en existait pas (pas encore lié).

Utilise une logique de tables de base multiples pour calculer les résultats

Utilise une logique de table de base unique pour calculer les résultats

L’analyse implique des tables non associéesL’analyse implique des tables partagées

Comment les jointures sont utilisées pour chaque niveau de relation

Une fois que la relation au niveau du champ est déterminée, Tableau doit évaluer les résultats pour créer la visualisation réelle. Les requêtes utilisées pour le calcul des valeurs affichées dans une visualisation reposent sur des jointures. Le fait que les champs soient associés, non associés ou assemblés a un impact différent sur les jointures effectuées. N’oubliez pas que les champs associés de manière ambiguë ou pas encore associés sont traités comme non associés dans ce contexte.

Pour expliquer les relations et les jointures, cette section couvre les tables et leurs champs, ainsi que les valeurs de ces champs. Considérez le modèle de données suivant avec deux tables de base, Classes et Clubs, et une table partagée, Students.

Un modèle de données avec deux tables de base, Classes et Clubs, et une table partagée, Students

Classes

Clubs

Students

afficher les données de la table Classes, avec les valeurs de trois champsafficher les données de la table Clubs, avec les valeurs de trois champsafficher les données de la table Students, avec les valeurs de trois champs

Champs :

  • Class, une dimension avec les valeurs Nesting Basics, Advanced Songs, Flying for Fledglings et Alarm Calls 101
  • Length, une mesure
  • Student, une dimension utilisée pour établir une relation avec la table Student

Champs :

  • Club, une dimension avec les valeurs Photography, Travel, Juggling, Art, and First Aid
  • Dues, une mesure
  • Student, une dimension utilisée pour établir une relation avec la table Student

Champs :

  • Bus Rider, une dimension avec les valeurs Oui ou Non
  • Student, une dimension avec les valeurs Finch, Cardinal, Sparrow, Robin et Jay. Utilisé pour établir une relation avec les deux autres tables
  • Age, une mesure

Ce modèle très simple illustre comment la logique de jointure de haut niveau est calculée pour les modèles de données avec relations multi-faits. Pour plus d’informations sur les bases des jointures utilisées dans les modèles de données à table de base unique basés sur les relations, consultez Fonctionnement de l’analyse pour les sources de données multi-tables qui utilisent des relations.

Cet exemple doit-il être un modèle de données avec des tables de base multiples?

Pour ce modèle de données avec trois tables, on pourrait être tenté de le configurer comme un modèle avec une table de base unique, comme Classes-Students-Clubs ou Clubs-Students-Classes, ou avec Students comme table de base. En général, les modèles de données avec relations multi-faits sont conçus pour des types spécifiques de schémas de données ou de scénarios d’analyse. Si votre modèle de données présente les caractéristiques les mieux adaptées à un modèle de données avec relations multi-faits, configurez-le de cette manière pour que vos tables de base restent théoriquement non associées. Toutefois, si vos données ne nécessitent pas ce type de structure, il serait plus simple d’utiliser un modèle à table de base unique.

autres structures de modèles de données pour l’exemple de modèle classes-clubs-students

Les modèles pouvant être créés pour ces trois tables : (1) Classes et Clubs comme tables de base et Students comme table partagée, (2) de façon linéaire, en commençant par Classes ou Clubs, et (3) Students comme table de base unique, et Classes et Clubs comme tables en aval.

Dans ce cas particulier, ces tables ne contiennent aucun élément, dans les données ou dans le modèle, qui nécessite vraiment des tables de base multiples. Nous utilisons ce modèle comme exemple pour rester simple et nous concentrer sur la logique de jointure. On peut aussi imaginer qu’il existe une autre table connexe, Rooms, que nous ignorons simplement pour ne pas compliquer inutilement la discussion.

Une version du modèle classes-clubs-students avec une autre table partagée, rooms

Toutefois, il est recommandé d’utiliser un modèle de relation multi-faits uniquement lorsque vos données l’exigent.

Les dimensions associées utilisent des jointures internes

Les dimensions associées font l’objet d’une jointure interne. Les jointures internes laissent de côté toutes les valeurs de dimensions qui ne sont pas partagées entre les deux tables.

  • Tableau utilise une logique supplémentaire pour garantir que les valeurs de mesures ne sont pas perdues. Cette section utilise uniquement des dimensions pour démontrer comment Tableau applique les jointures internes aux dimensions associées.

L’exemple suivant montre comment les dimensions associées renvoient uniquement les lignes présentes dans les données. Aucun étudiant n’est dans le cours Alarm Calls 101. Il n’est donc pas présent dans les résultats. Cardinal et Jay ne sont dans aucun cours. Ils ne sont donc pas présents dans les résultats.

Une visualisation montrant une jointure interne de Class et de Student, avec deux lignes pour Finch (Advanced Songs, Nesting Basics), deux lignes pour Robin (Flying for Fledgelings, Nesting Basics) et deux lignes pour Sparrow (Advanced Songs, Nesting Basics)

Les dimensions non associées utilisent des jointures croisées

Les dimensions non associées (seules, sans aucune dimension assemblée) font l’objet d’une jointure croisée.

Dans une jointure croisée, chaque valeur d’une dimension est combinée avec chaque valeur de l’autre dimension, même si la combinaison qui en résulte n’existe pas réellement dans les données. Dans cet exemple, la jointure croisée ajoute une ligne pour chaque combinaison possible de Class et de Club.

Une visualisation montrant une jointure croisée de Class et de Club et des lignes pour chaque combinaison de Advanced Songs/Alarm Calls 101/Flying for Fledglings/Nesting Basics with Art/First Aid/Juggling/Photography. Une icône Non associé s’affiche sur les deux champs de dimension de l’étagère Lignes.

Il est important de reconnaître à quel moment une jointure croisée se produit dans votre analyse. Bien qu’il y ait une ligne pour Advanced Songs + First Aid dans la table des résultats pour la jointure croisée, aucun étudiant ne participe réellement à cette combinaison d’activités (nous en verrons la preuve dans l’exemple d’assemblage de la section suivante).

Pourquoi est-il important de reconnaître que les résultats de jointure croisée ne sont pas tous basés sur les données? Imaginez que vous essayiez d’établir un emploi du temps pour les cours et les clubs afin qu’il n’y ait aucun conflit pour les étudiants. Il n’y a aucun étudiant en Advanced Songs et First Aid, vous pouvez donc ignorer ce résultat et programmer ce cours et ce club simultanément. La jointure croisée ne représente pas les combinaisons de valeurs qui existent réellement dans les données.

De plus, lorsqu’il existe une cardinalité élevée (un grand nombre de valeurs uniques), les jointures croisées peuvent affecter les performances. Imaginez que vous puissiez effectuer une jointure croisée entre chaque numéro de téléphone et chaque adresse de courriel dans vos contacts. Cela peut entraîner une explosion du nombre de combinaisons et une opération potentiellement coûteuse.

Les dimensions assemblées utilisent des jointures externes

Les dimensions non associées (en présence d’une dimension d’assemblage) font l’objet d’une jointure externe.

Dans cet exemple, la table Classes et la table Clubs sont associées à la table partagée Students mais ne sont associées entre elles, donc les champs Class et Club ne sont pas associés. L’ajout de la dimension Student permet à Tableau de savoir quelles valeurs de Class et de Club doivent être juxtaposées dans l’analyse. Nous appelons ce comportement de jointure externe un assemblage.

Une visualisation montrant les résultats d’une jointure externe de la jointure interne Student-Class et de la jointure interne Student-Club. Il existe une icône Non associé sur les piles Class et Club de l’étagère Lignes. Une pile de Student figure dans la propriété Couleur de la fiche Repères et n’a aucune icône Non associé. Toutes les combinaisons de cours et de clubs ne sont pas représentées, et il existe des lignes pour les étudiants et les clubs sans cours.

L’assemblage est similaire à la fusion des données dans la mesure où les résultats intermédiaires sont regroupés en vue des résultats globaux. Par contre, contrairement à la fusion, l’assemblage est une jointure externe, et non une jointure gauche, et n’ignore pas des valeurs d’un côté ou de l’autre. Il n’y a pas de concept de sources de données primaires ou secondaires lorsqu’il s’agit d’une seule source de données, si bien que les deux champs non associés ont la même priorité.

Les résultats intermédiaires font l’objet d’une jointure externe

Qu’est-ce qui entre dans la jointure externe pour les champs assemblés? Une jointure interne immédiate est calculée tour à tour pour chacun des champs non associés et pour le champ d’assemblage, puis ces résultats intermédiaires font l’objet d’une jointure externe en fonction des valeurs de la dimension d’assemblage.

Exemple

Une jointure interne pour Student et Class...

Une table de résultats pour trois valeurs d’étudiants et trois valeurs de cours

...et une jointure interne pour Student et Club...

Une table de résultats pour quatre valeurs d’étudiants et cinq valeurs de clubs

...font ensuite l’objet d’une jointure externe sur Student.

Une table de résultats pour quatre valeurs d’étudiants, trois valeurs de cours et cinq valeurs de clubs

Jointures supplémentaires pour conserver les mesures

Outre la logique de jointure pour les dimensions, les mesures peuvent introduire des jointures supplémentaires. Lorsque les relations ont été introduites pour la première fois dans Tableau, l’un des principes de base était que les valeurs de mesures ne sont pas perdues. Cela vaut également dans les modèles de données avec relations multi-faits.

Les détails essentiels sont :

  • Les valeurs de mesures sont ventilées uniquement par dimensions associées.
  • Les valeurs de mesures se répètent pour les dimensions non associées.
  • Les valeurs de dimensions qui seraient supprimées dans des visualisations comportant uniquement des dimensions peuvent être renvoyées si des valeurs de mesures pertinentes leur sont associées.

Remarque : N’oubliez pas que les mesures sont des agrégations. Elles sont calculées au niveau de détail (granularité) défini par la combinaison de dimensions dans la visualisation. C’est ce qu’on appelle une mesure décomposée par une dimension. Lorsqu’une mesure est utilisée sans aucune dimension, on dit qu’elle est au niveau de la table. Cela signifie que la valeur de la mesure est la valeur entièrement agrégée. Dès que nous utilisons une dimension dans la visualisation, la mesure est décomposée de manière plus granulaire en fonction des valeurs de dimensions. La valeur d’une mesure dans une analyse dépend donc du contexte des dimensions.

Mesures associées

Considérez le sous-ensemble de valeurs de dimensions renvoyées pour une jointure interne sur les dimensions associées Student et Class. Il existe trois valeurs d’étudiants, Finch, Robin et Sparrow, et trois valeurs de cours, Advanced Songs, Nesting Basics et Flying for Fledgelings.

une table de résultats pour une jointure interne entre étudiant et cours

Si on ajoute la mesure Length à partir de la table Class, nous voyons que les quatre cours sont affichés et qu’il y a une valeur Null pour Student. La mesure Length de chaque cours s’affiche, au niveau de Class.

Une valeur nulle apparaît pour Student même si les dimensions font l’objet d’une jointure interne

Si on ajoute plutôt la mesure Age à partir de la table Student, nous voyons que les cinq étudiants sont affichés et qu’il y a deux valeurs null pour Class. Les résultats conservent chaque étudiant, même s’il n’est pas dans un cours. La valeur Age de chaque étudiant s’affiche, au niveau de Student.

Une valeur Null apparaît pour Classes même si les dimensions font l’objet d’une jointure interne

Mesures non associées

Les valeurs de mesures sont répétées pour les valeurs de dimensions non associées.

Si nous examinons la mesure Length de la table Classes et les valeurs non associées de la dimension Club, la mesure est au niveau de la table et répétée sur toutes les valeurs de dimensions de Club.

une mesure au niveau de la table et répétée sur des valeurs de dimensions non associées

En présence d’une dimension d’assemblage, les mesures peuvent être à la fois décomposées et répétées.

Ici, la mesure Age provient de la table Students et est décomposée par niveau d’étudiant. Chaque fois qu’un étudiant est répété en fonction des dimensions de Class et de Club, la valeur Age est répétée.

Résolution des problèmes

Considérations relatives à l’utilisation de modèles de données avec relations multi-faits

Filtres d’extrait par table

Tous les filtres d’extrait d’un modèle de données avec des relations multi-faits sont définis par table (ne sont pas omniprésents). Pour cette raison, les résultats du filtrage peuvent être différents pour une connexion en direct et une connexion à un extrait.

Calculs au niveau des lignes

Les calculs au niveau des lignes ne peuvent faire référence qu’à des champs partageant la même table de base en amont. Autrement dit, les calculs au niveau des lignes ne peuvent pas être effectués sur plusieurs arborescences.

Champs combinés

Tous les champs d’un champ combiné doivent partager une table en amont. Autrement dit, vous ne pouvez pas créer un champ combiné en utilisant des champs situés dans des arborescences différentes.

Ensembles

Les ensembles ne peuvent être créés qu’avec une définition impliquant des champs qui partagent la même table de base en amont. Cependant, dans une visualisation, l’option Ajouter à l’ensemble peut être disponible à partir d’un repère lorsque ce dernier est défini par des champs non associés aux champs utilisés pour définir l’ensemble. Si vous choisissez Ajouter à l’ensemble, Tableau ajoutera uniquement les champs associés à la définition de l’ensemble. Ceci est différent du comportement de l’option Ajouter à l’ensemble dans les sources de données à table de base unique, lorsque cette option ajoute tout ce qui définit le repère.

Valider les expressions de niveau de détail INCLUDE

Les expressions LOD INCLUDE ne peuvent pas être évaluées sur des champs non associés. Étant donné que la relation entre les champs est évaluée feuille par feuille, il est possible qu’une expression LOD valide dans le volet Données ou dans l’éditeur de calcul devienne non valide dans le contexte d’une visualisation spécifique (en présence d’une dimension non associée). Lorsque cela se produit, la pile LOD devient rouge. Vous pouvez mettre à jour l’expression LOD pour supprimer les conflits de champs non associés, modifier la structure de la visualisation ou supprimer l’expression LOD de la visualisation.

Mise à jour des sources de données publiées

Il est recommandé de créer une copie d’une source de données publiée existante si vous comptez la modifier pour en faire un modèle de données avec relations multi-faits dans le cas où ses classeurs connectés n’ont pas tous besoin du nouveau modèle de données. Ne mettez pas à jour la version existante de la source de données à moins que tous ses classeurs n’aient besoin des nouvelles tables. Publiez la source de données modifiée en tant que nouvelle source de données et créez de nouveaux classeurs à partir de celle-ci. Cela empêchera les classeurs existants d’être convertis pour utiliser VDS au lieu du serveur de données lorsqu’ils n’ont pas besoin de la fonctionnalité, évitant ainsi le risque d’une baisse des performances.

Problèmes résolus

Problème résoluCorrigé à partir de

Extraits

Source de données locale (dans un classeur) : toute tentative d’extraction d’une source de données avec relations multi-faits générera une erreur « Aucune table de ce type ».

Source de données publiée : l’extraction d’une source de données publiée avec relations multi-faits semble réussir, mais il peut arriver que les valeurs des champs soient échangées.

  • Tableau Cloud : résolu grâce aux mises à jour effectuées à la mi-juillet. Ceci s’applique également à public.tableau.com.
  • Tableau Desktop : résolu à partir de la version de maintenance 2024.2.1 publiée le 24 juillet 2024
  • Tableau Serveur : résolu à partir de la version de maintenance 2024.2.1 publiée le 24 juillet 2024

Si ces problèmes persistent dans Tableau Desktop ou Tableau Server, mettez à niveau vers une version du 24 juillet 2024 ou ultérieure.

Expressions de niveau de détail EXCLUDE

Seuls les expressions LOD INCLUDE doivent être validées en présence de champs non associés. Cependant, les expressions LOD EXCLUDE peuvent également être marqués à tort comme non valides dans les mêmes conditions.

Calculs d’utilisateurs imbriqués

Les calculs d’utilisateurs imbriqués ne sont pas disponibles dans les sources de données publiées avec un modèle de données utilisant des relations multi-faits.

Problèmes connus de la version 2024.2

Indicateurs de relation avec plusieurs fiches Repères

Lorsqu’une visualisation est créée avec plusieurs mesures sur l’étagère Lignes ou sur l’étagère Colonnes, chaque mesure obtient sa propre fiche Repères. La logique utilisée pour déterminer les indicateurs de relation (l’icône Non associé, le texte dans les infobulles et la boîte de dialogue d’avertissement de relation) peut ne pas donner les résultats attendus en fonction de la fiche Repères ouverte. La visualisation elle-même, cependant, est correctement calculée en fonction de la relation entre chaque paire de champs. Il existe un correctif prévu pour ce comportement.

BatchQueryProcessor

BatchQueryProcessor doit être activé pour prendre en charge les modèles de données avec relations multi-faits. Il s’agit d’un comportement attendu pour lequel aucun correctif n’est actuellement prévu.

Tableau Pulse

Pulse peut ne pas fonctionner avec les modèles de données contenant des relations multi-faits. Il se peut que vous ne soyez pas en mesure créer de définition de métrique ou que les métriques créées soient vides. Il ne s’agit pas d’un comportement attendu, mais aucun correctif n’est encore prévu.

Merci de vos commentaires!Votre commentaire s été envoyé avec succès. Merci!