Améliorer les performances des jointures entre bases de données
Important : cette fonctionnalité déplace temporairement les données en dehors de Tableau. Assurez-vous que la base de données à laquelle vous êtes connecté provient d’une source de confiance.
Lors de la jointure de données entre une seule base de données et un seul fichier, Tableau peut améliorer les performances en choisissant d’effectuer la jointure à l’aide de la base de données au lieu d’Hyper. Ce paramètre par défaut permet à Tableau de choisir l’approche la plus rapide (Hyper ou la base de données connectée). Si Tableau utilise la base de données connectée, les données de la connexion de fichier sont déplacées dans des tables temporaires de la base de données et la jointure est effectuée à cet emplacement.
Conditions de la fonctionnalité
L’option permettant d’utiliser la base de données connectée pour la jointure n’est disponible que si les conditions suivantes sont remplies :
- La source de données se compose d’une ou plusieurs connexions basées sur un fichier et d’une connexion SQL unique.
- Les fichiers à joindre doivent être de l’un des types de fichiers suivants : Microsoft Excel, PDF ou Texte (.csv, .txt, .tsv ou .tab).
- La base de données connectée est l’une des suivantes :
- Microsoft SQL Server
- Oracle
- PostgreSQL
- Vertica
- Teradata
- Dans la création Web : L’option Autoriser les utilisateurs à utiliser la création Web est activée.
Modification de l’option préférée pour les jointures entre bases de données
- Connectez-vous à la première source de données.
- Dans Tableau Desktop : Sur la page de démarrage, sous Connexion, connectez-vous à un type de fichier ou de base de données pris en charge. Cette étape permet d’établir automatiquement la première connexion à la source de données Tableau.
- Dans la création Web : depuis la page d’Accueil ou Explorer, cliquez sur Créer > Classeur pour démarrer un nouveau classeur, puis connectez-vous à vos données. Cette étape permet d’établir automatiquement la première connexion à la source de données Tableau.
- Sélectionnez le fichier ou la base de données auquel/à laquelle vous souhaitez vous connecter, puis double-cliquez sur une table ou faites-la glisser vers l’espace de travail.
Dans le volet de gauche, sous Connexions, cliquez sur le bouton Ajouter ( dans la création Web) pour ajouter votre seconde connexion à la source de données Tableau.
L’option Jointure entre bases de données s’affiche.
Remarque : si vous ne voyez pas cette option, vérifiez que vous n’utilisez que des sources de données prises en charge et que vous avez au moins deux sources de données (une base de données et un ou plusieurs fichiers de type pris en charge).
- Pour changer la manière dont Tableau effectue la jointure, à côté de l’option de Jointure entre bases de données, cliquez sur Modifier.
- Dans la boîte de dialogue Jointure entre bases de données, sélectionnez l’une des options suivantes, puis cliquez sur OK :
- Toujours effectuer les jointures dans la base de données. Cette option force Tableau à utiliser la base de données en direct pour effectuer la jointure.
- Laisser Tableau déterminer l’emplacement de jointure. Cette option (option par défaut) permet à Tableau de choisir l’option la plus rapide pour effectuer la jointure : soit Hyper, soit la base de données à laquelle vous êtes connecté.
L’option Jointure entre bases de données sur le volet Connexions multiples sera mis à jour pour refléter votre choix.
Important : si vous sélectionnez Laisser Tableau déterminer l’emplacement de jointure, Tableau choisit l’option la plus rapide lors de l’exécution de la jointure. Ce comportement est prédéterminé par un ensemble de critères, y compris les types de jointure. Par exemple, Tableau choisit toujours Hyper pour les jointures non internes.
Si Tableau utilise Hyper pour effectuer la jointure, ce processus se produit en arrière-plan et aucun indicateur ne s’affiche pour identifier où la jointure a été effectuée.
- Ajoutez une ou plusieurs conditions de jointure en sélectionnant un champ dans une source de données, un opérateur de jointure et un champ de la table ajoutée. Inspectez la clause de jointure afin de vous assurer qu’elle reflète la façon dont vous souhaitez connecter les tables.
Utilisation de sources de données multi-connexions
Utiliser des données multiconnexion est similaire à l’utilisation de toute autre source de données, à quelques précautions près, que nous allons discuter dans cette section.
Réunir des données depuis une connexion
Pour unir des données, vous devez utiliser des tables de texte ou des tables Excel provenant de la même connexion. Cela signifie que vous ne pouvez pas réunir des tables provenant de différentes bases de données. Dans Tableau Desktop, vous pouvez réunir des tables à travers différents fichiers et classeurs Excel dans différents répertoires. Pour plus d’informations, voir Réunir des tables en utilisant la recherche avec caractères génériques (Tableau Desktop).
Si vous souhaitez réunir les données de plusieurs bases de données, utilisez Tableau Prep(Le lien s’ouvre dans une nouvelle fenêtre).
Interclassement
L’interclassement désigne les règles d’une base de données déterminant la manière dont les valeurs de chaîne doivent être comparées et triées. Dans la plupart des cas, l’e classement est géré par la base de données. Toutefois, lorsque vous utilisez des jointures entre bases de données, il peut vous arriver de lier des colonnes ayant des interclassements différents.
Par exemple, supposons que votre jointure entre bases de données ait utilisé une clé de jointure comportant une colonne sensible à la casse provenant de SQL Server et une colonne non sensible à la casse provenant d’Oracle. Dans ce type de cas, Tableau mappe certains interclassements avec d’autres afin de minimiser l’interprétation incorrecte des valeurs.
Les règles suivantes sont utilisées dans les jointures entre bases de données :
- Si une colonne utilise les normes d’interclassement de l’ICU (International Components for Unicode), Tableau utilise l’interclassement de l’autre colonne.
- Si toutes les colonnes utilisent les normes d’interclassement de l’ICU, Tableau utilise l’interclassement de la colonne de la table de gauche.
- Si aucune colonne n’utilise les normes d’interclassement de l’ICU, Tableau utilise un interclassement binaire. Un interclassement binaire signifie que les paramètres régionaux de la base de données et le type de données des colonnes déterminent la manière dont les valeurs de chaîne doivent être comparées et triées.
Conserver la police de caractères pour les données Excel
Si vous devez conserver la police de caractères pour vos données Excel lors d’une jointure, vous pouvez activer l’option Conserver la police de caractères (Excel) dans le menu Données.
Lorsque cette option est sélectionnée, Tableau conserve la police de caractères et identifie de manière unique les valeurs avec une police de caractères différente au lieu de les combiner, ce qui entraîne un nombre différent de lignes.
Par exemple, considérez une feuille de calcul contenant le mot « Maison » et une autre avec « maison » et « MAISON ». Par défaut, Tableau ignore la casse et considère les trois variantes de « maison » comme identiques. Lorsque l’option Conserver la police de caractères (Excel) est activée, lorsque vous liez vos tables, Tableau reconnaît les différences de police de caractères. « Maison », « maison » et « MAISON » sont traités comme des valeurs différentes.
Remarque : cette option est disponible pour toutes les langues prises en charge par Tableau et ne dépend pas des paramètres régionaux de votre système d’exploitation. Cette option est uniquement disponible pour les sources de données Microsoft Excel.
Calculs et sources de données multi-connexions
Vous ne pouvez appliquer qu’un sous-ensemble de calculs à une source de données multiconnexion.
- Dans Tableau Desktop : vous pouvez utiliser un calcul spécifique si ces deux conditions sont réunies :
- Pris en charge par toutes les connexions dans la source de données multi-connexions
- Pris en charge par les extraits Tableau.
- Dans la création Web (Tableau Cloud et Tableau Server) : vous pouvez utiliser un calcul spécifique s’il est pris en charge par toutes les connexions dans la source de données multiconnexion.
Procédures stockées
Les procédures stockées ne sont pas disponibles pour les sources de données multi-connexions.
Faire pivoter les données depuis une connexion
Pour faire pivoter des données, vous devez utiliser des colonnes de texte ou des colonnes Excel provenant de la même connexion. Cela signifie que vous ne pouvez pas inclure des colonnes provenant de différentes bases de données dans un tableau croisé.
Mettre en premier la connexion aux fichiers d’extrait (Tableau Desktop uniquement)
Lorsque vous vous connectez à des fichiers d’extrait dans une source de données multiconnexion, assurez-vous que la connexion au fichier d’extrait (.hyper) vient en premier. De cette manière, toutes les personnalisations faisant partie de l’extrait sont préservées, y compris les modifications apportées aux propriétés par défaut, aux champs calculés, aux groupes, aux alias, etc..
Remarque : si vous avez besoin de vous connecter à plusieurs fichiers d’extrait dans une source de données multi-connexions, seules les personnalisations de l’extrait dans la première connexion sont préservées.
Extraits de sources de données multiconnexion contenant des connexions vers des données basées sur des fichiers (Tableau Desktop uniquement)
Si vous publiez un extrait d’une source de données multiconnexion contenant des données basées sur un fichier tel qu’un fichier Excel, sélectionnez l’option Inclure des fichiers externes pour copier ces données en tant que partie intégrante de la source de données. Dans ce cas, une copie de vos données basées sur un fichier peut être téléchargée, et son contenu accédé par d’autres utilisateurs. Si les données basées sur un fichier contiennent des informations sensibles, ne sélectionnez pas l’option Inclure les fichiers externes lorsque vous publiez la source de données.
Pour plus d’informations sur la publication de sources de données, consultez Publier une source de données.
Requêtes et jointures entre bases de données
Pour chaque connexion, Tableau envoie des requêtes indépendantes aux bases de données de la jointure. Les résultats sont stockés dans une table temporaire au format d’un fichier d’extrait.
Important : les jointures entre bases de données peuvent déplacer des données entre les bases de données. Assurez-vous que les bases de données que vous liez sont des sources fiables.
Par exemple, supposons que vous créez des connexions à deux tables, dbo.listings et reviews$. Ces tables sont stockées dans deux bases de données différentes, SQL Server et Excel. Tableau interroge la base de données dans chaque connexion indépendamment. La base de données exécute la requête et applique des personnalisations telles que des filtres et des calculs, et Tableau stocke les résultats de chaque connexion dans une table temporaire. Dans cet exemple, FQ_Temp_1 est la table temporaire pour la connexion à SQL Server et FQ_Temp_2 est la table temporaire pour la connexion à Excel.
Table SQL Server | Table Excel |
Lorsque vous effectuez une jointure entre bases de données, les tables temporaires sont liées par Tableau Desktop. Ces tables temporaires sont nécessaires pour que Tableau effectue des jointure entre bases de données.
Une fois que toutes les tables ont été liées, un filtre N premiers est appliqué afin de limiter le nombre de valeurs affichées dans la grille de données aux 1000 premières lignes. Ce filtre est appliqué pour conserver la réactivité de la grille de données et les performances générales de la page Source de données.
Tables liées