View a markdown version of this page

Définition des relations entre les ensembles de données d'une rubrique - Amazon Quick

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.

Définition des relations entre les ensembles de données d'une rubrique

 S’applique à : édition Enterprise 
   Public cible : administrateurs et auteurs d'Amazon Quick 

Les relations indiquent à Quick Sight comment joindre des ensembles de données lorsqu'une question ou un élément visuel couvre plusieurs tableaux. Vous définissez les relations en spécifiant des clés de jointure entre des paires de jeux de données à l'aide d'un fichier de configuration JSON.

Le graphe de relations doit être un graphe acyclique orienté (DAG) ; les relations circulaires ne sont pas prises en charge. Nous vous recommandons de modéliser vos ensembles de données dans un schéma en étoile avec une ou plusieurs tables de faits centrales jointes à des tables de dimensions partagées.

Pour définir les relations entre les ensembles de données
  1. Ouvrez la rubrique que vous souhaitez configurer.

  2. Accédez à l'onglet Relations.

    Éditeur de rubriques affichant l'onglet Relations avec six ensembles de données répertoriés : PRODUCT_DIM, CUSTOMER_DIM, DATE_DIM, SALES_FACT, RETURN_FACT et STORE_DIM.
  3. Choisissez Charger un fichier ou Créer manuellement.

    L'onglet Relations affiche les boutons Charger un fichier et Créer manuellement, avec les types de fichiers pris en charge YAML et JSON indiqués.
  4. Téléchargez un fichier JSON définissant vos relations (voir l'exemple suivant). Après le téléchargement, le graphique de relation s'affiche visuellement à gauche et les détails des clés de jointure apparaissent à droite. Sélectionnez une jointure pour vérifier le mappage des relations.

    Graphique de relation montrant SALES_FACT et RETURN_FACT sous forme de tables de faits centrales connectées à PRODUCT_DIM, CUSTOMER_DIM, DATE_DIM et STORE_DIM avec des clés de jointure affichées sur le panneau de droite.
  5. Pour modifier une relation, choisissez Modifier, mettez à jour les colonnes de jointure à l'aide des sélecteurs déroulants, puis choisissez Enregistrer.

    Mode d'édition des relations affichant des listes déroulantes de colonnes de jointure modifiables pour chaque paire de jeux de données, avec les boutons Annuler et Enregistrer en haut à droite.

Format JSON de relation

L'exemple suivant montre une configuration de schéma en étoile avec une table SALES_FACT centrale jointe à des tables de dimensions :

{ "datasetPairs": [ { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["CUSTOMER_ID"] }, "datasetRight": { "datasetName": "CUSTOMER_DIM", "joinColumnNames": ["CUSTOMER_ID"] } }, { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["PRODUCT_ID"] }, "datasetRight": { "datasetName": "PRODUCT_DIM", "joinColumnNames": ["PRODUCT_ID"] } }, { "datasetLeft": { "datasetName": "SALES_FACT", "joinColumnNames": ["STORE_ID"] }, "datasetRight": { "datasetName": "STORE_DIM", "joinColumnNames": ["STORE_ID"] } } ] }

Chaque entrée de datasetPairs spécifie une paire de jeux de données et les colonnes utilisées pour les joindre. Les clés composites sont prises en charge en incluant plusieurs noms de colonnes dans le joinColumnNames tableau.

Meilleures pratiques en matière de relations

  • Commencez par un schéma en étoile. Une table d'informations centrale entourée de tables de dimensions minimise la complexité des jointures et optimise les performances des requêtes.

  • Utilisez des touches de jointure propres. Utilisez des clés de substitution entières dans la mesure du possible. Vérifiez les types de données correspondants des deux côtés. Supprimez les valeurs nulles des colonnes clés de jointure (les valeurs nulles ne correspondent jamais dans les jointures internes).

  • Validez l'intégrité référentielle. Chaque clé étrangère de la table de faits doit figurer dans la table de dimensions.

  • Évitez les joints circulaires. Le graphe de relation doit être acyclique. Si votre modèle crée un cycle, interrompez-le en supprimant une branche et en dénormalisant le chemin redondant.

  • Pre-join chaînes en forme de flocons de neige lorsque c'est possible. Si une dimension comporte des sous-dimensions (par exemple, Client → Géographie → Région), pensez à les aplatir dans un jeu de données à dimension unique afin de réduire les sauts de jointure.

Limitations actuelles

Les limites suivantes s'appliquent aux relations définies :

  • Les relations utilisent la sémantique des jointures internes pour les feuilles d'analyse. Seules les lignes dont les clés correspondent aux deux ensembles de données apparaissent dans les résultats.

  • Le graphe de relations doit être acyclique (pas de jointures circulaires).

  • Self-relationships (un ensemble de données lié à lui-même) ne sont pas pris en charge.

  • Tous les ensembles de données d'une rubrique doivent utiliser le même mode de requête (SPICEou Requête directe).

  • Un sujet ne peut pas dépasser 12 ensembles de données.

Note

Lorsque vous utilisez des sujets dans Amazon Quick Chat, l'agent de LLM-powered chat n'est pas limité aux jointures internes. Il peut générer du code SQL avec des jointures gauches, des jointures externes, des unions et des sous-requêtes en fonction de vos instructions personnalisées. Ces limites de type de jointure s'appliquent uniquement au chemin de consommation de la feuille d'analyse.