Ogni riga in una tabella di database deve essere identificabile in modo univoco per essere utilizzata in Insights Viene utilizzata la seguente logica nella determinazione delle colonne da utilizzare per identificare l'unicità:
- Cercare una chiave primaria. Se ne viene trovata una, utilizzare le colonne che definiscono la chiave primaria.
- Cercare un indice contrassegnato come univoco. Se ne viene trovato uno, utilizzare le colonne che definiscono l'indice.
Suggerimento:
Potrebbero verificarsi risultati imprevisti se viene utilizzato un indice univoco e i valori null vengono inclusi nelle colonne selezionate. È una procedura consigliata definire una chiave primaria per tutte le tabelle. Se non è possibile definire una chiave primaria, le colonne che partecipano a un indice univoco dovrebbero essere contrassegnate nel database come not null.
Se i suddetti criteri non vengono rispettati, quando si seleziona la tabella da aggiungere ad una cartella di lavoro apparirà un'icona di avviso, e dovrà essere applicato un identificatore univoco. Un identificatore univoco è un campo o una combinazione di campi che identificano in modo univoco ogni riga nei dati. Qualora venga usato un solo campo, tale campo dovrà contenere solo valori univoci e non potrà contenere valori null. Qualora vengano utilizzati campi multipli, i campi individuali non richiederanno solo valori univoci, ma la combinazione delle righe dovrà sempre essere univoca.
Un identificatore univoco può essere creato utilizzando stringhe o colonne intere. Non è possibile scegliere come identificatore univoco la data, il float e le doppie colonne.
Esempi
La tabella che segue contiene dati di vendita di una catena di vendita al dettaglio. La tabella include un numero negozio, lo stato in cui si trova il negozio e l'importo delle vendite totali. Due dei campi, Numero negozio e Vendite totali, contengono tutte valori univoci e nessun null. L'altro campo, Stato, non contiene valori univoci. In questo caso, il campo Numero negozio deve essere utilizzato come identificatore univoco, in quanto ogni negozio è elencato solo una volta ed è noto che il Numero negozio sarà sempre univoco per ogni negozio.
Numero negozio | Stato | Vendite totali |
---|---|---|
1001 | Colorado | 1.583.296,29 |
1002 | Colorado | 1.938.495,84 |
1003 | Wyoming | 1.439.752,57 |
1004 | Montana | 2.583.485,83 |
1005 | Montana | 928.573,67 |
Qualora un singolo campo non soddisfi i requisiti per un identificatore univoco, o se non si ha la sicurezza che i valori nel campo rimarranno sempre univoci, è possibile combinare più campi per creare voci univoche. La tabella seguente include il numero di articoli in magazzino in ogni negozio. Contrariamente dall'esempio precedente, il campo Numero negozio non è univoco, in quanto ci sono diversi articoli in magazzino per negozio. Anche il campo ID articolo non è univoco. Il campo Quantità è attualmente univoco, ma il numero di articoli in magazzino in un negozio è destinato a cambiare, e non sarà sempre univoco. Quindi quel campo non dovrà essere utilizzato come un identificatore. Un identificatore migliore sarebbe una combinazione dei campi Numero negozio e ID articolo, poiché ogni articolo viene elencato una sola volta per negozio.
Numero negozio | ID elemento | Quantità |
---|---|---|
1001 | 123456 | 20 |
1001 | 234567 | 5 |
1001 | 345678 | 16 |
1002 | 123456 | 11 |
1002 | 234567 | 0 |
1002 | 345678 | 21 |
Scegliere un identificatore univoco
Completare i passaggi che seguono per applicare un identificatore univoco dalla tabella del database:
- Fare clic sull'icona di avviso
Apparirà la finestra Scegliere un identificatore univoco La finestra mostra i campi non spaziali nella tabella del database che non con contiene valori null, né il tipo di campo.
- Effettuare una delle seguenti operazioni:
- Se sai quale colonna o combinazione di colonne è meglio per creare un identificatore unico, seleziona i campi.
- Se non si sa quale colonna o combinazione di colonne è meglio per creare un identificatore unico, clicca sul pulsante Analizza per scansionare la tabella per le colonne che contengono tutti i valori unici. Le colonne che contengono valori unici sono indicate con la seguente icona:
- Qualora la tabella non abbia colonne che possano essere utilizzate come un identificatore univoco, o se non si desidera creare un identificatore univoco dai campi esistenti, è possibile scegliere Copia la tabella del database e creare una chiave primaria.
- Fare clic su Applica.
Creare una chiave primaria
Alcune tabelle del database non includono colonne che possono essere utilizzate come un identificatore univoco. Pertanto, dovrà essere creata una chiave primaria prima che la tabella possa essere utilizzata in Insights. Per queste tabelle, è necessario selezionare Copia la tabella del database e creare una chiave primaria.
Insights non modifica i dati nelle tabelle del database, inclusa l'aggiunta di una colonna di chiave primaria. Prima che venga applicata la chiave primaria, viene creata una copia della tabella del database. La posizione della tabella del database copiato dipende dalle autorizzazioni per la connessione al database. Per connessioni in lettura/scrittura, la tabella copiata viene conservata nel database. Per connessioni in sola lettura, la tabella viene copiata e conservata nella cartella di lavoro Insights. I dataset copiati in una cartella di lavoro avranno la stessa funzionalità dei feature layer hosted o dei file caricati.