Les relations permettent de joindre des attributs de deux jeux de données ou plus en fonction de champs ou emplacements communs. Les relations peuvent être utilisées pour ajouter des attributs d'une table de référence à un autre jeu de données, pour combiner des attributs de deux jeux de données afin d'autoriser différents types d'analyse et pour activer l'emplacement dans des tables non spatiales.
Pour créer une relation dans ArcGIS Insights, vous devez ajouter deux jeux de données pris en charge ou plus avec des champs communs sur votre page.
A propos des relations
Insights permet de joindre des données provenant de deux jeux de données ou plus grâce à un champ ou un emplacement commun dans la fenêtre Create Relationships (Créer des relations). Par exemple, vous pouvez associer un jeu de données de transactions commerciales à un jeu de données contenant des informations sur des magasins en identifiant un champ commun (par exemple, le nombre de magasins). Le champ commun identifie les lignes de chaque jeu de données qui sont jointes les unes aux autres, et le type de relation détermine quelles lignes sont conservées dans le jeu de données joint.
Les quatre types de relations que vous pouvez utiliser pour joindre vos jeux de données sont les suivantes :
- Interne
- Tout (jointure extérieure complète)
- Gauche (jointure extérieure gauche)
- Droite (jointure extérieure droite)
Remarque :
Les jointures spatiales (jointures réalisées avec des champs d’emplacement) seront créées avec la relation spatiale Intersecte. Vous pouvez toutefois sélectionner le type de relation Interne, Tout, Gauche ou Droite.
Le jeu de données joint s’affiche en tant que jeu de données de résultat dans la fenêtre de données. Le jeu de données joint vous permet de développer votre analyse en utilisant les données de tous les jeux de données joints en tant que couche unique.
Dans le contexte d'un jeu de données joint, la cardinalité fait référence à la relation entre les jeux de données. Dans la fenêtre Créer des relations, prenez en compte la cardinalité entre les jeux de données, qui peut être une relation un vers un, plusieurs vers un ou plusieurs vers plusieurs. La cardinalité n’affecte en rien le type de relation que vous créez, mais elle a des incidences sur les champs que vous voudrez peut-être agréger dans le jeu de données joint ou le champ que vous choisissez d’afficher sur votre carte.
Insights suggère également un champ commun lorsque vous sélectionnez les jeux de données que vous souhaitez joindre. Si aucun champ n’est suggéré, vous pouvez sélectionner les champs à utiliser pour la relation.
Données prises en charge
Vous pouvez utiliser les types de données suivants pour créer des relations :
- Couches d’entités hébergées
- Fichiers ajoutés à votre classeur
- Jeux de données provenant d’une connexion (disponible dans Insights in ArcGIS Enterprise et dans Insights desktop)
- Jeux de données de résultat de l’analyse spatiale, notamment les résultats de types de données non pris en charge
Les ensembles de définition des services d’entités ne sont pas pris en charge pour la création de relations. Les données de votre classeur qui ne sont pas prises en charge pour les relations seront désactivées dans la fenêtre Create Relationships (Créer des relations).
Remarque :
Les relations ne peuvent pas être créées avec des couches d’entités distantes, telles que les couches ArcGIS Living Atlas.
Les jeux de données de base de données doivent provenir de la même base de données et de la même instance pour être compatibles en matière de jointure. Les autres jeux de données doivent être stockés dans le même répertoire de données pour être joints.
Si vos jeux de données ne peuvent pas être joints ou s’ils sont stockés dans des répertoires de données distincts, vous pouvez copier les jeux de données dans votre classeur et utiliser les jeux de données copiés pour créer la relation.
Créer une relation
Pour découvrir comment créer une relation pour joindre des jeux de données, vous pouvez appliquer la procédure suivante ou suivre un exemple de cas d'utilisation qui vous guidera dans le processus et qui présente des descriptions et des résultats pour chaque type de relation.
- Cliquez sur le bouton Create Relationships (Créer des relations) situé au-dessus de la fenêtre de données.
La fenêtre Créer des relations apparaît et affiche une liste de jeux de données de votre page actuelle sous Mes données.
- Sous Mes données, cliquez sur un ou plusieurs données que vous souhaitez joindre.
Remarque :
Si vous prévoyez d'utiliser les types de relation Gauche ou Droite , vérifiez que le jeu de données devant se trouver à gauche ou à droite soit bien placé. Le premier jeu de données que vous choisissez apparaît à gauche une fois que vous l'avez ajouté à la page.Conseil :
Une meilleure pratique consiste à placer le jeu de données doté du niveau de détail le plus fin à gauche. Dans l'exemple de cas d'utilisation présenté ci-après, le jeu de données StoreTransactions doit se trouver sur la gauche.
Lorsque vous sélectionnez le premier jeu de donnée, la vue est mise à jour pour afficher uniquement les jeux de données éligibles pour une relation.
Insights analyse les jeux de données que vous avez ajoutés et suggère un champ à utiliser pour la jointure d’après le type de données que le champ contient et le nom du champ. Si un champ est suggéré, les miniatures qui représentent chaque jeu de données sont jointes par une ligne, et le champ suggéré apparaît sur chaque miniature.
- Effectuez l'une des opérations suivantes :
- Si le champ suggéré est acceptable et que vous souhaitez utiliser le type de relation par défaut (Interne), passez à l’étape finale.
- Pour utiliser un champ différent, ajoutez un autre champ à joindre ou sélectionnez un type de relation différent, puis passez à l'étape suivante.
- Si aucun champ commun n'a été détecté, une ligne apparaît entre vos miniatures de jeu de données et la fenêtre Create Relationship (Créer une relation) s'affiche dans laquelle vous pouvez choisir les champs communs. Passez à l’étape 5.
- Pour modifier les propriétés de la relation, par exemple pour sélectionner un champ différent, ajouter d'autres champs à joindre ou changer le type de relation, cliquez sur le bouton Modifier la relation sur la ligne de relation qui relie les miniatures des jeux de données.
- Choisissez un champ différent dans l'un des jeux de données ou choisissez un type de relation différent, puis fermez la boîte de dialogue des propriétés de relation ou cliquez en dehors.
- Facultatif : si la relation nécessite une clé composite, vous pouvez ajouter d'autres champs en cliquant sur le bouton Ajouter des champs sous Choisir des champs.
Par exemple, si vous joignez CityName à CityName, vous devrez peut-être préciser une région, un état ou un pays, car les valeurs du champ CityName sont dupliquées dans le jeu de données.
- Effectuez l'une des opérations suivantes :
- Cliquez sur Terminer (en bas à droite) pour poursuivre la relation.
- Cliquez sur Annuler pour annuler la relation actuelle.
Lorsque vous cliquez sur Terminer, la fenêtre Créer des relations se ferme. Un nouveau jeu de données de résultat avec les données jointes est ajouté à la fenêtre de données.
Exemple de cas d'utilisation
Cette section présente un exemple de cas d'utilisation qui montre comment créer une relation entre deux jeux de données qui répond à des questions spécifiques, ainsi que la façon dont chaque type de relation affecte les données du jeu de données joint.
Ces questions sont les suivantes :
- Quelles sont les recettes commerciales par magasin ?
- Où est situé le magasin au plus fort revenu brut de la ville ?
Deux jeux de données sur la page du classeur peuvent aider à répondre à cette question. Le premier est le tableau Excel suivant, qui présente les transactions de trois magasins :
OrderID | StoreID | TotalAmount | PaymentMethod |
---|---|---|---|
1204 | 1 | $91.48 | Crédit |
1295 | 1 | $103.86 | Crédit |
1316 | 3 | $97.81 | Debit |
1406 | 2 | $103.24 | Crédit |
1421 | 2 | $44.95 | Cash |
1426 | 2 | $153.71 | Debit |
1454 | 3 | $168.95 | Crédit |
Le jeu de données StoreTransactions peut à lui seul offrir une synthèse de TotalAmount par StoreID (si vous changez StoreID en un champ de type chaîne et que vous créez un diagramme à barres), mais un rapport présentant TotalAmount par nom de magasin est préférable dans un souci de clarté pour partager les résultats de l'analyse avec d'autres équipes au sein de l'organisation.
En outre, le jeu de données StoreTransactions ne peut pas afficher les emplacements de magasins sur une carte.
Le second jeu de données présente les six emplacements de magasins suivants :
StoreID | StoreName |
---|---|
1 | Paniers et boîtes |
2 | Jouets ! Jouets ! Jouets ! |
3 | Plantes de Robert |
4 | Librairie et café d’Aisha |
5 | Gadgets et trucs |
6 | Matériel et construction de Sally |
Ces jeux de données assurent le suivi des données à deux niveaux de détail différents. Le premier jeu de données présente les données au niveau de la transaction, qui est plus détaillé que le deuxième tableau, qui présente les données au niveau du magasin.
En conséquence, des doublons d'enregistrements (lignes) sont présents dans la colonne StoreID de StoreTransactions, tandis que la colonne StoreID de StoreLocations ne contient que des enregistrements uniques. Chaque magasin réalise un grand nombre de transactions. C'est ce que l'on désigne par le terme de« relation plusieurs à un », un type de cardinalité particulier entre les jeux de données.
Lorsque l’on observe les données, il est évident que StoreID est le meilleur champ à utiliser pour créer une relation entre ces deux jeux de données.
Pour répondre aux questions que soulève ce cas d'utilisation, vous avez besoin des éléments suivants :
- Tenir compte de l'effet de chacun des types de relation sur le jeu de données joint résultant.
- Suivez les instructions présentées dans la rubrique Créer une relation (ci-dessus) pour créer la relation la mieux adaptée aux jeux de données en entrée.
- Visualisez les données jointes pour répondre aux questions.
- En utilisant les champs StoreName et TotalAmount du jeu de données joint, créez un diagramme à barres ou un tableau de synthèse pour agréger les champs. Les ventes sont agrégées par nom de magasin.
- Créez une carte de symboles gradués à l'aide du champ TotalAmount.
Types de relations
Le type de relation que vous utilisez, ainsi que le champ commun que vous choisissez, déterminent les enregistrements que vous conservez dans le jeu de données joint. Les sous-sections suivantes examinent l'aspect du jeu de données joint par type de relation.
Type de relation interne
Si vous avez utilisé le type de relation par défaut lorsque vous avez suivi les étapes de la rubrique Créer une relation (ci-dessus), le jeu de données joint utilise le type de relation interne.
Cette relation conserve uniquement les enregistrements correspondant aux deux jeux de données. Les enregistrements null ne sont pas ajoutés.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Crédit | 1 | Paniers et boîtes |
1295 | 1 | $103.86 | Crédit | 1 | Paniers et boîtes |
1316 | 3 | $97.81 | Debit | 3 | Plantes de Robert |
1406 | 2 | $103.24 | Crédit | 2 | Jouets ! Jouets ! Jouets ! |
1421 | 2 | $44.95 | Cash | 2 | Jouets ! Jouets ! Jouets ! |
1426 | 2 | $153.71 | Debit | 2 | Jouets ! Jouets ! Jouets ! |
1454 | 3 | $168.95 | Crédit | 3 | Plantes de Robert |
Les enregistrements exclus correspondaient au StoreID 4 à 6 du jeu de données StoreLocations.
Il est judicieux d'utiliser le type de relation par défaut pour apporter des réponses aux questions de l'exemple de cas d'utilisation ci-dessus. Le type de relation interne fournit des données qui n’affichent pas les valeurs nulles lorsque vous consultez vos données.
Type de relation Tout
Le type de relation Tout (jointure extérieure complète) conserve tous les enregistrements des deux jeux de données et traite les enregistrements sans correspondance comme des valeurs null.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Crédit | 1 | Paniers et boîtes |
1295 | 1 | $103.86 | Crédit | 1 | Paniers et boîtes |
1316 | 3 | $97.81 | Debit | 3 | Plantes de Robert |
1406 | 2 | $103.24 | Crédit | 2 | Jouets ! Jouets ! Jouets ! |
1421 | 2 | $44.95 | Cash | 2 | Jouets ! Jouets ! Jouets ! |
1426 | 2 | $153.71 | Debit | 2 | Jouets ! Jouets ! Jouets ! |
1454 | 3 | $168.95 | Crédit | 3 | Plantes de Robert |
5 | Gadgets et trucs | ||||
6 | Matériel et construction de Sally | ||||
4 | Librairie et café d’Aisha |
Le jeu de données qui en résulte contient des valeurs null dans les colonnes provenant du jeu de données de gauche (StoreTransactions) pour les enregistrements correspondant aux StoreID 4, 5 et 6 du jeu de données de droite (StoreLocations). La raison en est qu'il n'existe aucun enregistrement correspondant pour ces identifiants de magasin dans le jeu de données de gauche.
Type de relation Gauche
Lorsque vous utilisez le type de relation Gauche (jointure extérieure gauche), vous devez vous assurer que le jeu de données duquel vous voulez conserver les enregistrements se trouve sur le côté gauche de la fenêtre Créer des relations, en sélectionnant d'abord ce jeu de données. Reportez-vous à la rubrique Créer une relation pour plus d'informations.
Les enregistrements qui correspondent à ceux provenant du jeu de données de gauche (StoreTransactions) sont conservés, ainsi que les enregistrements correspondants du jeu de données de droite (StoreLocations). Si aucune correspondance n'est trouvée à droite, le côté droit contient des valeurs null.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Crédit | 1 | Paniers et boîtes |
1295 | 1 | $103.86 | Crédit | 1 | Paniers et boîtes |
1316 | 3 | $97.81 | Debit | 3 | Plantes de Robert |
1406 | 2 | $103.24 | Crédit | 2 | Jouets ! Jouets ! Jouets ! |
1421 | 2 | $44.95 | Cash | 2 | Jouets ! Jouets ! Jouets ! |
1426 | 2 | $153.71 | Debit | 2 | Jouets ! Jouets ! Jouets ! |
1454 | 3 | $168.95 | Crédit | 3 | Plantes de Robert |
Le jeu de données joint ressemble exactement au type de relation interne. Pour répondre aux questions soulevées par l’exemple de cas d’utilisation, vous pouvez utiliser le type de relation gauche ou interne pour créer une relation entre les deux tables, puis créer un diagramme à barres, qui ne présente pas les valeurs nulles.
Si le côté gauche (StoreTransactions) contenait un enregistrement pour StoreID 7, qui ne se trouve pas dans le jeu de données de droite (StoreLocations), une jointure Gauche présenterait des valeurs null sur la droite.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Crédit | 1 | Paniers et boîtes |
1295 | 1 | $103.86 | Crédit | 1 | Paniers et boîtes |
1316 | 3 | $97.81 | Debit | 3 | Plantes de Robert |
1406 | 2 | $103.24 | Crédit | 2 | Jouets ! Jouets ! Jouets ! |
1421 | 2 | $44.95 | Cash | 2 | Jouets ! Jouets ! Jouets ! |
1426 | 2 | $153.71 | Debit | 2 | Jouets ! Jouets ! Jouets ! |
1454 | 3 | $168.95 | Crédit | 3 | Plantes de Robert |
1502 | 7 | $112.65 | Cash |
Type de relation Droite
Lorsque vous utilisez le type de relation Droite (jointure extérieure droite), vous devez vous assurer que le jeu de données duquel vous voulez conserver les enregistrements se trouve sur le côté droit de la fenêtre Créer des relations, en sélectionnant d'abord de jeu de données de gauche, puis le jeu de données de droite. Reportez-vous à la rubrique Créer une relation pour plus d'informations.
Les enregistrements qui correspondent à ceux provenant du jeu de données de droite (StoreLocations) sont conservés, ainsi que les enregistrements correspondants du jeu de données de gauche (StoreTransactions). Si aucune correspondance n'est trouvée à gauche, le côté gauche contient des valeurs null.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Crédit | 1 | Paniers et boîtes |
1295 | 1 | $103.86 | Crédit | 1 | Paniers et boîtes |
1316 | 3 | $97.81 | Debit | 3 | Plantes de Robert |
1406 | 2 | $103.24 | Crédit | 2 | Jouets ! Jouets ! Jouets ! |
1421 | 2 | $44.95 | Cash | 2 | Jouets ! Jouets ! Jouets ! |
1426 | 2 | $153.71 | Debit | 2 | Jouets ! Jouets ! Jouets ! |
1454 | 3 | $168.95 | Crédit | 3 | Plantes de Robert |
5 | Gadgets et trucs | ||||
6 | Matériel et construction de Sally | ||||
4 | Librairie et café d’Aisha |
Le diagramme à barres résultant du jeu de données joint à droite ci-dessus contiendrait des valeurs null.
Vous avez un commentaire à formuler concernant cette rubrique ?