À propos des modèles de données avec des 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 des 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 des 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 savoir comment déterminer les tables qui serviront de tables de base, consultez la section 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 des relations multi-faits, soit tout était lié (une seule source de données), soit rien ne l’était (combinaison de 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 ont la même arborescence.
    • Avant la version 2024.2, toutes les sources de données étaient des sources de données avec une table de base unique ayant une seule arborescence. De plus, dans une source de données avec une table de base unique, toutes les tables sont connexes.
  • Les tables non connexes ont des arborescences différentes. Les tables de base ne sont pas toujours associées l’une à l’autre. Les tables situées précisément en aval d’une table de base unique ne sont pas associées à des tables situées dans 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 connexes, non connexes, associés de façon ambiguë ou utilisés pour l’assemblage. La relation entre un groupe de champs est établie 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 champs) et si ces champs sont des dimensions ou des mesures.  

une visualisation simple avec deux champs non connexes, l’un sur les lignes et l’autre sur les colonnes, et sur laquelle s’affiche une infobulle non connexe

Pour créer une visualisation avec des champs 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 : 

  • Lorsque des champs connexes sont utilisées dans une visualisation, les dimensions font l’objet d’une jointure interne et les valeurs de mesure sont ventilées selon les dimensions.
    • Ce n’est pourtant pas aussi simple : il peut être nécessaire d’effectuer des jointures supplémentaires en arrière-plan pour s’assurer qu’aucune valeur de mesure n’est ignorée. Mais dans une visualisation qui ne contient que des dimensions, les dimensions connexes font l’objet d’une jointure interne et cela constitue l’idée clé dans ce cas.
    • Ce comportement est le même que sur les modèles avec une table de base unique.
  • Lorsque des champs non connexes sont utilisés dans une visualisation, les dimensions font l’objet d’une jointure croisée. Les valeurs de mesures sont limitées à une table (c’est-à-dire agrégées localement en une seule valeur pour toute la table) et répétées.
    • Il est également possible que des champs soient associés 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. Si Tableau se heurte à une ambiguïté, il considère que les champs sont des champs non connexes.
  • 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 par lesquelles elles peuvent être ventilées et répétées.
    • Les dimensions assemblées sont semblables aux champs de liaison dans la fusion des données. Les résultats sont calculés pour chaque paire de champs connexes, puis les valeurs non connexes sont assemblées entre les valeurs partagées de la dimension qu’elles se partagent.

Tous ces concepts et définitions sont présentés de façon plus détaillée dans la suite de 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 la 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é :
    • limitée à une 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 à l’échelle de la table (54), une visualisation pour le nombre moyen de boîtes à l’échelle de la table (6), puis des versions de ces deux visualisations réparties entre les cinq marques.

Indicateurs de relation au niveau des champs

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

Indicateurs de relation sur une feuille de calcul

  • Icône non connexe : Tableau utilise une icône non connexe icône non connexe pour indiquer que tout ce qui se trouve dans la vue n’est pas lié. Si une icône non connexe s’affiche dans un champ de la vue ou dans le volet Données, vous pouvez survoler l’icône pour obtenir plus d’informations.
  • Noms de 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. Néanmoins, vous pouvez utiliser ces champs pour l’analyse de cette visualisation, mais les champs non connexes sont évalués différemment des champs connexes dans l’analyse. Au passage de la souris, ces champs affichent également une icône non connexe.

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 était sélectionnée. Les champs masqués, lorsqu’ils sont affichés, sont désormais indiqués par une icône cliquable en forme d’œil icône de champ masqué.

Boîte de dialogue d’avertissement de relation

Lorsque des champs non connexes sont utilisés ensemble dans une visualisation, Tableau affiche une boîte de dialogue d’avertissement pour vous indiquer que les champs ne sont pas connexes. Ce message apparaît chaque fois que vous ajoutez un champ non connexe pour vous rappeler de valider l’utilisation de champs non connexes dans votre analyse. Le message d’avertissement ne vous empêche pas de continuer, mais il peut vous aider à éviter d’éventuels problèmes de performances. Par exemple, l’utilisation de champs non connexes à cardinalité élevée peut entraîner des jointures croisées qui affectent les performances du classeur.

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

Cliquez sur Ajouter pour continuer à ajouter le champ à la visualisation. Si vous ne souhaitez pas que le message réapparaisse, sélectionnez l’option Ne plus afficher ce message. Vous pouvez toujours faire réapparaître ces messages d’avertissement en les réactivant : ouvrez le menu Aide > Paramètres et performances > Réinitialiser les messages ignorés.

Si 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

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 formant une arborescence conceptuelle. Ces arborescences doivent être reliées par au moins une table partagée pour s’assurer que la source de données globale constitue une seule entité.

Ce qui aurait pu être autrefois deux sources de données pouvant être fusionnées à l’aide de champs de liaison peut désormais être une source de données unique avec deux arborescences, reliées par les tables partagées qui contiennent 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 façon d’associer leurs champs dans l’analyse. Il peut être utile de se référer à 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 non connexes. De même, les tables qui n’existent que 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 établie 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 champs sur les étagères) et si ces champs sont des dimensions ou des mesures. L’impact de la relation au niveau des champs sur les résultats d’une visualisation est abordé dans la section suivante.

Examinons maintenant quelques scénarios en 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 connexes

À un niveau élevé, les champs sont connexes lorsque Tableau peut déterminer clairement comment les évaluer ensemble sur la base d’une liaison relationnelle dans une même arborescence.

Par exemple, Champ B (de la Table B) et Champ S (de la Table S) sont connexes.

Champ B et Champ S sont connexes

Champs non connexes

À un niveau élevé, il n’existe pas du tout de relation entre les champs lorsqu’ils ne sont pas connexes. La cause peut être que les champs proviennent de tables non connexes, par exemple, lorsqu’on utilise des champs provenant de deux tables de base. Dans ce cas, les champs des différentes tables de base ne sont fondamentalement pas connexes.

Par exemple, Champ A et Champ X ne sont pas connexes.

Champ A et Champ X ne sont pas connexes

Les champs peuvent également être considérés comme étant non connexes à un moment donné. C’est le cas, par exemple, des champs associés de manière ambiguë. Dans la plupart des cas, les indicateurs de relation peuvent vous alerter de la présence de champs non connexes dans une visualisation.

Assemblage des champs

L’assemblage est la manière dont Tableau évalue les champs de tables non connexes dans un modèle de données multi-faits lors de l’analyse. Dans une visualisation, l’utilisation de la dimension d’une table partagée permet d’assembler des champs non connexes et de les évaluer simultanément dans la même visualisation, comme si l’on juxtaposait les résultats de deux arborescences sur la base d’une dimension qu’elles partagent.

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

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

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

Conseil: le meilleur moyen consiste à utiliser un champ assemblé dans la visualisation avant de générer un champ non connexe. Par exemple, faites glisser d’abord Dimension S ou Champ A, ensuite Dimension S puis Champ X, plutôt que Champ A, puis Champ X et ensuite Dimension S. Ajouter le champ assemblé en premier permet à Tableau de toujours savoir comment évaluer les relations et d’éviter les éventuels problèmes de performances liés à l’évaluation conjointe de dimensions non connexes.

L’assemblage requiert d’activer une dimension d’une table partagée dans la visualisation. Les champs placés sur l’étagère Filtres ou sur la propriété Infobulle de la fiche Repères sont considérés comme inactifs pour les besoins de l’assemblage.

Champs associés de manière ambiguë

Les champs peuvent également être associés de manière ambiguë. Il en est ainsi lorsque plusieurs relations sont possibles entre deux tables partagées (ou des tables en aval d’une table partagée) et que celles-ci peuvent être considérées comme pas encore connexes dans le contexte de la visualisation.

Considérez le Champ S et le Champ T. Leurs tables sont associées l’une à l’autre au moyen de l’arborescence définie par la table de base A et de l’arborescence définie par la table de base X.

Une visualisation ne comportant que le Champ S et le Champ T présente une ambiguïté quant à l’arborescence à utiliser pour leur liaison. Faute d’informations supplémentaires, Tableau ne peut pas évaluer s’il convient de relier ces champs au moyen de l’arborescence de la table de base A ou de l’arborescence de la table de base B.

Le Champ S et le Champ T sont associés de manière ambiguë : plusieurs relations sont possibles.

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

Les champs associés de manière ambiguë sont évalués comme des champs non connexes, car Tableau ne peut pas déterminer clairement leur liaison relationnelle. Contrairement aux champs qui ne sont pas véritablement connexes, l’ambiguïté des champs connexes peut être résolue et les champs peuvent être directement associés.

Résoudre l’ambiguïté

L’ambiguïté est résolue en ajoutant un champ pour déterminer quelle arborescence utiliser.

Exemple :

  • Dans une visualisation comportant le Champ S et le Champ T, l’ajout d’un champ de la table A, B ou C à la visualisation active l’arborescence de la table de base A et résout l’ambiguïté entre le Champ S et le Champ T.
  • Une autre solution consiste à utiliser un champ de la table X pour résoudre l’ambiguïté entre le Champ S et le Champ T dans l’arborescence de la table X.
Associé de manière ambiguëRésolution de l’ambiguïté dans une seule arborescence
Connexe au moyen de la table de base AConnexe au moyen de la table de base X
non connexeconnexe au moyen de Aconnexe au moyen de X

La résolution de l’ambiguïté 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 à agréger en définissant la déclaration de dimension. L’ambiguïté est résolue en modifiant la structure de la visualisation pour qu’une seule arborescence soit active, indiquant ainsi à Tableau les liaisons relationnelles qu’il peut prendre en compte pour effectuer l’analyse.

Assembler ou résoudre l’ambiguïté

L’assemblage et la résolution de l’ambiguïté permettent de gérer l’absence de relation, mais ils aboutissent à des résultats différents :

Assembler

Résoudre l’ambiguïté

Assembler A et X avec S

Champ A et Champ X non connexes assemblés par la Dimension S

Résoudre S et T avec A

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

Juxtapose des champs non connexes en fonction d’attributs partagésPrécise la liaison relationnelle à utiliser lorsque plusieurs options existent

Utilise plusieurs logiques de tables de base pour calculer les résultats

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

L’analyse implique des tables non connexesL’analyse implique des tables partagées

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

Après avoir déterminé la relation au niveau des champs, Tableau doit évaluer les résultats pour créer la visualisation proprement dite. Les requêtes utilisées pour le calcul des valeurs affichées dans une visualisation reposent sur des jointures. L’impact sur les jointures effectuées est différent s’il s’agit de champs connexes, de champs non connexes ou de champs assemblés. Retenez que les champs associés de manière ambiguë sont considérés comme étant non connexes 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érons le modèle de données suivant avec deux tables de base, Classes et Clubs, et une table partagée, Students.

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, dimension avec les valeurs Nesting Basics, Advanced Songs, Flying for Fledglings et Alarm Calls 101
  • Length, mesure
  • Student, dimension utilisée pour établir une relation avec la table Student

Champs :

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

Champs :

  • Bus Rider, dimension avec les valeurs « yes » ou « no »
  • Student, dimension avec les valeurs Finch, Cardinal, Sparrow, Robin et Jay. Utilisée pour établir une relation avec les deux autres tables
  • Age, 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 des relations multi-faits. Pour plus d’informations sur les principes des jointures utilisées dans les modèles de données avec une table de base unique fondés sur les relations, consultez Fonctionnement de l’analyse pour les sources de données multi-tables utilisant 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 des 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 des relations multi-faits, configurez-le de cette manière pour que vos tables de base restent théoriquement non connexes. Toutefois, si vos données ne nécessitent pas ce type de structure, il serait plus simple d’utiliser un modèle avec une table de base unique.

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

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, il n’y a rien dans ces tables, dans les données ou dans le modèle qui nécessite vraiment plusieurs tables de base. 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.

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 connexes utilisent des jointures internes

Les dimensions connexes font l’objet d’une jointure interne. Les jointures internes ignorent les valeurs de dimensions qui ne sont pas partagées par les deux tables.

  • Tableau utilise une logique supplémentaire pour s’assurer que les valeurs de mesure sont préservées. Cette section n’utilise que des dimensions pour démontrer comment Tableau s’y prend pour appliquer des jointures internes aux dimensions connexes.

L’exemple suivant montre que les dimensions connexes ne renvoient que les lignes présentes dans les données. Aucun élève n’assiste au cours Alarm Calls 101, qui n’apparaît donc pas dans les résultats. Cardinal et Jay n’assistent à aucun cours, par conséquent, ils ne figurent pas dans les résultats.

Visualisation montrant une jointure interne de Class et 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 connexes utilisent des jointures croisées

Les dimensions non connexes (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.

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

Il est important de savoir quand une jointure est croisée dans votre analyse. Même si une ligne pour Advanced Songs + First Aid est présente dans la table des résultats pour la jointure croisée, aucun élève ne participe en fait à cette combinaison d’activités (nous le découvrirons dans l’exemple d’assemblage de la section suivante).

Pourquoi est-il important de comprendre que les résultats des jointures croisées ne sont pas tous basés sur les données? Imaginez que vous essayez d’établir un emploi du temps pour les cours et les clubs de façon à éviter les conflits pour les élèves. Aucun élève n’est inscrit aux cours 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.

Les dimensions assemblées utilisent des jointures externes

Les dimensions non connexes (en présence d’une dimension assemblée) font l’objet de jointures externes.

Dans cet exemple, les tables Classes et Clubs sont toutes deux associées à la table partagée Students mais pas l’une à l’autre, de sorte que les champs Class et Club ne sont pas connexes. L’ajout de la dimension Student permet à Tableau de savoir quelles valeurs Class et Club doivent être juxtaposées dans l’analyse. On appelle le comportement de cette jointure externe l’assemblage.

Visualisation montrant les résultats d’une jointure externe de la jointure interne Student-Class et de la jointure interne Student-Club. Une icône non connexe s’affiche sur les champs Class et Club de l’étagère Lignes. Un champ Student se trouve dans la propriété Couleur de la fiche Repères et ne présente aucune icône non connexe. Les combinaisons de cours et de clubs ne sont pas toutes représentées, et des lignes sont présentes pour les élèves et les clubs sans aucun cours.

L’assemblage est similaire à la fusion des données dans la mesure où les résultats intermédiaires sont réunis pour obtenir les résultats généraux. Toutefois, contrairement à la fusion, l’assemblage est une jointure externe, et non une jointure gauche, et n’abandonne pas de valeurs de part et d’autre. Il n’existe aucun concept relatif aux sources de données primaires ou secondaires lorsqu’il s’agit d’une seule source de données, de sorte que les deux champs non connexes ont une préséance égale.

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

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

Exemple

Une jointure interne pour Student et Class...

Une table de résultats pour trois valeurs d’élèves et trois valeurs de cours

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

Une table de résultats pour quatre valeurs d’élèves et cinq valeurs de clubs

...ensuite une jointure externe est effectuée pour Student.

Une table de résultats pour quatre valeurs d’élèves, 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 fait leur apparition dans Tableau, l’un des principes fondamentaux était que les valeurs de mesure ne sont pas perdues. Ce principe est également respecté dans les modèles de données avec des relations multi-faits.

Voici les détails essentiels :

  • Les valeurs de mesures sont ventilées uniquement en fonction des dimensions connexes.
  • Les valeurs de mesures sont répétées pour les dimensions non connexes.
  • Les valeurs de dimensions qui seraient ignorées dans les visualisations ne contenant que des dimensions peuvent réapparaître si des valeurs de mesures pertinentes leurs sont associées.

Remarque : Retenez que les mesures sont des agrégations. Elles sont calculées au niveau de détail (granularité) défini par la combinaison des dimensions dans la visualisation. On parle alors de mesure ventilée selon une dimension. Lorsqu’une mesure est utilisée sans aucune dimension, on dit qu’elle est limitée à une table. Cela signifie que la valeur de la mesure est la valeur entièrement agrégée. Dès qu’on utilise une dimension dans la visualisation, la mesure est ventilée avec précision selon les valeurs de dimensions. La valeur d’une mesure dans une analyse dépend donc du contexte des dimensions.

Mesures connexes

Considérons le sous-ensemble des valeurs de dimensions renvoyées pour une jointure interne sur les dimensions connexes Student et Class. Il existe trois valeurs pour les élèves, Finch, Robin et Sparrow ; et trois valeurs pour les cours, Advanced Songs, Nesting Basics et Flying for Fledgelings.

une table de résultats pour une jointure interne entre l’élève et le cours

Si on ajoute la mesure Length de la table Class, on constate que les quatre cours sont représentés et qu’une valeur nulle est présente pour Student. La mesure Length de chaque cours s’affiche, au niveau de la table Class.

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

Si l’on ajoute plutôt la mesure Age de la table Student, on constate que les cinq élèves sont représentés et que deux valeurs nulles sont présentes pour Class. Les résultats tiennent compte de chaque élève, même s’il n’assiste pas au cours. La mesure Age de chaque élève s’affiche, au niveau de la table Student.

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

Mesures non connexes

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

Si l’on examine la mesure Length de la table Classes et la dimension non connexe Club, la mesure est limitée à la table et répétée pour toutes les valeurs de dimensions de Club.

mesure limitée à une table et répétée sur des valeurs de dimensions non connexes

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

Ici, la mesure Age provient de la table Students et est ventilée au niveau Student. Chaque fois qu’un élève 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 à prendre au moment d’utiliser les modèles de données avec des relations multi-faits

Calculs de niveau de ligne

Les calculs de niveau de ligne ne peuvent se référer qu’aux champs qui partagent la même table de base en amont. En d’autres termes, les calculs de niveau de ligne 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. Toutefois, dans une visualisation, l’option Ajouter à l’ensemble peut être disponible à partir d’un repère lorsque ce repère est défini par des champs qui ne sont pas associés aux champs utilisés pour définir l’ensemble. Si vous sélectionnez l’option Ajouter à l’ensemble, Tableau ajoutera uniquement les champs associés à la définition de l’ensemble. Le comportement diffère lorsqu’on sélectionne l’option Ajouter à l’ensemble dans les sources de données avec une table de base unique et 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 connexes. La relation entre les champs étant évaluée feuille par feuille, il est possible d’avoir une expression LOD valide dans le volet Données ou dans l’éditeur de calcul qui devient invalide dans le contexte d’une visualisation spécifique (en présence d’une dimension non connexe). Dans ce cas, le champ LOD devient rouge. Vous pouvez mettre à jour l’expression LOD pour éliminer les conflits de champs non connexes, modifier la structure de la visualisation ou supprimer l’expression LOD de la visualisation.

Mettre à 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 envisagez de la modifier pour en faire un modèle de données avec des relations multi-faits lorsque 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 évitera que les classeurs existants soient convertis pour utiliser VDS au lieu du serveur de données lorsqu’ils n’ont pas besoin de cette fonctionnalité, évitant ainsi le risque d’une dégradation des performances.

Problèmes connus dans la version 2024.2

Extraits

Avertissement : les sources de données avec des relations multi-faits doivent être des connexions en direct et non des extraits.

Source de données locale (dans un classeur) : Lorsqu’on tente d’extraire une source de données avec des relations multi-faits, l’erreur « Aucune table de ce type » est générée.

Source de données publiée : L’extraction d’une source de données publiée avec des relations multi-faits semble réussir, mais les valeurs des champs peuvent être inversées.

Un correctif est prévu pour corriger ce comportement.

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 reçoit sa propre fiche Repères. La logique utilisée pour déterminer les indicateurs de relation (l’icône non connexe, le texte des infobulles et la boîte de dialogue d’avertissement de relation) peut ne pas donner les résultats souhaités en fonction de la fiche Repères ouverte. Toutefois, la visualisation elle-même est correctement calculée en fonction de la relation entre chaque paire de champs. Un correctif est prévu pour corriger ce comportement.

Expressions de niveau de détail EXCLUDE

Seuls les expressions LOD INCLUDE doivent être validées en présence de champs non connexes. Cependant, les expressions LOD EXCLUDE peuvent également être marqués à tort comme non valides dans les mêmes conditions. Un correctif est prévu pour corriger ce comportement.

Calculs utilisateur imbriqués

Les calculs utilisateur imbriqués ne sont pas disponibles dans les sources de données publiées avec un modèle de données comportant des relations multi-faits. Un correctif est prévu pour corriger ce comportement.

BatchQueryProcessor

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

Tableau Pulse

Pulse peut ne pas utiliser les modèles de données avec des relations multi-faits. Il se peut que vous ne puissiez pas créer de définition de métrique ou que les métriques créées soient vides. Ce n’est pas le comportement souhaité, mais aucun correctif n’est encore prévu.

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