Modèle de données Tableau

Chaque source de données que vous créez dans Tableau possède un modèle de données. Vous pouvez considérer un modèle de données comme un diagramme qui indique à Tableau comment interroger les données dans les tables de base de données connectées.

Les tables que vous ajoutez à l'espace de travail dans le volet Source de données créent la structure du modèle de données. Un modèle de données peut être simple, par exemple une table unique. Il peut aussi être plus complexe, avec plusieurs tables utilisant différentes combinaisons de relations, de jointures et d'unions.

Le modèle de données comporte deux couches :

  • La vue par défaut que vous voyez en premier dans l'espace de travail du volet Source de données est la couche logique de la source de données. Vous combinez les données dans la couche logique à l'aide de relations (ou « noodles »). Considérez cette couche comme l'espace de travail Relations dans le volet Source de données. Pour plus d'informations, consultez Utiliser les relations pour l'analyse des données multi-tables.
  • La couche suivante est la couche physique. Vous combinez les données entre les tables au niveau de la couche physique à l'aide de jointures et d'unions. Chaque table logique contient au moins une table physique dans cette couche. Considérez cette couche comme l'espace de travail Jointure/Union dans le volet Source de données. Double-cliquez sur une table logique pour afficher ou ajouter des jointures et des unions.

Couche logique   Couche physique
« Noodles » = Relations   Diagramme de Venn = Jointures
 
Vue de haut niveau d'une source de données avec plusieurs tables reliées. Il s'agit de la couche logique. Les tables logiques peuvent être combinées à l’aide de relations (« noodles »). Elles n'utilisent pas de types de jointures. Elles agissent comme des conteneurs pour les tables physiques.   Double-cliquez sur une table logique pour l’ouvrir et voir ses tables physiques. Vous pouvez combiner les tables physiques à l'aide de jointures ou d'unions. Dans cet exemple, la table logique Book est composée de trois tables physiques jointes (Book, Award, Info).

 

Couche logique   Couche physique
Espace de travail Relations dans le volet Source de données   Espace de travail Jointure/Union dans le volet Source de données
Les tables que vous faites glisser ici sont appelés tables logiques   Les tables que vous faites glisser ici sont appelés tables physiques
Les tables logiques peuvent être reliées à d'autres tables logiques   Les tables physiques peuvent être liées ou réunies à d'autres tables physiques
Les tables logiques fonctionnent comme des conteneurs pour les tables physiques   Double-cliquez sur une table logique pour voir ses tables physiques
Le niveau de détail est au niveau des lignes dans la table logique   Le niveau de détail est au niveau des lignes dans les tables physiques fusionnées
Les tables logiques restent distinctes (normalisées), non fusionnées dans la source de données   Les tables physiques sont fusionnées en une seule table plate qui définit la table logique

Couches du modèle de données

La vue de niveau supérieur que vous voyez d'une source de données est la couche logique du modèle de données. Vous pouvez aussi la considérer comme l'espace de travail Relations parce que vous combinez ici des tables utilisant des relations au lieu de jointures.

Lorsque vous combinez des données provenant de plusieurs tables, chaque table que vous faites glisser vers l'espace de travail doit avoir une relation avec une autre table. Il n'est pas nécessaire de spécifier des types de jointures pour les relations. Pendant l'analyse, Tableau crée automatiquement les types de jointures appropriés en fonction des champs et du contexte d'analyse dans la feuille de calcul.

La couche physique du modèle de données est l'endroit où vous pouvez combiner les données à l'aide de jointures et d'unions. Vous ne pouvez utiliser que des permutations dans cet espace de travail. Vous pouvez le considérer comme l'espace de travail Jointure/Union. Dans les versions précédentes de Tableau, la couche physique était la seule couche du modèle de données. Chaque table logique peut contenir une ou plusieurs tables physiques.

Important : vous pouvez toujours créer, dans Tableau, des sources de données à table unique utilisant les jointures et les unions. Le comportement d'analyse d’une table unique dans Tableau n’a pas changé. Vos classeurs mis à niveau fonctionneront de la même façon qu’avant 2020.2.

Comprendre le modèle de données

Dans les versions précédentes de Tableau, le modèle de données n'avait que la couche physique. Dans Tableau 2020.2 et ultérieur, le modèle de données possède une couche logique (sémantique) et une couche physique. Vous disposez ainsi de davantage d'options pour combiner des données à l'aide de schémas en fonction de votre analyse.

Dans Tableau 2020.2 et versions ultérieures, une couche logique a été ajoutée dans la source de données. Chaque table logique contient des tables physiques dans une couche physique.

Dans les versions précédentes de Tableau, le modèle de données dans votre source de données était constitué d'une seule couche physique où vous pouviez spécifier des jointures et des unions. Les tables ajoutées à la couche physique (par jointure ou union) créent une seule table aplatie (dénormalisée) pour l'analyse.

Versions précédentes   2020.2 et ultérieur
 
Dans les versions de Tableau antérieures à 2020.2, le modèle de données n'avait que la couche physique   Dans 2020.2 et ultérieur, le modèle de données comporte deux couches : la couche logique et la couche physique.

Dans Tableau 2020.2, le modèle de données dans votre source de données comprend maintenant une nouvelle couche sémantique au-dessus de la couche physique - appelée la couche logique - où vous pouvez ajouter plusieurs tables et les relier les unes aux autres. Les tables au niveau de la couche logique ne sont pas fusionnées dans la source de données, elles restent distinctes (normalisées) et gèrent leur niveau de détail natif.

Les tables logiques agissent comme des conteneurs pour les tables physiques fusionnées. Une table logique peut contenir une seule table physique. Elle peut aussi contenir plusieurs tables physiques fusionnées par le biais de jointures ou d'unions.

Créer un nouveau modèle

Lorsque vous ajoutez une ou plusieurs tables à la couche logique, vous créez essentiellement le modèle de données pour votre source de données. Une source de données peut être constituée d'une seule table logique ou vous pouvez faire glisser plusieurs tables sur l'espace de travail pour créer un modèle plus complexe.

  • La première table que vous faites glisser vers l'espace de travail devient la table racine pour le modèle de données dans votre source de données.
  • Après avoir fait glisser la table racine, vous pouvez faire glisser des tables supplémentaires dans n’importe quel ordre. Vous devrez prendre en compte les tables à relier les unes aux autres, et les paires de champs correspondants que vous définissez pour chaque relation.
  • Si vous créez un schéma en étoile, il peut être utile de faire glisser la table de faits en premier, puis de relier les tables de dimensions à cette table.
  • La suppression d’une table dans l'espace de travail supprime également automatiquement ses descendants reliés. Si vous supprimez la table racine, toutes les autres tables du modèle sont également supprimées.
  • Chaque relation doit être constituée d'au moins une paire assortie de champs. Ajoutez plusieurs paires de champs pour créer une relation composée. Les paires assorties doivent avoir le même type de données. La modification du type de données dans le volet Source de données ne modifie pas cette exigence. Tableau continuera d'utiliser le type de données dans la base de données sous-jacente pour les requêtes.
  • Les relations peuvent être basées sur des champs calculés.
  • Vous pouvez spécifier comment comparer les champs utilisés dans les relations à l’aide d’opérateurs lorsque vous définissez la relation.

Remarque : vous ne pouvez pas modifier le modèle de données d'une source de données publiée.

Pour plus d’informations sur les relations, consultez Créer et définir les relations dans Relier vos données.

Modèle multi-tables

  • Pour créer un modèle multi-tables, faites glisser des tables sur la couche logique de l'espace de travail du volet Source de données.


Les tables que vous faites glisser sur la couche logique de l'espace de travail Source de données doivent être reliées entre elles. Lorsque vous faites glisser des tables supplémentaires sur l'espace de travail de la couche logique, Tableau tente automatiquement de créer la relation en fonction des contraintes de clés existantes et des champs correspondants pour définir la relation. S’il ne peut pas déterminer les champs correspondants, vous devrez les sélectionner.

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

Vous pouvez ajouter des données supplémentaires dans n’importe quelle table logique en double-cliquant sur la table. La couche physique de l'espace de travail du volet Source de données s'ouvre alors. Si vous avez besoin d’utiliser des jointures ou des unions, vous pouvez faire glisser les tables que vous voulez lier ou réunir dans l'espace de travail de la couche physique. Les tables physiques sont fusionnées dans leur table logique.

Suivez les étapes de la section Créer et définir des relations pour combiner plusieurs tables.

Modèles à table unique

  • Pour créer un modèle à table unique, faites glisser une table dans l'espace de travail de la couche logique du volet Source de données. Vous pouvez ensuite utiliser les champs de cette table dans le volet Données pour l'analyse.

Modèle à table unique contenant d’autres tables

Vous pouvez ajouter des données supplémentaires dans la table logique unique en double-cliquant sur la table. La couche physique de l'espace de travail du volet Source de données s'ouvre alors. Si vous avez besoin d’utiliser des jointures ou des unions, vous pouvez faire glisser les tables que vous voulez lier ou réunir dans l'espace de travail de la couche physique. Les tables physiques sont fusionnées dans leur table logique.

Cet exemple montre la table Book dans l'espace de travail Relations (couche logique) de la source de données. Double-cliquez sur la table logique Book pour ouvrir l'espace de travail Jointure/Union (couche physique).

Dans cet exemple, les jointures fusionnent les tables Award et Info avec la table Book. Dans ce cas, la jointure entre Book et Award sera de type un-à-plusieurs, au niveau de détail des prix. Les valeurs de mesures seraient dupliquées pour Book et Info. Pour éviter les duplications, vous pouvez relier Award et Info à Book au lieu de les lier à l’intérieur de la table logique Book.

Schémas de modèle de données pris en charge

Les fonctionnalités de modélisation des données introduites dans la version 2020.2 sont conçues pour faciliter l'analyse dans le cas de scénarios de données multi-tables courants, y compris les modèles de données en étoile et en flocon. Les types suivants de modèles sont pris en charge dans les sources de données Tableau.

Table unique

L'analyse d'une seule table logique contenant un mélange de dimensions et de mesures fonctionne comme dans Tableau pré-2020.2. Vous pouvez créer une table logique à l'aide d'une combinaison de jointures, d'unions, de SQL personnalisé, etc.

Étoile et flocon

Dans les entrepôts de données d'entreprise, il est courant d'avoir des données structurées en des schémas en étoile ou en flocon où les mesures sont contenues dans une table de faits centrale et où les dimensions sont stockées séparément dans des tables de dimensions indépendantes. Cette organisation de données prend en charge de nombreux flux d'analyse courants, y compris le déploiement et l'exploration en cascade.

Ces modèles peuvent être directement représentés avec les relations dans les fonctionnalités de modélisation de données disponibles à partir de Tableau 2020.2.

Commencez par faire glisser la table de faits vers le modèle, puis reliez les tables de dimensions à la table de faits (dans un schéma en étoile) ou à d'autres tables de dimensions (dans un schéma en flocon).

Typiquement, dans un schéma en étoile ou en flocon correctement modélisé, les relations entre la table de faits et les tables de dimensions fonctionneront sur la base de plusieurs-à-un. Si ces informations sont codées dans votre entrepôt de données, Tableau l'utilisera automatiquement pour définir les options de performance de la relation. Si ce n'est pas le cas, vous pouvez définir ces informations vous-même. Pour plus d'informations, consultez Optimiser les requêtes des relations à l'aide des options de performance.

Dans un schéma en étoile ou en flocon correctement modélisé, chaque ligne dans la table de faits aura une entrée correspondante dans chacune des tables de dimensions. Si cela est vrai et est saisi dans vos contraintes d'intégrité d'entrepôt de données, Tableau utilisera automatiquement ces informations pour définir le paramètre d'intégrité référentielle dans les options de performance. Si certaines lignes de la table de faits n'ont pas de ligne correspondante dans une table de dimensions (parfois appelée « dimensions d'arrivée tardive » ou « faits d'arrivée précoce »), Tableau ne peut pas conserver toutes les lignes lors du calcul des mesures, mais peut abandonner des valeurs lorsqu'il s'agit d'afifcher des en-têtes de dimensions. Pour plus d'informations, consultez Optimiser les requêtes des relations à l'aide des options de performance.

Étoile et flocon avec des mesures dans plus d’une table

Dans certains schémas en étoile ou en flocon, toutes les mesures de votre analyse sont contenues dans la table de faits. Il arrive toutefois souvent que des mesures intéressantes supplémentaires soient reliées aux tables de dimensions dans votre analyse. Même si les tables de dimensions ne contiennent pas de mesures, il est courant en analyse de vouloir totaliser ou agréger des valeurs de dimensions. Dans ces cas, la distinction entre les tables de faits et les tables de dimensions est moins claire. Pour pour plus de clarté lors de l’affichage de votre modèle de données, nous avons recommandé d’ajouter d’abord la table au grain le plus fin à l'espace de travail du volet Source de données, puis de relier toutes les autres tables à cette première table.

Si vous devait lier ces tables ensemble dans une seule table logique, les mesures dans les tables de dimensions seraient répliquées, résultant en des agrégations déformées à moins que vous n'ayez pris des précautions pour dédupliquer les valeurs à l'aide de calculs LOD ou COUNT DISTINCT. Toutefois, si vous créez plutôt des relations entre ces tables, Tableau agrège les mesures avant d'effectuer des jointures, évitant ainsi le problème de duplication inutile. Vous n'avez ainsi pas à suivre scrupuleusement le niveau de détail de vos mesures.

Analyse multi-faits

Les fonctionnalités de modélisation des données de Tableau prennent en charge certaines formes d'analyse multi-faits. D’autres tables de faits (contenant des mesures) peuvent être ajoutées à l’un des modèles mentionnés précédemment tant qu’elles ne se rapportent qu’à une seule table de dimensions. Par exemple, vous pouvez intégrer deux tables de faits ou plus afin d'analyser une dimension partagée, par exemple les analyses de clients de type 360. Ces tables de faits peuvent être à un niveau de détail différent de la table de dimensions, ou les unes par rapport aux autres. Elles peuvent également avoir une relation de plusieurs-à-plusieurs avec la table de dimensions. Dans ces scénarios, Tableau fera en sorte que les valeurs ne soient pas répliquées avant l'agrégation.

Si vous n'avez pas de table de dimension partagée qui relie vos tables de faits, vous pouvez parfois en créer de manière dynamique en utilisant SQL personnalisé ou en utilisant des jointures ou des unions d'autres tables de dimensions.

Deux tables de faits peuvent être reliées directement l'une à l'autre sur une dimension commune. Ce type d'analyse fonctionne mieux lorsque l'une des tables de faits contient un super-ensemble de la dimension commune.

Modèles non pris en charge

  • Plusieurs tables de faits reliées à plusieurs tables de dimensions partagées. Dans certains cas d’utilisation, il est courant d’avoir plusieurs tables de faits reliées à plusieurs tables de dimensions partagées. Par exemple, vous pouvez avoir deux tables de faits, les Ventes en magasin et les Ventes sur Internet, liées à deux tables de dimensions communes, Date et Client. En règle générale, de tels scénarios nécessiteraient la création d’une relation circulaire dans votre modèle de données. Les relations circulaires ne sont pas prises en charge dans la version 2020.2.

    Vous pouvez approcher ce type de modèle en fusionnant certaines des tables dans la couche physique. Par exemple, vous pourriez être en mesure de réunir les Ventes en magasin et les Ventes sur Internet dans une seule table, qui peut ensuite être reliée à Date et Client. Alternativement, vous pourriez être en mesure de faire une jointure croisée entre Date et Client pour créer une seule table de dimensions qui peut ensuite être reliée aux Ventes en magasin et aux Ventes sur Internet.

  • Relier directement 3 tables de faits ou plus sur des dimensions partagées. Bien qu’il soit possible de créer ce modèle dans la couche logique, vous risquez d'obtenir voir des résultats indésirables, sauf si vous n’utilisez que des dimensions issues d’une seule table.

Exigences pour les relations dans un modèle de données

  • Lorsque vous reliez des tables, les champs qui définissent les relations doivent présenter le même type de données. La modification du type de données dans le volet Source de données ne modifie pas cette exigence. Tableau continuera d'utiliser le type de données dans la base de données sous-jacente pour les requêtes.
  • Vous ne pouvez pas définir les relations en fonction de champs géographiques.
  • Les relations circulaires ne sont pas prises en charge dans le modèle de données.
  • Vous ne pouvez pas modifier les relations dans une source de données publiée.
  • Vous ne pouvez pas définir des relations entre des sources de données publiées.
  • Votre classeur doit utiliser une source de données intégrée pour que vous soyez en mesure de modifier des relations et des options de performance dans le volet Source de données dans Tableau Online ou Tableau Server.

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

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