Le relazioni vengono utilizzate per unire gli attributi di due o più dataset in base ai campi o alle posizioni comuni. Il campo comune identifica quali righe da tutti i dataset verranno uniti, e il tipo di relazione determina le righe che vengono mantenute nel dataset combinato.
Le relazioni possono essere utilizzate per aggiungere gli attributi di una tabella di ricerca a un altro dataset, per combinare gli attributi di due dataset affinché sia possibile eseguire diversi tipi di analisi e di attivare la posizione su tabelle non spaziali. Il dataset unito è mostrato come un dataset risultativo nella finestra dei dati e consente di espandere l'analisi utilizzando i dati da tutti i dataset uniti come un singolo layer.
Le Relazioni possono essere create come parte della tua analisi oppure come parte di un flusso lavorativo di ingegneria dei dati.
Esempio
Un tracciante di contatto per un'organizzazione sanitaria pubblica sta investigando un'epidemia di una malattia contagiosa. Il tracciatore di contatto ha accesso a una tabella di ricerca con dati dei casi (compresi i risultati dei test) e i dataset con le attività e le posizioni in cui i contatti sono avvenuti prima del test. I due dataset vengono combinati in modo tale che i dati dei casi vengano aggiunti ai dati della posizione. Utilizzando il dataset combinato, il tracciatore di contatto può creare una tabella di riferimento che mostra il caso, l'attività, la data dell'attività e il risultato del test, assieme a una mappa ad albero che mostra i risultati del test e il numero di attività per qualsiasi caso.
Visualizzare la lezione Traccia il diffondersi del virus con ArcGIS Insights per il flusso di lavoro completo.
Crea una relazione in un flusso di analisi.
Le relazioni create in un flusso di analisi esistono solo nella cartella di lavoro in cui l'unione è stata creata. Se vuoi che il dataset del risultato esista al di fuori della cartella di lavoro, puoi creare un nuovo strato funzionale condividendo il dataset oppure utilizzando l' ingegneria dei dati.
Completa i seguenti passaggi per creare una relazione in un flusso di analisi:
- Apri una cartella di lavoro e aggiungi due o più dataset, se necessario.
- Clicca sul tasto Crea relazioni al di sopra della finestra dei dati.
La finestra Crea relazioni appare e mostra una lista di dataset per la tua pagina attuale.
- Seleziona il primo dataset che vuoi unire.
Quando si seleziona il primo dataset, la vista viene aggiornata in modo da mostrare solo i dataset che sono idonei a una relazione.
- Seleziona il secondo dataset che vuoi unire.
Insights analizza i dataset che hai aggiunto e suggerisce i campi da usare per l'unione, se possibile. I campi suggeriti sono basati sulla tipologia di dati contenuti nel campo e sul nome del campo.
- Clicca sul tasto Modifica relazione per cambiare le proprietà delle relazioni:
Nota:
Se nessun campo suggerito viene scelto, la finestra di dialogo si apre automaticamente.
- Per cambiare i campi nell'unione, cliccare sulle frecce per i box nel parametro Seleziona campi e seleziona un nuovo campo.
- Per aggiungere campi (per esempio, quando il dataset utilizza un tasto composito), clicca sul tasto Aggiungi campi e scegli i nuovi campi dal menu.
- Per cambiare il tipo di unione, seleziona, Interna (default), Tutto, A Sinistra, o A Destra dal parametro Scegli tipo di relazione.
- Chiudi la finestra Modifica relazione .
- Ripetere i passaggi da 4 a 6 per aggiungere dataset, se necessario.
- Clicca su Finisci per creare la relazione.
Il dataset nuovo è aggiunto alla finestra dei dati.
Crea una relazione con l'ingegneria dei dati
Nota:
Ingegneria dei Dati disponibile in Insights desktop. Tutti gli utenti di Insights in ArcGIS Online e Insights in ArcGIS Enterprise hanno accesso a Insights desktop. Per ulteriori informazioni, consultare Introduzione a ArcGIS Insights.
L'ingegneria dati è al momento in anteprima.
Lo strumento Crea relazioni può essere aggiunto a un modello dati e utilizzato per unire due o più dataset per creare un singolo dataset di output.
Completa le fasi seguenti per creare una relazione in un flusso di ingegneria dei dati:
- Aprire una cartella di lavoro dei dati in Insights desktop e aggiungere dati, se necessario.
- Nella barra degli strumenti della cartella di lavoro dei dati, fai clic sul pulsante Crea relazioni .
La finestra Crea relazioni appare.
- Nella barra degli strumenti laterale, fai clic sul pulsante Riquadro dati per aprire il riquadro dei dati, se necessario.
- Nel riquadro dei dati, seleziona il primo dataset da unire.
- Seleziona il secondo dataset che vuoi unire.
Insights analizza i dataset che hai aggiunto e suggerisce colonne da usare per l'unione, se possibile. Le colonne suggerite si basano sul tipo di dati che la colonna contiene e il nome della colonna.
- Clicca sul tasto Modifica relazione per cambiare le proprietà delle relazioni:
Nota:
Se nessuna colonna suggerita viene scelta, la finestra di dialogo si apre automaticamente.
- Per cambiare le colonne nell'unione, clicca le frecce per i box nel parametro Seleziona colonne e seleziona una nuova colonna.
- Per aggiungere colonne (per esempio, quando il dataset usa un tasto composito), clicca sul tasto Aggiungi colonne e scegli nuove colonne dal menu.
- Per cambiare il tipo di unione, seleziona, Interna (default), Tutto, A Sinistra, o A Destra dal parametro Scegli tipo di relazione.
- Chiudi la finestra Modifica relazione .
- Ripetere i passaggi da 5 a 7 per aggiungere dataset, se necessario.
- Facoltativamente, fare clic su Anteprima per creare una visualizzazione del dataset del risultato in base ai parametri di unione attuali.
- Clicca su Finisci per creare la relazione.
Il dataset nuovo è aggiunto alla finestra dei dati e la tabella appare. Lo strumento viene aggiunto al modello dati.
Dati supportati
I seguenti tipi di dati possono essere utilizzati per creare relazioni:
- Feature layer
- File aggiunti alla cartella di lavoro
- Dataset da una connessione a database (disponibili in Insights in ArcGIS Enterprise e Insights desktop)
- Dataset di risultati da analisi spaziale, inclusi i risultati di tipi di dati non supportati
Le query di definizione nei feature service non sono supportate per la creazione di relazioni. I dati nella cartella di lavoro non supportati per le relazioni saranno disabilitati nella finestra Crea relazioni.
Nota:
Le relazioni non sono supportate nei flussi di analisi per le seguenti risorse di dati:
- I feature layer remoti, come i layer ArcGIS Living Atlas
- Le tabelle del database che non appartengono allo stesso database e alla stessa istanza.
- Dataset da diversi Data Store
Se i tuoi dataset non sono compatibili con l'unione di un flusso dati, puoi copiare i dataset nella cartella di lavoro e utilizzare i dataset copiati per creare la relazione. In alternativa, è possibile unire i dataset da database o banche dati diverse tramite l'ingegneria dei dati.
Tipi di relazione
Il tipo di relazione utilizzato, insieme al campo comune scelto, determina i record che vengono mantenuti nel dataset unito. I tipi di relazione supportati in Insights sono Interna, Tutta, A Sinistra, e A Destra.
Nota:
I join spaziali (join creati utilizzando campi di posizione) vengono creati utilizzando Intersecz come relazione spaziale. Tuttavia, è possibile selezionare Interna, Tutto, A sinistra o A destra come tipo di relazione.
Le sottosezioni seguenti forniscono i risultati dell'unione di due tabelle tramite un campo comune per ogni tipo di relazione.
La prima tabella (Ordini) traccia le transazioni da diversi rami. La tabella include un ID unico per qualsiasi transazione, l'ID del ramo in cui la transazione è avvenuta, il costo della transazione in dollari e il metodo di pagamento.
Ordini
ID Ordine | ID Ramo | Quantità totale ($) | Metodo di pagamento |
---|---|---|---|
1204 | 1 | 91,48 | Credito |
1295 | 1 | 103,86 | Credito |
1316 | 3 | 97,81 | Carta di debito |
1406 | 2 | 103,24 | Credito |
1421 | 2 | 44,95 | Contanti |
1426 | 2 | 153,71 | Carta di debito |
1454 | 3 | 168,95 | Credito |
1533 | 7 | 32,99 | Contanti |
La seconda tabella (Rami) è una tabella di ricerca contenente i numeri degli ID dei rami e le posizioni dei rami.
Rami
ID Ramo | Posizione ramo |
---|---|
1 | Redlands |
2 | Portland |
3 | Washington, DC |
4 | Arlington |
5 | Charlotte |
6 | Denver |
Il campo ID Ramo è condiviso fra le due tabelle ed è utilizzato per creare l'unione. In ogni esempio, la tabella degli Ordini è a sinistra dell'unione.
Interno
La relazione Interna mantiene solo i record che soddisfano entrambi i dataset. I record Null non vengono aggiunti.
La tipologia di relazione, impostata di default, è Interna.
La seguente tabella mostra il risultato di un'unione con una tipologia di relazione Interna fra le tabelle degli Ordini e dei Rami:
ID Ordine | ID Ramo | Quantità totale ($) | Metodo di pagamento | Posizione ramo |
---|---|---|---|---|
1204 | 1 | 91,48 | Credito | Redlands |
1295 | 1 | 103,86 | Credito | Redlands |
1316 | 3 | 97,81 | Carta di debito | Washington, DC |
1406 | 2 | 103,24 | Credito | Portland |
1421 | 2 | 44,95 | Contanti | Portland |
1426 | 2 | 153,71 | Carta di debito | Portland |
1454 | 3 | 168,95 | Credito | Washington, DC |
I registri che sono stati esclusi erano registri per l'ID Ramo 7 dalla tabella degli Ordini e l'ID Ramo 4, 5, e 6 dalla tabella Rami perché quei registri non esistevano in entrambi i rami.
Completa
La tipologia di relazione Intera (join esterno completo) mantiene tutti i record di entrambi i dataset e aggiunge valori null dove non ci sono corrispondenze.
La seguente tabella mostra il risultato di un join con una tipologia di relazione Intera fra le tabelle degli Ordini e dei Rami:
ID Ordine | ID Ramo | Quantità totale ($) | Metodo di pagamento | Posizione ramo |
---|---|---|---|---|
<Null> | 4 | <Null> | Arlington | |
<Null> | 5 | <Null> | Charlotte | |
<Null> | 6 | <Null> | Denver | |
1204 | 1 | 91,48 | Credito | Redlands |
1295 | 1 | 103,86 | Credito | Redlands |
1316 | 3 | 97,81 | Carta di debito | Washington, DC |
1406 | 2 | 103,24 | Credito | Portland |
1421 | 2 | 44,95 | Contanti | Portland |
1426 | 2 | 153,71 | Carta di debito | Portland |
1454 | 3 | 168,95 | Credito | Washington, DC |
1533 | 7 | 32,99 | Contanti | <Null> |
Il dataset risultante contiene i valori null per l'ID ramo 4, 5, 6, e 7 perché quegli ID ramo non sono presenti in entrambi i dataset.
Sinistra
Il tipo di relazione A sinistra mantiene tutti i record della tabella di sinistra e i record corrispondenti della tabella di destra. Quando nessun valore corrispondente esiste nella tabella destra, vengono usati valori null.
Quando si utilizza il tipo di relazione A Sinistra è necessario verificare che il dataset di cui si desidera mantenere i record si trovi sul lato sinistro dell'unione selezionando per prima questa tabella.
La seguente tabella mostra il risultato di un join con una tipologia di relazione A Sinistra fra le tabelle degli ordini e dei rami:
ID Ordine | ID Ramo | Quantità totale ($) | Metodo di pagamento | Posizione ramo |
---|---|---|---|---|
1204 | 1 | 91,48 | Credito | Redlands |
1295 | 1 | 103,86 | Credito | Redlands |
1316 | 3 | 97,81 | Carta di debito | Washington, DC |
1406 | 2 | 103,24 | Credito | Portland |
1421 | 2 | 44,95 | Contanti | Portland |
1426 | 2 | 153,71 | Carta di debito | Portland |
1454 | 3 | 168,95 | Credito | Washington, DC |
1533 | 7 | 32,99 | Contanti | <Null> |
Il dataset risultante contiene i valori null per l'ID ramo 7 perché quell'ID ramo non è presente nel dataset Rami.
Destra
Il tipo di relazione A Destra (join esterno destro) mantiene tutti i record della tabella di destra e i record corrispondenti della tabella di sinistra. Quando nessun valore corrispondente esiste nella tabella sinistra, vengono usati valori null.
Quando si utilizza il tipo di relazione A Destra è necessario verificare che il dataset di cui si desidera mantenere i record si trovi sul lato destro dell'unione selezionando per seconda questa tabella.
La seguente tabella mostra il risultato di un join con una tipologia di relazione A Destra fra le tabelle degli ordini e dei rami:
ID Ordine | Quantità totale ($) | Metodo di pagamento | ID Ramo | Posizione ramo |
---|---|---|---|---|
<Null> | <Null> | 4 | Arlington | |
<Null> | <Null> | 5 | Charlotte | |
<Null> | <Null> | 6 | Denver | |
1204 | 91,48 | Credito | 1 | Redlands |
1295 | 103,86 | Credito | 1 | Redlands |
1316 | 97,81 | Carta di debito | 3 | Washington, DC |
1406 | 103,24 | Credito | 2 | Portland |
1421 | 44,95 | Contanti | 2 | Portland |
1426 | 153,71 | Carta di debito | 2 | Portland |
1454 | 168,95 | Credito | 3 | Washington, DC |
Il dataset risultante contiene i valori null per l'ID ramo 4, 5, e 6, perché quegli ID ramo non sono presenti nel dataset Ordini.
Limitazioni
È possibile specificare fino a sei paia di cambi per i join degli attributi. Per i join spaziali, è possibile specificare un paio di campi di posizione e nessun altro campo.
Procedure consigliate
Si consiglia di posizionare il dataset più dettagliato sul lato sinistro del join. Nell' esempio del tipo di relazione, la tabella degli ordini è a sinistra.
Utilizza campi molteplici per creare join quando un campo singolo non è unico. Ad esempio, se si unisce CityName a CityName, potrebbe essere necessario specificare anche la contea, lo stato e il paese perché i valori in CityName sono duplicati nel dataset.
Considera la cardinalità (uno-a-uno, uno-a-molti o molti-a-molti) di un join quando decidi quali visualizzazioni creare con il dataset unito. La Cardinalità non influenza il tipo di relazione (interna, intera, a destra o a sinistra), ma ha implicazioni per l'aggregazione dei campi nel dataset unito o la mostra dei campi sulla tua mappa. Per esempio, se i dataset uniti hanno una relazione uno-a-molti o molti-a-molti, le visualizzazioni che aggregano i dati, come i grafici a barre, potrebbero mostrare statistiche artificialmente elevate.