Résolution des problèmes de jointure
Remarque : si votre jointure compte mal les données, cela peut indiquer que vous devriez plutôt utiliser une relation. Pour plus d’informations sur les relations, consultez Relier vos données. Pour plus d’informations sur la façon dont Tableau gère la combinaison des données de différents niveaux de détail (par exemple des relations de plusieurs-à-plusieurs), consultez Cardinalité et intégrité référentielle.
Valeurs biaisées (en positif) ou valeurs dupliquées
Lorsque vous vous connectez à plusieurs tables et que vous les liez, vous créez une vue dénormalisée des données. Dans certains cas, Tableau traite plusieurs tables comme une seule table. Lorsque plusieurs tables sont traitées comme une seule table, une fois que toutes les tables sont liées, toutes les tables sont interrogées. Il peut en résulter des valeurs biaisées (en positif).
Par exemple, supposons que vous ayez deux tables. La première table contient des informations sur les employés telles que l’ID d’employé et un salaire. La seconde table contient des informations organisationnelles telles que des noms de services.
Table 1
| Table 2
|
Si vous liez ces tables sur Employee ID, le salaire de l’employé est comptabilisé plus d’une fois, car l’employé est associé à plusieurs services.
ID d’employé | Nom | Salaire | Service | Date d’embauche | Entreprise |
20107 | Wilson, Henry | 61 000 | Assistance | 28/07/2015 | Opérations |
20107 | Wilson, Henry | 61 000 | Ventes | 25/08/2016 | Opérations |
Il s’agit d’un exemple de cardinalité d’un-à-plusieurs (un ID d’employé dans la Table 1 a plusieurs résultats dans la Table 2). Pour plus d’informations sur la cardinalité entre les tables, consultez Optimiser les requêtes relationnelles à l’aide d’options de performance.
Vous pouvez résoudre ce problème comme suit :
Relier les données : au lieu de créer une jointure, ce qui peut dupliquer vos données, vous pouvez utiliser des données. Pour plus d’informations, voir Relier vos données.
Modifier l’agrégation : selon votre analyse, vous pouvez utiliser l’agrégation MIN ou AVG pour supprimer la double comptabilisation.
Par exemple, si vous changez l’agrégation Salary de SUM en MIN ou de SUM en AVG.
Créez un champ calculé qui supprime les valeurs en double : vous pouvez créer un champ calculé qui divise la somme du champ dupliqué par le nombre d’instances du champ à la source de la duplication.
Par exemple, les valeurs Salary sont dupliquées par le nombre d’instances d’Employee ID pour Wilson, Henry. Dans ce cas, dans la vue, remplacez Salary par un champ calculé utilisant les formules suivantes :
SUM ([Salary])/ COUNT ([Employee ID])
.Vous pouvez aussi utiliser une expression de niveau de détail pour supprimer les données en double. Pour plus d’informations, consultez Supprimer les données en double avec les calculs LOD(Le lien s’ouvre dans une nouvelle fenêtre) dans la Base de connaissances Tableau.
Utiliser SQL personnalisé : Tableau prend en charge SQL personnalisé pour connecter plusieurs tables d’une source de données. Vous pouvez pré-agréger les tables avant de les lier avec une clause GROUP BY. Cette option nécessite de savoir rédiger des requêtes SQL et de faire appel à un expert des bases de données si possible. Pour plus d’informations sur la connexion à une requête SQL personnalisée depuis Tableau, voir Se connecter à une requête SQL personnalisée.
Jointures de tables et jointures entre bases de données interrompues
Avant de lier des tables (depuis la même source de données ou en utilisant une jointure entre base de données), assurez-vous que les types de données des clés de jointure correspondent. Si les types de données des clés de jointure ne correspondent pas, la jointure est interrompue, ce qui est indiqué par un point d’exclamation rouge, et le texte d’erreur « discordance entre les champs de jointure ». Pour réparer une jointure rompue, suivez l’une des suggestions suivantes :
Vous pouvez modifier le format d’un champ (y compris son type de données) dans la boîte de dialogue de jointure pour que les clés de jointure correspondent en créant un calcul de jointure. Un calcul de jointure prend en charge un sous-ensemble de calculs qui vous permet de modifier le format d’une clé de jointure dans une ou plusieurs tables que vous souhaitez combiner. Pour créer un calcul de jointure, cliquez sur l’icône de jointure entre les tables qui présentent une jointure rompue, cliquez sur le champ dont le format doit être modifié, puis sélectionnez Créer un calcul de jointure. Pour plus d’informations, voir Résolution des problèmes de jointure.
Pour des données textuelles ou Excel, modifiez le type de données de l’un des champs de texte ou Excel dans la clé de jointure à l’aide du menu Type de données situé dans la grille de données.
Tableau Desktop uniquement : Pour la plupart des connexions, vous pouvez utiliser l’option Convertir en SQL personnalisé pour modifier le type de données de l’un des champs dans la clé de jointure en utilisant une fonction telle que CAST (). L’option Convertir en SQL personnalisé n’est disponible que si la source de données contient une seule connexion. Dans ce cas, supprimez la seconde connexion puis sélectionnez Données > Convertir en SQL personnalisé.