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
-
Ouvrez la rubrique que vous souhaitez configurer.
-
Accédez à l'onglet Relations.
-
Choisissez Charger un fichier ou Créer manuellement.
-
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.
-
Pour modifier une relation, choisissez Modifier, mettez à jour les colonnes de jointure à l'aide des sélecteurs déroulants, puis choisissez Enregistrer.
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.