Le relazioni vengono utilizzate per unire gli attributi di due o più dataset in base ai campi o alle posizioni comuni. Le relazioni possono essere utilizzate per aggiungere gli attributi di una tabella di riferimento 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.
Per creare una relazione in ArcGIS Insights, è necessario aggiungere alla pagina due o più dataset supportati con campi comuni.
Informazioni sulle relazioni
Insights consente di unire dati di due o più dataset utilizzando un campo o una posizione comune nella finestra Crea relazioni. Ad esempio, è possibile associare un dataset di transazioni di vendita a un dataset contenente informazioni sul negozio identificando un campo comune (ad esempio, il numero di negozio). Il campo comune identifica quali righe di ciascun dataset saranno unite e il tipo di relazione stabilisce quali righe vengono mantenute nel dataset unito.
Di seguito sono riportati quattro tipi di relazioni che è possibile utilizzare per unire i dataset:
- Interno
- Tutto (join esterno completo)
- A sinistra (join esterno sinistro)
- A destra (join esterno destro)
Nota:
I join spaziali (join creati utilizzando campi di posizione) vengono creati utilizzando Interseca come relazione spaziale. Tuttavia, è possibile selezionare Interna, Tutto, A sinistra o A destra come tipo di relazione.
Il dataset unito viene visualizzato come un dataset di risultati nel riquadro dei dati. Il dataset unito consente di espandere l'analisi utilizzando i dati da tutti i dataset uniti come un singolo layer.
Nell'ambito di un dataset unito, cardinalità indica le relazioni tra i dataset. Nella finestra Crea relazioni, analizzare la cardinalità tra i dataset, che può essere uno-a-uno, molti-a-uno o molti-a-molti. La cardinalità non ha alcuna influenza sul tipo di relazione creata, ma ha delle implicazioni per i campi che è possibile aggregare nel dataset unito o per il campo scelto da visualizzare sulla mappa.
Insights suggerisce anche un campo comune quando si scelgono i dataset che si desidera unire. Se non è suggerito alcun campo, è possibile selezionare i campi che si desidera utilizzare per la relazione.
Dati supportati
I seguenti tipi di dati possono essere utilizzati per creare relazioni:
- Feature layer ospitati
- 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 possono essere create con feature layer remoti, come i layer ArcGIS Living Atlas.
I dataset del database devono provenire dallo stesso database e dalla stessa istanza per essere compatibile per l'unione. Gli altri dataset devono essere memorizzati nello stesso Data Store per poter essere uniti.
Se i dataset non sono compatibili con l'unione o sono memorizzati in Data Store separati, è possibile copiare i dataset nella cartella di lavoro e utilizzare i dataset copiati per creare la relazione.
Creare una relazione
Per informazioni su come creare una relazione per unire i dataset, è possibile completare i passaggi riportati di seguito o seguire un caso di utilizzo di esempio come guida nell'intero processo, inclusi risultati e descrizioni per ciascun tipo di relazione.
- Fare clic sul pulsante Crea relazioni sopra al riquadro dati.
Si apre la finestra Crea relazioni e viene mostrato un elenco di dataset per la pagina corrente in Dati personali.
- In Dati personali fare clic su uno o più dataset che si desidera unire.
Nota:
Se si intende utilizzare i tipi di relazione A sinistra o A destra, assicurarsi che il dataset di sinistra o di destra sia nel posto giusto. Il dataset scelto per primo verrà visualizzato sulla sinistra dopo averlo aggiunto alla pagina.Suggerimento:
Si consiglia di posizionare il dataset che ha il livello più fine di dettagli (il più granulare) sulla sinistra. Per il caso di utilizzo di esempio descritto di seguito, il dataset StoreTransactions dovrebbe essere sulla sinistra.
Quando si seleziona il primo dataset, la vista viene aggiornata in modo da mostrare solo i dataset che sono idonei a una relazione.
Insights analizza i dataset aggiunti e suggerisce un campo da utilizzare per il join in base al tipo di dati contenuti e al nome del campo. Se un campo viene suggerito, le miniature che rappresentano ciascun dataset vengono unite tramite una linea e viene visualizzato il campo suggerito su ciascuna miniatura.
- Effettuare una delle seguenti operazioni:
- Se il campo suggerito è accettabile e si desidera utilizzare il tipo di relazione predefinito (Interna), procedere con il passaggio finale.
- Se si desidera utilizzare un campo diverso, aggiungere un altro campo da unire o scegliere un tipo di relazione diverso, quindi andare al passaggio successivo.
- Se non è possibile rilevare un campo comune, appare una linea tra le miniature di dataset e viene visualizzata la finestra Crea relazione in cui è possibile scegliere i campi comuni. Procedere con il passaggio 5.
- Per modificare le proprietà delle relazioni, ad esempio scegliendo un campo diverso, aggiungendo altri campi da unire o modificando il tipo di relazione, fare clic sul pulsante Modifica relazione sulla linea della relazione che collega le miniature dei dataset.
- Scegliere un campo diverso in uno o più dataset oppure scegliere un tipo di relazione differente, quindi fare clic su fuori dalla finestra di dialogo Proprietà relazione.
- Facoltativo: se la relazione richiede una chiave composita, è possibile aggiungere altri campi utilizzando il pulsante Aggiungi campi in Scegli campi.
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.
- Effettuare una delle seguenti operazioni:
- Fare clic su Fine (in basso a destra) per procedere con la relazione.
- Fare clic su Annulla per annullare la relazione corrente.
Facendo clic su Fine, la finestra Crea relazioni viene chiusa. Si aggiunge un nuovo dataset di risultati con i dati aggiunti al riquadro dei dati.
Caso d'uso di esempio
In questa sezione si descrive un caso d'uso di esempio che mostra il modo in cui è possibile creare una relazione tra due dataset per rispondere a domande specifiche e il modo in cui ciascuna relazione influisce sui dati nel dataset unito.
Le domande sono le seguenti:
- Qual è il ricavato delle vendite per negozio?
- Dove si trova il più grande negozio all'ingrosso della città?
Ci sono due dataset sulla pagina della cartella di lavoro che consentono di rispondere a questa domanda. Il primo è la seguente tabella Excel che mostra le transazioni dei tre negozi:
OrderID | StoreID | TotalAmount | PaymentMethod |
---|---|---|---|
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 |
Il solo dataset StoreTransactions potrebbe fornire un riepilogo dei TotalAmount per StoreID (se si cambia StoreID in un campo stringa e si crea un grafico a barre); tuttavia, per motivi di chiarezza, è preferibile un report che mostra i TotalAmount per nome di negozio quando occorre condividere i risultati dell'analisi con i team dell'organizzazione.
Inoltre, il dataset StoreTransactions non può mostrare le posizioni dei negozi su una mappa.
Il secondo è un Feature Layer che mostra le seguenti sei posizioni di negozi:
StoreID | StoreName |
---|---|
1 | Carrelli e custodie |
2 | Giocattoli! Giocattoli! Giocattoli! |
3 | Le piante di Robert |
4 | Libreria-caffetteria di Aisha |
5 | Gadget e aggeggi |
6 | Hardware e costruzione di Sally |
Questi dataset presentano i dati a due diversi livelli di dettagli. Il primo dataset presenta i dati a livello di transazione, ovvero un livello più dettagliato della seconda tabella che mostra i dati a livello di negozio.
Come risultato, i record duplicati (righe) appaiono nella colonna StoreID in StoreTransactions, mentre StoreLocations ha solo record univoci nella colonna StoreID. Ci sono molte transazioni per negozio. Questo è ciò viene indicato come una relazione molti a uno, un tipo particolare di cardinalità tra i dataset.
Osservando i dati, sembra che StoreID sia il miglior campo da utilizzare per creare una relazione tra questi due dataset.
Per rispondere alle domande per questo caso d'uso, è necessario effettuare quanto segue:
- Considerare l'effetto che ciascun tipo di relazione ha sul dataset unito risultante.
- Seguire le istruzioni in Creare una relazione (sopra) per creare la relazione più adatta per i dataset di input.
- Visualizzare i dati uniti per rispondere alle domande.
- Utilizzando i campi StoreName e TotalAmount del dataset unito, creare un grafico a barre o una tabella di riepilogo per aggregare i campi. Le vendite sono aggregate in base al nome di ciascun negozio.
- Creare una mappa di simboli graduati, utilizzando il campo TotalAmount.
Tipi di relazione
Il tipo di relazione utilizzato, insieme al campo comune scelto, determina i record che vengono mantenuti nel dataset unito. Le seguenti sottosezioni danno un'idea di come sembrerà il dataset unito in base al tipo di relazione.
Tipo di relazione Interna
Se è stato utilizzato il tipo di relazione predefinito durante l’esecuzione dei passaggi dello strumento Crea una relazione (sopra), il dataset unito utilizza il tipo di relazione Interna.
La relazione Interna mantiene solo i record che soddisfano entrambi i dataset. I record Null non vengono aggiunti.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credito | 1 | Carrelli e custodie |
1295 | 1 | $103.86 | Credito | 1 | Carrelli e custodie |
1316 | 3 | $97.81 | Carta di debito | 3 | Le piante di Robert |
1406 | 2 | $103.24 | Credito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1421 | 2 | $44.95 | Contanti | 2 | Giocattoli! Giocattoli! Giocattoli! |
1426 | 2 | $153.71 | Carta di debito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1454 | 3 | $168.95 | Credito | 3 | Le piante di Robert |
I record esclusi erano i record per StoreID da 4 a 6 del dataset StoreLocations.
L'utilizzo del tipo di relazione predefinita è un'ottima scelta per rispondere alle domande suddette del caso d'uso di esempio. Il tipo di relazione Interna fornisce dati che non mostreranno valori nulli durante la visualizzazione dei propri dati.
Tipo di relazione Tutto
Il tipo di relazione Tutto (join esterno completo) mantiene tutti i record di entrambi i dataset e tratta i record che non contengono corrispondenze come valori nulli.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credito | 1 | Carrelli e custodie |
1295 | 1 | $103.86 | Credito | 1 | Carrelli e custodie |
1316 | 3 | $97.81 | Carta di debito | 3 | Le piante di Robert |
1406 | 2 | $103.24 | Credito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1421 | 2 | $44.95 | Contanti | 2 | Giocattoli! Giocattoli! Giocattoli! |
1426 | 2 | $153.71 | Carta di debito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1454 | 3 | $168.95 | Credito | 3 | Le piante di Robert |
5 | Gadget e aggeggi | ||||
6 | Hardware e costruzione di Sally | ||||
4 | Libreria-caffetteria di Aisha |
Il dataset risultante contiene valori nulli nelle colonne che hanno origine dal dataset di sinistra (StoreTransactions) per i record corrispondenti agli StoreID 4, 5 e 6 del dataset di destra (StoreLocations). Ciò perché non ci sono record corrispondenti per gli ID store nel dataset di sinistra.
Tipo di relazione A sinistra
Quando si utilizza il tipo di relazione A sinistra (join esterno sinistro), è necessario verificare che il dataset di cui si desidera mantenere i record si trovi sul lato sinistro della finestra Crea relazioni selezionando per primo questo dataset. Per ulteriori informazioni, consultare Creare una relazione.
I record che corrispondono a quelli del dataset sulla sinistra (StoreTransactions) sono mantenuti, insieme ai record corrispondenti del dataset sulla destra (StoreLocations). Se non viene trovata alcuna corrispondenza sulla destra, il lato destro contiene valori nulli.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credito | 1 | Carrelli e custodie |
1295 | 1 | $103.86 | Credito | 1 | Carrelli e custodie |
1316 | 3 | $97.81 | Carta di debito | 3 | Le piante di Robert |
1406 | 2 | $103.24 | Credito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1421 | 2 | $44.95 | Contanti | 2 | Giocattoli! Giocattoli! Giocattoli! |
1426 | 2 | $153.71 | Carta di debito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1454 | 3 | $168.95 | Credito | 3 | Le piante di Robert |
Questo dataset unito appare esattamente uguale al tipo di relazione Interna. Per rispondere alle domande riguardanti il caso d'uso di esempio, è possibile utilizzare il tipo di relazione A sinistra o Interna per creare una relazione tra le due tabelle e creare un grafico a barre che non mostrerà valori nulli.
Se il lato sinistro (StoreTransactions) conteneva un record per StoreID 7, che non è nel dataset StoreLocations sulla destra, un join A sinistra avrà record nulli sulla destra.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credito | 1 | Carrelli e custodie |
1295 | 1 | $103.86 | Credito | 1 | Carrelli e custodie |
1316 | 3 | $97.81 | Carta di debito | 3 | Le piante di Robert |
1406 | 2 | $103.24 | Credito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1421 | 2 | $44.95 | Contanti | 2 | Giocattoli! Giocattoli! Giocattoli! |
1426 | 2 | $153.71 | Carta di debito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1454 | 3 | $168.95 | Credito | 3 | Le piante di Robert |
1502 | 7 | $112.65 | Contanti |
Tipo di relazione A destra
Quando si utilizza il tipo di relazione A destra (join esterno destro), è necessario verificare che il dataset di cui si desidera mantenere i record si trovi sul lato destro della finestra Crea relazioni selezionando per primo il dataset di sinistra e poi quello di destra. Per ulteriori informazioni, consultare Creare una relazione.
I record che corrispondono a quelli del dataset sulla destra (StoreLocations) sono mantenuti, insieme ai record corrispondenti del dataset sulla sinistra (StoreTransactions). Se non viene trovata alcuna corrispondenza a sinistra, il lato sinistro contiene valori nulli.
OrderID | StoreID | TotalAmount | PaymentMethod | StoreID | StoreName |
---|---|---|---|---|---|
1204 | 1 | $91.48 | Credito | 1 | Carrelli e custodie |
1295 | 1 | $103.86 | Credito | 1 | Carrelli e custodie |
1316 | 3 | $97.81 | Carta di debito | 3 | Le piante di Robert |
1406 | 2 | $103.24 | Credito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1421 | 2 | $44.95 | Contanti | 2 | Giocattoli! Giocattoli! Giocattoli! |
1426 | 2 | $153.71 | Carta di debito | 2 | Giocattoli! Giocattoli! Giocattoli! |
1454 | 3 | $168.95 | Credito | 3 | Le piante di Robert |
5 | Gadget e aggeggi | ||||
6 | Hardware e costruzione di Sally | ||||
4 | Libreria-caffetteria di Aisha |
Il grafico a barre risultante dal suddetto dataset unito a destra conterrà valori nulli.