Jointure des données - Amazon QuickSight

Important : nous avons repensé l'espace de travail d' QuickSight analyse Amazon. Il se peut que vous rencontriez des captures d'écran ou du texte procédural qui ne reflètent pas le nouveau look de la QuickSight console. Nous mettons à jour les captures d’écran et le texte des procédures.

Pour rechercher une fonctionnalité ou un élément, utilisez la barre de recherche rapide.

Pour plus d'informations sur QuickSight le nouveau look, consultez Présentation d'une nouvelle expérience d'analyse sur Amazon QuickSight.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Jointure des données

Vous pouvez utiliser l'interface de jointure d'Amazon QuickSight pour joindre des objets provenant d'une ou de plusieurs sources de données. En utilisant Amazon QuickSight pour joindre les données, vous pouvez fusionner des données disparates sans dupliquer les données provenant de différentes sources.

Types de jeux de données joints

Une jointure est effectuée entre deux tables QuickSight logiques, chaque table logique contenant des informations sur la manière de récupérer des données. Lorsque vous modifiez un jeu de données dans QuickSight, le diagramme de jointure situé dans la moitié supérieure de la page montre chaque table logique sous la forme d'un bloc rectangulaire.

Il existe deux types différents d'ensembles de données joints QuickSight : ceux provenant de sources identiques et ceux provenant de sources multiples. Un jeu de données est considéré comme étant de même source lorsqu'il ne comporte aucune jointure ou lorsque toutes les conditions suivantes sont remplies :

  • Si l'une des tables logiques fait référence à une source de QuickSight données :

    • Toutes les tables logiques de cet ensemble de données doivent faire référence à la même source de QuickSight données. Cela ne s'applique pas si deux sources de QuickSight données distinctes font référence à la même base de données sous-jacente. Il doit s'agir exactement de la même source de QuickSight données. Pour plus d'informations sur l'utilisation d'une source de données unique, consultez la rubrique Création d'un jeu de données à partir d'une source de données existante.

  • Si l'une des tables logiques fait référence à un QuickSight ensemble de données qui est un ensemble de données parent :

    • Le jeu de données parent doit utiliser l'interrogation directe.

    • L'ensemble de données parent doit faire référence à la même source de QuickSight données.

Si les conditions ci-dessus ne sont pas remplies, le jeu de données est considéré comme une jointure inter-sources.

Faits concernant la jonction de jeux de données

Les jointures de jeux de données de même source et de source croisée sont soumises aux limitations suivantes.

Quel est le nombre maximum de tables que peut contenir un jeu de données joint ?

Tous les jeux de données joints peuvent contenir jusqu'à 32 tables.

Quelle peut être la taille des données jointes ?

Les jeux de données de même source n'ont aucune restriction quant à la taille des données.

Avec les ensembles de données intersources, détecte QuickSight automatiquement la plus grande table logique du jeu de données, et la taille totale des autres tables logiques doit être inférieure à 1 Go. La taille logique de ces tables est recalculée chaque fois que votre jeu de données est actualisé dans SPICE.

Notez que la taille logique calculée lors d'une jointure est distincte de la logique de taille utilisée par SPICE. Un jeu de données SPICE d'une taille de 1,5 Go peut avoir une taille logique de 1 Go.

En outre, comme les jeux de données intersources doivent utiliser SPICE, ils doivent respecter les quotas et les limites de SPICE. Pour plus d’informations, consultez Quotas SPICE pour les données importées.

Un jeu de données joint peut-il utiliser l'interrogation directe ?

Les jeux de données de même source prennent en charge l'interrogation directe, à condition qu'il n'y ait pas d'autres restrictions sur l'utilisation de l'interrogation directe. Par exemple, les sources de données S3 ne prennent pas en charge l'interrogation directe, de sorte qu'un jeu de données S3 de même source doit quand même utiliser SPICE.

Les jeux de données intersources doivent utiliser SPICE.

Peut-on utiliser des champs calculés dans une jointure ?

Tous les jeux de données joints peuvent utiliser des champs calculés, mais les champs calculés ne peuvent pas être utilisés dans les clauses on.

Les données géographiques peuvent-elles être utilisées dans une jointure ?

Les jeux de données de même source prennent en charge les types de données géographiques, mais les champs géographiques ne peuvent pas être utilisés dans les clauses on.

Les jeux de données inter-sources ne prennent pas en charge les données géographiques sous quelque forme que ce soit.

Pour des exemples de jointure de tables entre différentes sources de données, consultez le QuickSight billet Joindre des sources de données sur Amazon sur le blog AWS Big Data.

Création d'une jointure

Utilisez la procédure suivante pour joindre des tables à utiliser dans un ensemble de données. Avant de commencer, importez ou connectez-vous à vos données. Vous pouvez créer une jointure entre toutes les sources de données prises en charge par Amazon QuickSight, à l'exception des données de l'Internet des objets (IoT). Par exemple, vous pouvez ajouter des fichiers de valeurs séparées par des virgules (.csv), des tables, des vues, des requêtes SQL ou des objets JSON dans un compartiment Amazon S3.

Pour ajouter une ou plusieurs jointures
  1. Ouvrez l'jeu de données avec lequel vous souhaitez travailler.

  2. (Facultatif) Avant de commencer, décidez si vous voulez désactiver l'aperçu autogénéré basé sur d'un échantillon de vos données. Pour désactiver cette fonction, choisissez Aperçu automatique en haut à droite. Elle est activée par défaut.

  3. Si vous n'avez pas encore choisi un mode d'interrogation, sélectionnez Mode d'interrogation.

    Choisissez SPICE pour stocker votre jeu de données dans SPICE, ou choisissez Requête directe pour obtenir des données en direct à chaque fois. Si votre jeu de données contient un ou plusieurs fichiers chargés manuellement, il est automatiquement stocké dans SPICE.

    Si vous le souhaitez SPICE, les données sont ingérées dans. QuickSight Les représentations visuelles qui utilisent le jeu de données exécutent des requêtes dans SPICE, plutôt que dans la base de données.

    Si vous choisissez Requête directe, les données ne sont pas ingérées dans SPICE. Les représentations visuelles qui utilisent le jeu de données exécutent des requêtes dans la base de données et non dans SPICE.

    Si vous choisissez Mode requête, veillez à définir des clés uniques dans la jointure, le cas échéant, afin d'améliorer les performances lors du chargement des représentations visuelles.

  4. Dans la page de préparation des données, choisissez Ajouter des données.

  5. Dans la page Ajouter des données qui s'ouvre, choisissez l'une des options suivantes et suivez les étapes ci-dessous :

    • Ajouter des données à partir d'un jeu de données :

      1. Sélectionnez Jeu de données.

      2. Sélectionnez un jeu de données dans la liste.

      3. Choisissez Select (Sélectionner).

    • Ajouter des données à partir d'une source de données :

      1. Choisissez Source de données.

      2. Sélectionnez une source de données dans la liste.

      3. Choisissez Select (Sélectionner).

      4. Sélectionnez une table dans la liste.

      5. Choisissez Select (Sélectionner).

    • Créez des auto-joints en ajoutant une table plusieurs fois. Un compteur apparaît après le nom. Vous verrez par exemple Produit, Produit (2) et Produit (3). Les noms des champs dans les sections Champs ou Filtres incluent le même compteur afin que vous puissiez savoir de quelle instance de la table un champ provient.

    • Ajoutez un nouveau fichier en sélectionnant Charger un fichier, puis choisissez le fichier que vous voulez joindre.

  6. (Facultatif) Choisissez Utiliser un SQL personnalisé pour ouvrir l'éditeur de requêtes et écrire une requête pour une source de données SQL.

  7. (Facultatif) Après avoir ajouté des données, interagissez avec chaque table en sélectionnant son icône de menu. Réorganisez les tables en les faisant glisser et en les déposant.

    Une icône avec des points rouges apparaît pour indiquer que vous devez configurer cette jointure. Deux points rouges apparaissent pour les jointures qui ne sont pas encore configurées. Pour créer des jointures, sélectionnez la première icône de configuration de jointure.

  8. (Facultatif) Pour modifier une jointure existante, rouvrez le volet Configuration de la jointure en sélectionnant l'icône de jointure entre deux tables.

    Le volet Configuration de la jointure s'ouvre. Sur l'interface de jointure, spécifiez le type de jointure et les champs à utiliser pour joindre les tables.

  9. Dans le bas de l'écran, apparaissent des options permettant de créer une équivalence entre un champ d'une table et un champ d'une autre table.

    1. Dans la section Join clauses (Clauses de jointure), choisissez la colonne de jointure pour chaque table.

      (Facultatif) Si les tables que vous avez sélectionnées sont jointes sur plusieurs colonnes, choisissez Add a new join clause (Ajouter une nouvelle clause de jointure). Une ligne s'ajoute alors aux clauses de jointure, vous permettant de spécifier l'ensemble suivant de colonnes à joindre. Répétez ce processus jusqu'à ce que vous ayez identifié toutes les colonnes de jointure pour les deux objets de données.

  10. Dans le panneau Configuration de jointure, choisissez le type de jointure à appliquer. Si les champs de jointure sont une clé unique pour l'une des tables ou les deux, activez le paramètre de clé unique. Les clés uniques ne s'appliquent qu'aux requêtes directes, et non aux données SPICE.

    Pour plus d'informations sur les jointures, consultez la rubrique Types de jointures.

  11. Choisissez Apply (Appliquer) pour confirmer vos choix.

    Pour annuler sans apporter de modifications, sélectionnez Annuler.

  12. L'icône de jointure de l'espace de travail change pour indiquer la nouvelle relation.

  13. (Facultatif) Dans la section Champs, vous pouvez utiliser le menu de chaque champ pour effectuer une ou plusieurs des opérations suivantes :

    • Ajouter une hiérarchie à un champ géospatial.

    • Inclure ou Exclure le champ.

    • Modifier le nom et la description du champ.

    • Modifier le type de données.

    • Ajouter un calcul (un champ calculé).

    • Limiter l'accès à moi uniquement, afin que vous soyez le seul à pouvoir le voir. Cela peut être utile lorsque vous ajoutez des champs à un jeu de données déjà utilisé.

  14. (Facultatif) Dans la section Filtres, vous pouvez ajouter ou modifier des filtres. Pour plus d’informations, consultez Filtrer les données sur Amazon QuickSight.

Types de jointures

Amazon QuickSight prend en charge les types de jointure suivants :

  • Jointures internes

  • Jointures externes à gauche et à droite

  • Jointures externes complètes

Regardons plus en détail ce que ces types de jointures font de vos données. Pour notre exemple, nous utiliserons les tables suivantes intitulées widget et safety rating.

SELECT * FROM safety-rating rating_id safety_rating 1 A+ 2 A 3 A- 4 B+ 5 B SELECT * FROM WIDGET widget_id widget safety_rating_id 1 WidgetA 3 2 WidgetB 1 3 WidgetC 1 4 WidgetD 2 5 WidgetE 6 WidgetF 5 7 WidgetG

Jointures internes

Utilisez une jointure interne ( ) pour ne voir que les données pour lesquelles il existe une correspondance entre les deux tables. Par exemple, supposez que vous effectuez une jointure interne sur les tables safety-rating et widget.

Dans l'ensemble de résultats suivant, les widgets dépourvus d'évaluations de sécurité ne sont pas affichés et les évaluations de sécurité qui ne sont pas associées à un widget ne sont pas affichées. Seules les lignes présentant une correspondance parfaite sont incluses.

SELECT * FROM safety-rating INNER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 3 A- 1 WidgetA 3 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 5 B 6 WidgetF 5

Jointures externes à gauche et à droite

On dit aussi jointures gauches ou droites. Utilisez une jointure externe à gauche ( ) ou à droite ( ) pour voir toutes les données d'une table, mais uniquement les lignes correspondantes de l'autre table.

Dans une interface graphique, vous pouvez voir quelle table est à droite ou à gauche. Dans une instruction SQL, la première table est considérée comme celle de gauche. Par conséquent, le choix d'une jointure externe à gauche ou d'une jointure externe à droite dépend uniquement de la façon dont les tables sont disposées dans votre outil de requête.

Par exemple, supposez que vous effectuez une jointure externe à gauche ( ) sur safety-rating (table de gauche) et widgets (table de droite). Dans ce cas, toutes les lignes de safety-rating sont renvoyées, mais seules les lignes correspondantes dans widget. Vous pouvez voir des vides dans le jeu de résultats lorsqu'il n'y a pas de données correspondantes.

SELECT * FROM safety-rating LEFT OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 3 A- 1 WidgetA 3 4 B+ 5 B 6 WidgetF 5

En revanche, si vous utilisez une jointure externe à droite ( ), appelez les tables dans le même ordre de sorte que safety-rating se trouve à gauche et widgets à droite. Dans ce cas, seules les lignes correspondantes de safety-rating sont renvoyées, alors que toutes les lignes de widget le sont. Vous pouvez voir des vides dans le jeu de résultats lorsqu'il n'y a pas de données correspondantes.

SELECT * FROM safety-rating RIGHT OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 3 A- 1 WidgetA 3 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 5 WidgetE 5 B 6 WidgetF 5 7 WidgetG

Jointures externes complètes

Ces jointures sont parfois simplement appelées jointures externes, mais ce terme peut faire référence à une jointure externe à gauche, à droite ou complète. Pour préciser la signification, nous utiliserons le nom complet : jointure externe complète.

Utilisez une jointure externe complète ( ) pour voir les données qui correspondent, plus les données des deux tables qui ne correspondent pas. Ce type de jointure inclut toutes les lignes des deux tables. Par exemple, si vous effectuez une jointure externe complète sur les tables safety-rating et widget, toutes les lignes sont renvoyées. Les lignes sont alignées aux endroits de correspondance et toutes les données supplémentaires sont placées sur des lignes distinctes. Vous pouvez voir des vides dans le jeu de résultats lorsqu'il n'y a pas de données correspondantes.

SELECT * FROM safety-rating FULL OUTER JOIN widget ON safety_rating.rating_id = widget.safety_rating_id rating_id safety_rating widget_id widget safety_rating_id 1 A+ 2 WidgetB 1 1 A+ 3 WidgetC 1 2 A 4 WidgetD 2 3 A- 1 WidgetA 3 4 B+ 5 B 6 WidgetF 5 5 WidgetE 7 WidgetG