Creare relazioni per unire i dataset

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights desktop

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 Risultati 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:

  1. Apri una cartella di lavoro e aggiungi due o più dataset, se necessario.
  2. Clicca sul tasto Crea relazioni 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.

  3. 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.

  4. 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.

  5. Clicca sul tasto Modifica relazione 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.
  6. Chiudi la finestra Modifica relazione .
  7. Ripetere i passaggi da 4 a 6 per aggiungere dataset, se necessario.
  8. Clicca su Finisci per creare la relazione.

Il dataset nuovo è aggiunto alla finestra dei dati.

Crea una relazione con l'ingegneria dei dati

Insights desktop
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:

  1. Aprire una cartella di lavoro dei dati in Insights desktop e aggiungere dati, se necessario.
  2. Nella barra degli strumenti della cartella di lavoro dei dati, fai clic sul pulsante Crea relazioni Crea relazioni.

    La finestra Crea relazioni appare.

  3. Nella barra degli strumenti laterale, fai clic sul pulsante Riquadro dati Riquadro dati per aprire il riquadro dei dati, se necessario.
  4. Nel riquadro dei dati, seleziona il primo dataset da unire.
  5. 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.

  6. Clicca sul tasto Modifica relazione 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.
  7. Chiudi la finestra Modifica relazione .
  8. Ripetere i passaggi da 5 a 7 per aggiungere dataset, se necessario.
  9. Facoltativamente, fare clic su Anteprima per creare una visualizzazione del dataset del risultato in base ai parametri di unione attuali.
  10. 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 OrdineID RamoQuantità 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 RamoPosizione 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 OrdineID RamoQuantità totale ($)Metodo di pagamentoPosizione 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 OrdineID RamoQuantità totale ($)Metodo di pagamentoPosizione 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 OrdineID RamoQuantità totale ($)Metodo di pagamentoPosizione 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 OrdineQuantità totale ($)Metodo di pagamentoID RamoPosizione 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.