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.

Depuis Tableau Desktop et Tableau Server version 2019.3, vous pouvez améliorer les performances lors de la jointure de données à partir d'une seule connexion de fichier et d'une seule connexion de base de données en autorisant Tableau à effectuer la jointure en utilisant la base de données à laquelle vous êtes connecté au lieu de Hyper. Lorsque cette option est activée, Tableau choisit l'option 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é

Cette option 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.
  • Le fichier est de type 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
  • Le type de jointure est une jointure interne.
  • Dans la création Web : L'option Autoriser les utilisateurs à utiliser la création Web est activée.

    Les administrateurs de site peuvent également configurer les options disponibles pour les utilisateurs en définissant les options Jointures entre bases de données dans l'onglet Paramètres > Général de Tableau Server. Pour plus d'informations sur ces paramètres, consultez Définir l'accès à la création Web d'un site(Le lien s’ouvre dans une nouvelle fenêtre) dans l'aide de Tableau Server.

Remplacer les conditions de la fonctionnalité

Depuis la version 2020.3, en tant qu’administrateur, vous pouvez remplacer la taille du fichier, le type de jointure et les limitations de connexion de fichier unique et forcer Tableau à utiliser la connexion de base de données en direct pour effectuer la jointure. Cela vous permet d’expérimenter et de déterminer les configurations de performances optimales. L’exigence de connexion de base de données unique s’applique toujours.

Pour activer cette option, entrez les informations suivantes depuis la ligne de commande :

  • Tableau Desktop : entrez la commande tableau.exe -DForceAlternativeFederationEngine=true.
  • Tableau Server : entrez la commande tsm configuration tsm configuration set -k native_api.force_alternative_federation_engine -v true

    Pour plus d'informations sur la définition des valeurs de configuration dans Tableau Server, consultez Options tsm configuration set(Le lien s’ouvre dans une nouvelle fenêtre) dans l'aide de Tableau Server.

Activer l'option de performances pour les jointures entre bases de données

  1. 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 commencer 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.

  2. 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.

  3. 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 n'avez que deux sources de données (un type fichier et un type base de données). Sinon, l'administrateur de site peut avoir défini l'option de configuration des Jointures entre bases de données sur Tableau seulement.

  4. 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.
  5. Dans la boîte de dialogue Jointure entre bases de données, sélectionnez l'une des options suivantes, puis cliquez sur OK:

    • Utiliser Tableau ou les bases de données existantes. Cette option 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é.

    • Utiliser Tableau uniquement. Cette option est la valeur par défaut et utilise toujours Hyper pour effectuer la jointure.

      L'option de Jointure entre bases de données passe de l'option par défaut, Utilisation de Tableau (avec Hyper), à la nouvelle option Utilisation de votre base de données, en fonction de ce que vous choisissez.

      Important : si vous sélectionnez Utiliser Tableau ou les bases de données existantes, 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 choisira 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.

  6. Ajoutez une ou plusieurs conditions de jointure en sélectionnant un champ dans l'une des tables disponibles utilisées dans la source de données, un opérateur de jointure et un champ dans 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 dossiers. 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'interclassement 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.

Lorsque vous utilisez des données Microsoft Excel, si vous devez conserver la police de caractères pour vos données lors de jointures, par exemple pour des données japonaises utilisant le jeu de caractères Kana, 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 des valeurs de votre source de données Excel et identifie de manière unique les valeurs avec différentes polices de caractères au lieu de les combiner, ce qui génère un nombre différent de lignes.

Prenons par exemple une feuille de calcul avec la valeur « Maison » et une autre feuille de calcul avec les valeurs « Maison », « maison » et « maiSon ». Par défaut, lorsque vous liez les deux tables, Tableau ignore les différences de police de caractères dans la deuxième feuille de calcul et lie « Maison », « maison » et « maiSon » dans la deuxième feuille de calcul avec « Maison » dans la première feuille de calcul.

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. Les résultats de la jointure affichent moins de résultats, car la jointure associe uniquement « Maison » dans la première feuille de calcul avec la valeur « Maison » dans la deuxième feuille de calcul, et lit « maison » et « maiSon » comme des valeurs uniques distinctes.

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 Online 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 (.tde ou .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 une connexion aux données basées sur un fichier tel qu'un fichier Excel, sélectionner l'option Inclure des fichiers externes place une copie des données basées sur un fichier sur le serveur comme 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 confidentielles, 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.

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 ensemble 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, « topn » 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

Merci de vos commentaires !